Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Fail-closed Cedar policy gate + Ed25519 signed receipts for agent tool calls. Denies on any error.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"protect": {
"command": "npx",
"args": [
"-y",
"protect-mcp",
"mcp"
]
}
}
}ターミナルでこれを実行します
claude mcp add protect -- npx -y protect-mcp mcpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"protect": {
"command": "npx",
"args": [
"-y",
"protect-mcp",
"mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"protect": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"protect-mcp",
"mcp"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名はドメイン scopeblind.com で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.32.4)がレジストリに届いたのは12 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, SwarmMemo
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ 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.
Talk with agent swarms: rooms, private messages and paid tasks for AI agents
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Local policy enforcement and signed decision receipts for AI agent tool calls.
Developer page · Quickstart · Agent setup · Policy packs · Sample record · Integrations · Documentation · Contribute
Put the gateway between an MCP client and its tool server, or use its hooks in a coding agent. Review a Cedar policy, enable enforcement, and keep a signed record of the decisions. Local evaluation and verification need no ScopeBlind account and send no decision telemetry.
--enforce when ready to block.A gateway covers calls routed through it. It is not an OS sandbox, and a signed receipt does not establish that an action executed or that no action was omitted. The security policy describes the boundary and reporting process.
A real local run: evaluate two proposed calls, sign the decisions, verify the receipts, then change a signed decision and check it again.
Watch the 14-second walkthrough
Text walkthrough and reproduction · Captured results
Use Node.js 22 and npm in a new directory. Install the pinned gateway and verifier:
mkdir protect-mcp-demo
cd protect-mcp-demo npm init -y npm install --save-exact protect-mcp@0.32.4 @veritasacta/verify@0.11.0
This example evaluates two proposed calls and signs their decisions. It does not execute either tool or run git push. Everything after installation is local.
# Create a starter policy and a private signing key.
npx --no-install protect-mcp init --starter
npx --no-install protect-mcp evaluate --policy ./protect.cedar --tool Read --input '{"path":"README.md"}' npx --no-install protect-mcp evaluate --policy ./protect.cedar --tool Bash --input '{"command":"git push --force origin main"}' || test "$?" -eq 2
npx --no-install protect-mcp sign --cedar builtin:starter --tool Read --input '{"path":"README.md"}' --key ./protect-mcp.key --receipts ./receipts npx --no-install protect-mcp sign --cedar builtin:starter --tool Bash --input '{"command":"git push --force origin main"}' --key ./protect-mcp.key --receipts ./receipts
PROTECT_MCP_PUBLIC_KEY=$(node -p 'JSON.parse(require("fs").readFileSync("protect-mcp.key", "utf8")).publicKey') npx --no-install verify --replay-chain ./receipts/receipts.jsonl --key "$PROTECT_MCP_PUBLIC_KEY" --json
node -e 'const fs=require("fs");const r=JSON.parse(fs.readFileSync("receipts/receipts.jsonl","utf8").trim().split("\n")[1]);r.payload.decision="allow";fs.writeFileSync("tampered.json",JSON.stringify(r))' npx --no-install verify tampered.json --key "$PROTECT_MCP_PUBLIC_KEY" --json || test "$?" -eq 1
<!-- readme-smoke:end -->
Expected: allow, then deny; both original receipt signatures and their link verify; the modified receipt reports invalid_signature. Keep protect-mcp.key private. To verify someone else's record, obtain their expected public key through an independent trusted channel.
Verifier exit codes are 0: valid, 1: invalid, 2: not checked/error. An invalid result is not necessarily tampering: the wrong expected key can also fail verification. Chain replay checks the supplied links; it does not establish that you received the entire history.
CI runs this exact example against the packed candidate and the pinned published verifier. See validation and releases.
Choose the integration that matches your host and the coverage you need. Installing guidance skills does not enable enforcement. doctor checks local configuration; confirm the selected route with a real allowed and blocked call.
For the Claude Code plugin, first prepare and start the local gate, then install it in your project (Claude Code 2.1.295 or later):
claude plugin install protect-mcp --marketplace ScopeBlind/scopeblind-gateway --scope project
The plugin blocks routed tool calls while its gate is unavailable. Choose the plugin or standalone project hooks, so the same call is not recorded twice.
| Use case | Start here |
|---|---|
| Wrap an existing MCP server | MCP setup and shadow-to-enforce workflow |
| Claude Code enforcement plugin | Plugin setup and local gate |
| Claude Code project hooks | Hook setup |
| Cursor project preview | Explicit setup, tool mapping and host checks |
| ChatGPT / Codex assistant preview | Setup guidance and a harmless verification demo, with no hooks |
| Existing Claude directory guidance plugin | Published plugin source, separate from enforcement |
| Call the policy evaluator as MCP tools | The gate as an MCP server |
| Host an HTTP gateway | HTTP deployment notes |
Host compatibility and release status separates adapter tests from real-host validation. The Cursor and assistant packages are previews, not public directory listings. The standalone hook-format fixes ship in 0.32.4; its changelog lists what changed for each format. A format flag alone does not establish a working Codex, Gemini or Hermes integration.
For an existing MCP server, initialize its configuration in a separate directory from the example above, then run the wrapper with your server command:
npx --yes protect-mcp@0.32.4 init
npx --yes protect-mcp@0.32.4 --policy ./protect-mcp.json -- node your-mcp-server.js
This starts in shadow mode. Review the observed calls and policy before adding --enforce. wrap prints client configuration and exits; it is not the launch command. Full setup instructions.
Starter shell rules inspect command text. They are useful guardrails, but can miss alternate command spellings and can match harmless quoted text. Review the starter policy's coverage and limits before relying on it.
| Project | Connection |
|---|---|
| Microsoft AI Agents for Beginners | Educational contribution. protect-mcp's maintainer authored Lesson 18 on signing, verifying and chaining agent receipts. |
| Cedar for Agents | Upstream contribution. Contributed the WASM bindings that expose Cedar's Rust MCP schema generator to JavaScript and TypeScript. |
| wshobson/agents | Downstream integration. Ships a protect-mcp plugin with Claude Code policy and receipt hooks. |
| TRACE | Interoperability checks. Publishes Acta decision-receipt fixtures; our verifier reports its results against a pinned snapshot. |
Sources, versions and check coverage.
0.32.0 closes several ways around the gate. Some of them change how you start it:
--http listens on 127.0.0.1, and every request except GET /health needs Authorization: Bearer . Set the same PROTECT_MCP_HTTP_TOKEN (at least 32 characters) for the gateway and for the client or ingress that calls it. Use --host only when you mean to expose the port beyond this machine.--enforce refuses to start when signing is configured but its key is missing or unreadable, and refuses an allowed call whose receipt cannot be signed.--cedar with --policy applies both: a call needs a Cedar permit and must also pass that file's block, require_approval, rate limits and min_tier. Signing and credentials come from that file.chmod 600 keys/gateway.json; the gateway warns until you do.POST /approve names the exact action: the Request ID the gateway prints, tool:payload_hash. The approval nonce is on the gateway's stderr only.See the changelog for every change.
Start with a bounded [help-wanted task](https://github.com/ScopeBlind/scopeblind-gateway/issues?q=is%3Aissue%20is%3Aopen
冒頭だけを表示しています。続きはリポジトリで読めます