Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Honest claim corroboration for AI agents: syndication-aware independent-source counting.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"corroborate": {
"command": "npx",
"args": [
"-y",
"corroborate-mcp"
]
}
}
}ターミナルでこれを実行します
claude mcp add corroborate -- npx -y corroborate-mcpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"corroborate": {
"command": "npx",
"args": [
"-y",
"corroborate-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"corroborate": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"corroborate-mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント chefcohen で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.3)がレジストリに届いたのは2 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, LexPact UK Contracts
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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.
Generate UK-law contracts: NDA, service, freelance, recruiter terms of business, IR35.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
The honest corroboration layer for AI agents. Hand it a claim; it tells you how *independently* that claim is actually being reported — and shows its work.
An AP story echoed by 40 outlets is one origin, not 40 citations. Other verifiers count citations; Corroborate counts independent *origins* — syndication-aware — then publishes its own error rates and discloses coverage gaps. That's the judgment layer raw search and citation-checkers skip.
corroborate_claim("NASA delayed the Artemis III landing") → CONFIRMED 4 independent origins · conf 0.9
corroborate_claim("Zorblatt Corp acquired Portugal") → UNCORROBORATED 0 origins · conf 0.05
Not a web search engine (use Exa/Tavily/Brave for that) and not a human fact-checking network. It's the narrow, honest primitive in between: *how independently is this reported?*
| 🔑 Zero API keys, zero accounts | Keyless engines (Google News RSS · GDELT · Hacker News). Nothing to sign up for. |
| 👁 Read-only | It reads public news. It cannot act, write, spend, or touch your data. |
| 🎯 Deterministic | No LLM in the loop — same evidence in, same verdict out. p50 ~0.4s. |
| 📖 Open source (MIT) | Read every line of the judgment. |
| 📊 Published error rates | We measure our own false-CONFIRMED / false-UNCORROBORATED rates on a public benchmark and print them below. Most "fact-check" tools don't. |
| 🚫 Never lies by omission | If sources are unreachable it returns an error, never a fake "UNCORROBORATED." |
*Reporting corroboration*, not truth. A claim every outlet syndicated from one wire story comes back SINGLE_SOURCE. A claim nobody covers comes back UNCORROBORATED even if true. The verdict states exactly what was measured, flags its weaknesses in notes, and sets coverage:"degraded" when an engine was down — so absence of evidence is never quietly sold as evidence of absence.
Requires Node ≥ 18. No keys, no config.
Claude Code
claude mcp add corroborate -- npx -y corroborate-mcp
Claude Desktop / Cursor / any MCP client (claude_desktop_config.json, .cursor/mcp.json, …)
{ "mcpServers": { "corroborate": { "command": "npx", "args": ["-y", "corroborate-mcp"] } } }
Try it with no MCP client
npx corroborate-mcp # starts the stdio server (silent = healthy)
corroborate_claim — the verdict{ claim, window_days?=7, max_sources?=8 } →
{
"claim": "Acme Corp acquires Widget Industries for $2 billion", "corroboration": "CONFIRMED", "n_independent_sources": 3, "confidence": 0.9, "coverage": "full", "sources": [ { "headline": "Acme Corp to acquire Widget Industries in $2 billion deal", "outlet": "Financial Times", "domain": "ft.com", "url": "https://…", "published_at": "2026-07-09T14:02:00Z", "age_days": 0.9, "wire": false, "echoed_by_n_domains": 1 } ], "notes": ["syndication detected: near-identical headlines across multiple domains collapsed into one origin"], "method": "reporting-corroboration: counts INDEPENDENT story origins (syndication-aware), not raw article count; does not adjudicate truth" }
| Field | Meaning |
|---|---|
corroboration | CONFIRMED (≥2 independent origins) · SINGLE_SOURCE (1) · UNCORROBORATED (0) |
n_independent_sources | Distinct story *origins* after syndication clustering — not article count |
confidence | 0–1. Rises with origins + cross-engine agreement; penalized for wide single-origin echo |
coverage | full, or degraded when an engine failed this call — a weak verdict may then reflect the outage, not the claim |
sources[].wire | Origin is a wire service (AP/Reuters/AFP/UPI) |
sources[].echoed_by_n_domains | How many domains carried this same story |
notes | Honest caveats: syndication collapse, breaking-news cascade (<24h), relevance-gate discards, engine outages |
find_sources — the raw evidence{ query, window_days?=7, max_sources?=10 } → deduped multi-engine list (outlet, domain, url, date), no verdict. The cheaper primitive when you want the coverage and your own judgment.
Against a public 40-claim labeled benchmark (benchmark/ — claims, labels, category definitions, and harness are all public; run it yourself with npm run benchmark). The time-sensitive claims are refreshed from current news so the numbers reflect real accuracy, not staleness. Latest run 2026-07-22:
| Metric | Result |
|---|---|
| Fabricated claims falsely CONFIRMED | 0/10 |
| Widely-reported true claims missed | 0/12 (11 CONFIRMED, 1 single-source) |
| Niche true claims detected | 7/8 |
| Stale claims correctly windowed | 2/5 |
| Distorted claims falsely CONFIRMED | 6/6 — read the warning ↓ |
| Latency | p50 0.4s · p95 <1s (≤8s worst case when the slow engine is up) |
⚠️ Respect the distorted-claim number — it's the honest ceiling of this tool's blind spot. In the latest run all 6 distorted claims came back CONFIRMED (6/6), because each one distorts a *currently-reported* event, and this tool checks whether independent reporting exists around a claim's topic and entities — it does not do stance detection. So "Samsung *cancelled* the Galaxy Z Fold8" (they unveiled it) or "OpenAI released GPT-6" confirms off the real coverage of the true story. The rule to live by: if a claim's topic is being reported, a distorted version of it will very likely CONFIRM. Read CONFIRMED as *"this topic has independent coverage — now verify the specific facts against the returned sources,"* never as "this exact claim is true." Stance detection is the v1.1 roadmap item. (Recurring events like championships/elections can likewise match the current cycle's coverage — see the stale-claim leaks.)
notes.UNCORROBORATED — a window statement, not a falsity verdict.UNCORROBORATED.npm test # golden-claim suite — deterministic, no network
npm run test:mcp # MCP stdio handshake + tools/list npm run test:live # live invariants against real engines npm run benchmark # 40-claim labeled accuracy benchmark (live, ~2 min) npm run test:release # all of the above — required green before every release