ShadowRun
ShadowRun
MCPサーバー向けのローカルファーストなstdioプロキシです。AIエージェント(Claude Code、Cursorなど)と実際のMCPサーバーの間に配置され、破壊的なツール呼び出し(書き込み、削除、SQL変更など)が実行される前に捕捉し、ローカルダッシュボードでコミットまたは破棄するまでメモリ内に保持します。
単純な「偽の成功」インターセプターとは異なり、ShadowRunは捕捉された呼び出しが解決されるまでエージェントに応答しません。例えばINSERT ... RETURNING idに対して応答を偽装すると、エージェントはまだ存在しないデータに基づいて行動し、現実との信念状態が乖離します。そのため、捕捉された呼び出しは単に(タイムアウト付きで)待機します。
スコープ(v0.1)
これは意図的に狭い範囲に絞られています:Claude Code / Cursorで使用するローカルMCPサーバー(Postgres、ファイルシステムなど)向けの単一開発者向けCLIです。チーム向けのポリシー適用ゲートウェイではなく、認証機能もなく、再起動後も持続する機能もありません。自分のマシン以外で使用する前に、以下の制限事項を参照してください。
Related MCP server: Agentrim MCP
インストールと実行
npm install
npm run build実際のサーバーの代わりにプロキシを指すようにエージェント設定を変更します:
{
"mcpServers": {
"postgres": {
"command": "node",
"args": [
"/path/to/shadowrun-mcp/dist/index.js",
"npx", "-y", "@modelcontextprotocol/server-postgres",
"postgresql://localhost:5432/devdb"
]
}
}
}http://127.0.0.1:4040 を開いて保留中の変更を確認し、それぞれをコミットまたは破棄します。読み取り専用の呼び出し(get*、list*、search*など)は即座に通過し、ダッシュボードには表示されません。
分類の仕組み
src/interceptor.ts — DEFAULT_CONFIG を参照してください。ツール呼び出しは、その名前が変更動詞パターン(write、delete、createなど)に一致し、かつ安全な読み取りパターンに一致しない場合、または任意の文字列引数にSQL変更キーワード(insert into、drop tableなど)が含まれている場合に捕捉されます。これはヒューリスティックであり、保証ではありません。制限事項を参照してください。
制限事項
ヒューリスティックな分類器。 ツール名と引数テキストに対する正規表現では、巧妙に命名された変更ツールを見逃したり、奇妙な名前の読み取りツールを過剰に捕捉したりする可能性があります。これはセキュリティ境界ではなく、スピードバンプとして扱ってください。
ダッシュボードに認証なし。
127.0.0.1のみにバインドされますが、そのポートに到達できるローカルプロセス(または理論上はDNSリバインディングを行う悪意のあるページ)はコミット/破棄できます。共有マシンや信頼できないマシンでは実行しないでください。メモリ内のみ。 プロキシを再起動すると、保留中のすべての変更が失われます。エージェントの元の呼び出しは単にタイムアウトします。
単一開発者、ローカル使用。 共有監査ログやチーム全体のポリシー適用はありません。それらが必要な場合は、代わりにホスト型MCPゲートウェイを検討してください。
ライセンス
AGPL-3.0
This server cannot be deployed
Maintenance
Related MCP Connectors
Security & DLP proxy for MCP: tool-poisoning scans, PII redaction on tool args/results. Beta.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceZero-dependency local proxy that wraps any MCP server to redact secrets, strip hidden-Unicode prompt injection, and block writes to protected paths like ~/.ssh and .env.4MIT
- AlicenseNot gradedqualityBmaintenanceA least-privilege enforcement proxy for MCP servers. It sits between MCP clients and upstream servers, enforcing tool policies, hiding denied tools, requiring human approval for risky actions, and providing a structured audit trail.MIT
- AlicenseNot gradedqualityDmaintenanceA zero-infrastructure, local proxy that wraps any stdio MCP server to add audit logging, policy enforcement with regex guards, and per-session/per-day budgets.MIT
- AlicenseNot gradedqualityAmaintenanceAn MCP proxy that records every tool call, restores prior state on undo, and blocks irreversible actions until a human approves them.1,238 npm2MIT