Skip to main content
Glama

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Zero-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.
    4
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A 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
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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