Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Avoid redundant expensive validation. CHECK recent evidence; OBSERVE fresh independent results.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://seenrelay.com/mcp在终端中运行这条命令
claude mcp add --transport http seenrelay https://seenrelay.com/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"seenrelay": {
"url": "https://seenrelay.com/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"seenrelay": {
"type": "http",
"url": "https://seenrelay.com/mcp"
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
ChatGPT 只能连接互联网上的服务器:
https://seenrelay.com/mcp菜单名称可能因套餐和版本不同而略有差异。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 ovladon 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(0.3.10)于2个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, ProAgentStore
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
MCP-first control plane for ProAgentStore agents and private instances.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Decide when you actually need to look again.
SeenRelay measures repeated expensive read-only execution around agents and distributed software. It prefers local/private and source/provider-native controls first, preserves authoritative execution while measuring, and keeps only paths that earn a USE verdict. Start locally with npx seenrelay scan; if no candidate exists or a stronger native control already wins, stop there. DO NOT USE and INSUFFICIENT EVIDENCE are valid outcomes.
Currently free · no account · no SeenRelay API key required.
Terminology: a Savings Report (machine label: Verified Savings Record) is measurement evidence for avoided work and cost provenance. It is not an invoice, bill, charge or payment receipt. Some SDK/API identifiers retain receipt wording for backward compatibility only.
SeenRelay itself requires no account or API key. A third-party client, directory, gateway, or assistant may require its own account to use that third-party service; that is not a SeenRelay access requirement. The canonical direct MCP endpoint is https://seenrelay.com/mcp.
The Proof Atlas shows where SeenRelay has already reduced real provider work under frozen semantic contracts:
The 8-agent result is first-party operating evidence, not external customer adoption, customer ROI or net customer savings; local coordination/integration overhead was not monetized. Other Proof Atlas rows include controlled mechanism results, and a high reduction does not automatically mean the expensive tool was the best baseline. Proof Atlas exposes baseline quality separately. For example, the 64 GB SHA-256, fixed-rule weather, fixed-string LiteLLM, and PyPI-version web-search tests are mechanism-only because cheaper local/source-native solutions exist for those exact benchmark tasks. Negative evidence is published too.
Human-readable proof: https://seenrelay.com/proof Machine-readable proof: https://seenrelay.com/proof.json
SeenRelay is designed around one question: “I already know X — do I need to pay to validate X again now?”
CHECK is not a lookup for somebody else's raw result. The caller supplies the known value, deterministic source-backed fact identity and its own freshness window. SeenRelay reports compatible recent evidence; the caller keeps authority over whether to validate again.
For a small public set of source-backed facts, use the canonical starter descriptors at https://seenrelay.com/starter-facts.json. They publish identity metadata only — no observed values, no recommended TTL and no reuse authorization. Full decision-layer rationale: docs/DECISION_LAYER.md.
If you have a public workload that appears to repeat expensive read-only work, you can ask for a native-first prescreen before installing anything:
https://github.com/ovladon/seenrelay/issues/new?template=audit-my-workload.yml
The first answer may be REJECT BEFORE COLLECTION, MEASURE IN SHADOW, or INSUFFICIENT EVIDENCE. A local, source-native, or provider-native control winning is a successful result.
Claude Code can install SeenRelay persistently from this repository's validated self-hosted marketplace:
claude plugin marketplace add ovladon/seenrelay
claude plugin install --scope user seenrelay@seenrelay
This direct-install path is repository-hosted and does not imply Anthropic marketplace approval. It does not automatically attach the hosted MCP endpoint or enable reuse.
GitHub Copilot CLI can discover the existing portable Agent Plugins package from this repository's self-hosted marketplace:
copilot plugin marketplace add ovladon/seenrelay
copilot plugin install seenrelay@seenrelay
The Copilot route is optional and uses the repository's existing skill and MCP metadata. It does not enable reuse automatically. Marketplace publication does not imply listing in a curated or default catalog, and end-to-end Copilot installation is not yet independently verified.
Other Agent Skills clients can use the canonical domain:
npx skills add https://seenrelay.com --skill seenrelay --yes
Then ask it:
Run a SeenRelay shadow audit on this project. Find repeated expensive read-only validations, preserve every authoritative call, measure stronger local/source/provider-native controls first, do not enable reuse, and return USE / DO NOT USE / INSUFFICIENT EVIDENCE for each measured workload.
Or use the developer paths below. Full audit method: docs/SHADOW_AUDIT.md.
Install: npm install seenrelay · pip install seenrelay · client v0.2.30 · currently free · no account/API key.
Before changing application code, ask whether the repository even contains a plausible recurring expensive read-only validation path:
npx seenrelay scan
The scan is local-only: it does not contact SeenRelay, upload source code or modify the project. It reports only pre-evidentiary states such as CANDIDATE_FOR_SHADOW_MEASUREMENT, NATIVE_CONTROL_FIRST, NEEDS_RUNTIME_EVIDENCE and NO_ELIGIBLE_CANDIDATE_FOUND. Static analysis cannot return USE or authorize reuse.
Teams can expose the same local-only static prescreen in CI without a SeenRelay account or API key:
- id: seenrelay
uses: ovladon/seenrelay-cost-prescreen@v1
The action runs on the GitHub runner, does not contact the SeenRelay service, does not upload source code to SeenRelay, and cannot enable reuse or return a USE verdict. It produces a team-visible job summary plus machine outputs for the static status and next non-mutating decision.
Ambient wraps an existing MCP-style client in local shadow mode. The authoritative call still runs; SeenRelay measures exact repetition and produces a local report.
JavaScript / TypeScript:
npm install seenrelay
import { ambientMcpClient } from 'seenrelay/ambient';
const client = ambientMcpClient(rawMcpClient); // use client.callTool(...) normally console.log(client.seenRelayAmbient.getReport());
Python:
pip install seenrelay
from seenrelay_ambient import ambient_mcp_client
client = ambient_mcp_client(raw_mcp_client)
print(client.get_report())
Run the existing workload and inspect the report before enabling any bounded reuse. Shared CHECK remains optional and off by default in Zero-State.
SeenRelay is a provider-independent reuse layer for repeated read-only validation. It has exactly two hosted domain operations: CHECK and OBSERVE, and reports recent observations rather than universal truth.
Current JavaScript/TypeScript and Python clients include multi-signal shared-evidence assurance helpers, deterministic Fact Coordinate Kit v1 and provider-independent Zero-State. Python Zero-State supports explicit read-only in-flight/local reuse, caller-owned private L1 and source-native conditional validation before authoritative fallback. The classic Python API and Python Ambient adapters remain shadow-first by default. Shared evidence is explicit caller policy, does not prove truth or independent real-world actors, and MCP/OpenAPI coordinates are local repetition keys unless a stable source-native locator supports a shared fact descriptor. Provider-specific adapters are optional.
Even with no shared observation:
Access is currently free and requires no account or API key.
docs/DECISION_LAYER.mdhttps://seenrelay.com/starter-facts.jsondocs/SHADOW_AUDIT.mdclaude plugin marketplace add ovladon/seenrelay then claude plugin install --scope user seenrelay@seenrelaynpx skills add https://seenrelay.com --skill seenrelay --yesnpm install seenrelay or pip install seenrelayclients/typescript/README.mdhttps://seenrelay.com/economicsclients/README.mddocs/CLIENTS.mddocs/QUICKSTART.mddocs/PROTOCOL.mdhttps://seenrelay.com/quickstarthttps://seenrelay.com/clientshttps://seenrelay.com/mcpio.github.ovladon/seenrelayhttps://seenrelay.com/openapi.jsonhttps://seenrelay.com/service.jsonhttps://seenrelay.com/llms.txtFor eligible JavaScript/TypeScript Zero-State calls, the preferred order is:
For direct REST/MCP or the classic wrapper, CHECK and OBSERVE remain available exactly as before.
Possible CHECK statuses are SAME_OBSERVED, CHANGED_OBSERVED, CONTESTED, STALE, and UNKNOWN.
SAME_OBSERVED means the same value was recently observed for the same deterministic fact identity. It is not a truth verdict. The consuming agent decides whether the evidence is sufficient for its own policy.
import { SeenRelayZeroState } from 'seenrelay/zero-state';
const edge = new SeenRelayZeroState({ localMaxAgeMs: 30_000 });
const result = await edge.guard({ coordinate: { tool: 'catalog.read', arguments: { id: 42 } }, validate: async () => expensiveRead() });
console.
只显示了开头部分;其余内容请在仓库中阅读