Skip to main content
Glama

mcp-acp-bridge

MCPを話す任意のコーディングエージェントの前面に立つACPサーバー。

ブリッジはエージェント用のMCPサーバーをホストし、エディタやクライアントに対してACPを話します。エージェントが行うすべてのツール呼び出しはブリッジを通過するため、ブリッジは各呼び出しを保留し、まずクライアントに承認を求めることができます。これにより、ツール呼び出しを、それを駆動する任意のUIにおける実際の許可プロンプトに変換します。

client (T3 Code, Zed, …) ──ACP──► bridge ──MCP──► agent (agy, claude, codex, …)
                                    │
                                    └─ spawns and supervises the agent process

ステータス: MCP側は動作します。ACP側はまだ存在しません。

ツールのインターセプトと許可ゲートは、ライブMCPクライアントとしてClaude Codeに対してエンドツーエンドで実装・検証されています。呼び出しはインターセプトされ、保留され、許可または拒否され、拒否は読み取り可能なテキストとしてエージェントに返されます。欠けているのは、それらの保留を実際のクライアントに対するsession/request_permissionに変換するACPサーバーと、エージェントスーパーバイザーです。docs/design.mdを参照してください。

試してみる

npm install
npm test              # unit tests, no agent required
npm run test:live     # drives the real `claude` CLI against the gateway
npm run test:live deny

test:liveは、PATH上に認証済みのclaude CLIが必要です。Claude CodeにセッションごとのMCPエンドポイントを渡し、ツールを呼び出すよう依頼し、インターセプトを表示します。

[tool] requested magic_word
[gate] DENY magic_word {}
[tool] denied magic_word (denied by test policy)
[claude] said: The tool call was denied. The error returned was exactly:
         `Error: permission denied: denied by test policy`

Related MCP server: agentic-governance-gateway

なぜ

一部のコーディングエージェントは構造化された出力を生成しません。GoogleのAntigravity CLI(agy)がその動機となるケースです。ACPモードがなく(upstream request)、ヘッドレスモードではプレーンテキストを出力し、プロンプトできない許可を自動拒否します。そのため、GUIから駆動するには、TUIをスクレイピングするか、承認を諦めるかのどちらかになります。

このブリッジは第三の道を取ります。エージェントが言うことは無視し、エージェントが行うことをインターセプトします。MCPツール呼び出しはすでに構造化され、観測可能であり、そして重要なことに、すでにインターセプト可能です。MCPサーバーはリスナーではなく、ゲートなのです。

このアプローチはエージェント固有ではありません。MCPサーバーを指定できる任意のエージェントで動作します。

何を見て、何を見ないか

MCPはツールチャネルであり、エージェント出力チャネルではありません。

ACP出力

ソース

忠実度

tool_call, tool_call_update

インターセプトされたMCP呼び出し

正確

session/request_permission

インターセプトされた呼び出しごとに1つ

正確

agent_message_chunk

エージェントの標準出力

エージェントごと

ターン境界

プロセスライフサイクル

正確

エージェントの組み込みのファイルおよびシェルツールはMCPを経由しないため、tool_callを発生させません。これは可視性のギャップであり、正確性のギャップではありません。ワークスペースをチェックポイントするクライアント(T3 Codeはターン境界で差分を取る)は、何が変更されたかを依然として記録します。失われるのはライブのアクションごとの進行状況であり、記録ではありません。

組み込みツールをMCPツールとしてブリッジ経由でルーティングすることで、そのギャップを埋め、セキュリティモデルを常時許可からアクションごとのレビューにアップグレードします。これは計画された強化であり、前提条件ではありません。

MCPリビジョンサポート

現在のリビジョンと今後のリビジョンの両方がサポートされています。ブリッジはMCPトランスポート状態に一切依存しないためです。

リビジョン

ハンドシェイク

セッション

2025-03-26

initialize / initialized

Mcp-Session-Idヘッダー、オプション

2026-07-28 (RC)

なし

削除済み。リクエストメタデータは_meta内にインライン

ACPセッションは、エージェント実行ごとに1つのパススコープのエンドポイントURLによって関連付けられるため、両方のリビジョンは同じように動作します。docs/design.mdを参照してください。

ライセンス

MIT。LICENSEを参照してください。

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    MCP server that bridges coding agents (Claude Code, Codex, Gemini CLI) via ACP for pair programming, enabling agents to consult each other as tools.
    3
    -
  • A
    license
    A
    quality
    A
    maintenance
    MCP server that enables a coordinator AI agent to spawn, control, and supervise local coding agents with interactive gating for high-risk operations.
    10
    17 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server that provides a security gateway for AI agents, enforcing allow/confirm/deny policies on tool calls and requiring human approval for risky operations, with full audit logging.
    -