Skip to content
SeenRelay
Menu
Agent SkillQuickstart
SUPPORTED INTEGRATIONS · CLIENT 0.2.25

Put SeenRelay around the execution path you already have.

The lowest-friction first step is behavior-preserving measurement: wrap an existing tool/runtime boundary or analyze traces you already collect, run the workload normally, then read the local report. Connecting the hosted MCP protocol is separate and does not by itself enable reuse.

INSTRUMENT AN APPLICATION

Start with one behavior-preserving wrapper.

No tool is automatically treated as safe to suppress. Ambient integrations keep the authoritative call and measure exact repetition locally first.

Coding agentAgent Skill

Install the published SeenRelay skill, then ask the coding agent to inspect the project, select a supported adapter, preserve the authoritative call, run existing tests and report repeated eligible workloads.

npx skills add https://seenrelay.com --skill seenrelay --yes
Inspect the skill →
Claude CodePersistent plugin

Install the validated repository-hosted SeenRelay plugin persistently. It provides the same measurement-first contract without automatically attaching the hosted MCP endpoint or enabling reuse.

claude plugin marketplace add ovladon/seenrelay
claude plugin install --scope user seenrelay@seenrelay

This self-hosted path is available now and does not imply Anthropic marketplace approval or listing.

Existing MCP clientJavaScript / TypeScript

One wrapper line adds local shadow measurement. Existing callTool(...) usage stays unchanged.

import { ambientMcpClient } from 'seenrelay/ambient';

const client = ambientMcpClient(rawMcpClient);

// use client.callTool(...) normally
console.log(client.seenRelayAmbient.getReport());

Only after a specific read-only tool is reviewed should seenrelay/mcp-auto be considered for the local-first bind-once path. Shared CHECK is off by default.

JavaScript / TypeScript guide →
Python MCPAmbient / shadow

Python has the same one-wrapper measurement entry point and remains measurement-only.

from seenrelay_ambient import ambient_mcp_client

client = ambient_mcp_client(raw_mcp_client)

# await client.call_tool(...) normally
print(client.get_report())
Python guide →
OpenAI Agents / AI SDKAmbient adapters

Wrap the framework-owned MCP surface rather than rewriting the agent.

// OpenAI Agents JS
const server = ambientOpenAIAgentsMcpServer(rawMcpServer);

// Vercel AI SDK
const { tools, seenRelayAmbient } =
  ambientAiSdkMcpTools(await mcpClient.tools());
Integration quickstart →
OpenTelemetry / OTLPAgent-agnostic census

Analyze explicitly annotated OTLP spans locally without integrating SeenRelay into a specific agent framework.

npx seenrelay otel-trace-census traces.otlp.json --json

Only opaque exact coordinates and explicit SeenRelay policy/economics attributes enter the census. Raw prompts, URLs and payloads are not copied into the report.

OTLP substrate guide →
LangfuseExport census · 0.2.23+

Already have TOOL observations? Run a local exact-recurrence census before adding runtime coordination.

npx seenrelay langfuse-census observations.json --json

Raw tool input is hashed locally. Repeats remain NEEDS_POLICY_REVIEW; recorded TOOL cost is not automatically labeled savings.

Langfuse census →
Generic executionFunctions / dispatchers

For reviewed deterministic read-only work, the provider-independent wrappers can sit below an agent, service, CI worker or scheduled process.

const result = await edge.guard({
  coordinate,
  validate: expensiveReadOnlyWork
});

Exact coordinate design and policy remain caller-owned; no tool name or HTTP method is automatically considered safe.

Execution substrate →
IoT / edgeMeasurement path today

Use generic wrappers or OTLP traces around residual read-only state/metadata validation. Device shadows, subscriptions, retained state and protocol-native mechanisms remain stronger controls when they answer the same question.

No generic actuation suppression is advertised. Control commands and fresh physical-world sensing stay outside automatic coordination.

IoT boundary →
LangChain / PydanticAIFramework adapters

Client 0.2.25 ships local-shadow integration helpers without adding a hosted operation or authorizing reuse.

// LangChain JS
ambientLangChainMcpHooks()

# LangChain / PydanticAI Python
ambient_langchain_mcp_client(client)
ambient_pydantic_ai_toolset(toolset)
Integration quickstart →
Plain read-only functionJavaScript / TypeScript + Python

Use Zero-State when the application directly controls the validation function and can define exact identity and a defensible freshness policy. Client 0.2.25 exposes this local-first path in both languages.

// JavaScript / TypeScript
import { SeenRelayZeroState } from 'seenrelay/zero-state';

// Python
from seenrelay_zero_state import SeenRelayZeroState

Caller-owned private L1 is optional. Python's built-in AES-256-GCM helper is available through seenrelay[crypto]; the base package remains dependency-free.

Zero-State guides →
REMOTE PROTOCOL

Connect CHECK and OBSERVE from the MCP client you already use.

Remote protocol connection only exposes the SeenRelay protocol to that client. It does not instrument an application's existing validation path and does not automatically authorize reuse.

CursorOne click

Open Cursor's MCP install flow with the SeenRelay remote endpoint prefilled.

https://seenrelay.com/mcp
VS Code / GitHub CopilotOne click + CLI

Use VS Code's MCP install URL, or the CLI fallback below.

code --add-mcp '{"name":"seenrelay","type":"http","url":"https://seenrelay.com/mcp"}'
Claude CodeRemote MCP

Alternatively, expose only the hosted CHECK + OBSERVE protocol to Claude Code by adding the public Streamable HTTP endpoint at user scope.

claude mcp add --transport http --scope user seenrelay https://seenrelay.com/mcp

No account or SeenRelay API key is currently required. Connecting MCP alone does not instrument existing validation work.

Other MCP / REST clientsRemote protocol

Any compatible client can connect directly. The hosted domain surface remains exactly CHECK and OBSERVE.

MCP Registry  io.github.ovladon/seenrelay
MCP           https://seenrelay.com/mcp
REST          https://seenrelay.com/v1/check
REST          https://seenrelay.com/v1/observe
OpenAPI →
INTEGRATION MODES

Choose authority deliberately.

The modes differ in what they are allowed to do. A measurement integration can be adopted before any reuse policy is enabled.

Ambient / shadow

The original operation still runs. SeenRelay measures exact repetition and local agreement without authorizing automatic reuse.

Local-first protection

For explicitly reviewed read-only work, JavaScript/TypeScript can coalesce in-flight duplicates and apply explicit local/private or source-native freshness policy before the original validation.

Optional shared CHECK

Shared freshness evidence can be enabled where it adds value beyond local/private and source-native controls. It is an optional accelerator, not a prerequisite.

ELIGIBILITY

Only exact, reviewed read-only work should be considered for suppression.

Do not infer safety from a tool name, description or untrusted annotation. Define the operation, exact identity and freshness contract, and keep the original validation available when the shortcut does not apply.

No account or API key currently requiredThe public service can be tested without provisioning credentials.
Zero required base runtime dependenciesThe base public packages keep their required runtime dependency surface at zero; Python's optional crypto extra adds its documented cryptography dependency.
Machine-readable integration metadataAgent Skill discovery and the local integration catalog expose supported adapters to compatible tooling.
FIRST DEPLOYMENT

Wrap one existing validation path and run it normally.

Read the local report before changing any reuse policy. If exact repetition is not material, no optimization needs to be enabled.