crabeye-mcp-bridge について
crabeye-mcp-bridgeは、設定した上流MCPサーバーを1つのSTDIO接続にまとめるMCPサーバーです。ツールの検索と実行を必要なときに行え、名前空間、暗号化された認証情報、ツールごとの実行ポリシーに対応します。
主な機能
- 01上流サーバー用の単一STDIO接続
- 02検出済みツールのファジー検索
- 03名前空間付きツールのオンデマンド実行
- 04ツール・サーバー・全体のポリシー
- 05暗号化された認証情報の保存
- 06レート制限
活用シーン
- 01全スキーマを読み込まずに大規模なツール群を検索
- 02設定済みMCPサーバーのツールへ呼び出しを転送
- 03特定のツール呼び出しに承認を求める
MCP 対応
設定済みの上流MCPサーバーに接続し、`search_tools`と`run_tool`の2つのツールを通じてクライアントにそのツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Crabeye MCP Bridge
ディスカバリー、名前空間、実行ポリシーを備えた、すべてのツールをつなぐ単一の MCP 接続です。
AI アシスタントに MCP サーバーを追加するたびに、接続が増え、コンテキストウィンドウに挿入されるツール定義が増え、それらを一元的に検索・制御する方法がなくなります。ツールをそれぞれ 100 個持つサーバーを 10 個接続すると、会話が始まる前からアシスタントは 1,000 個ものツールスキーマにトークンを消費します。その大半は、実際には呼び出されることがありません。
crabeye-mcp-bridge は、すべての上流 MCP サーバーを単一の STDIO インターフェースの背後に集約し、アシスタントに公開するツールを search_tools と run_tool の2 つだけにします。アシスタントが接続すると、すべてのサーバーのツールが検出され、名前空間が割り当てられ、インデックス化されますが、アシスタントが実際に検索するまでは、どのツールもコンテキストウィンドウに追加されません。コンテキストを膨らませることなく、あらゆるツールをすぐに使える状態にしておけます。また、ファジー検索でツールを見つけ、ツールごとの実行ポリシーで、自由に実行できるもの、承認が必要なもの、ブロックするものを制御できます。

クイックスタート
最も手軽に始める方法は init です。MCP クライアントの設定を検出し、ブリッジを自動でセットアップします。
npx @crabeye-ai/crabeye-mcp-bridge init
Claude Desktop、Cursor、VS Code Copilot、Windsurf、Zed、Cline、Roo Code、opencode、Continue.dev の設定ファイルを検索し、使用するものを選択できるようにします。また、ブリッジの設定を任意で追加できます。その後は --config フラグを指定せずに、npx @crabeye-ai/crabeye-mcp-bridge を実行するだけです。
opencode と Continue.dev は検出のみの対象として表示されます。これらの設定スキーマは名前変更と挿入の処理に対応していないため、init はファイルを書き換える代わりに、手動で追加するスニペットを表示します。
元に戻すには、npx @crabeye-ai/crabeye-mcp-bridge restore を実行します。
手動セットアップ
手動でセットアップする場合、MCP クライアントの設定が現在、次のようになっているとします。
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@anthropic/linear-mcp-server"]
},
"github": {
"command": "npx",
"args": ["-y", "@anthropic/github-mcp-server"],
"env": {
"GITHUB_TOKEN": "ghp_..."
}
}
}
}
まず、暗号化された認証情報ストアにシークレットを保存します。
crabeye-mcp-bridge credential set github-pat ghp_abc123
次に、mcpServers の名前を upstreamMcpServers に変更し、ブリッジを追加して、ハードコードされたトークンを ${credential:key} 参照に置き換えます。
{
"mcpServers": {
"bridge": {
"command": "npx",
"args": ["-y", "@crabeye-ai/crabeye-mcp-bridge", "--config", "/path/to/this/file.json"]
}
},
"upstreamMcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@anthropic/linear-mcp-server"]
},
"github": {
"command": "npx",
"args": ["-y", "@anthropic/github-mcp-server"],
"env": {
"GITHUB_TOKEN": "${credential:github-pat}"
}
}
}
}
これで完了です。AI アシスタントは、設定したすべてのサーバーの全ツールに、単一の接続を通じてアクセスできるようになります。ブリッジは再帰を防ぐために mcpServers から自動的に自身を除外するので、--config に同じファイルを指定しても安全です。
また、ブリッジは入力キーとして upstreamServers(省略形)、servers(VS Code Copilot)、context_servers(Zed)も読み込みます。優先順位と自身を除外するルールの詳細は、docs/configuration.md を参照してください。
また、名前を変更せず、既存の mcpServers エントリにブリッジを追加することもできます。ブリッジは mcpServers から他のサーバーを自動的に取得します(自身は除外されます)。クライアント側で他の MCP サーバーを無効にして、アシスタントがブリッジを単一のエントリーポイントとして使うようにしてください。
Claude Code プラグインとしてインストールする
ブリッジのリポジトリを Claude Code マーケットプレイスとして登録し、プラグインをインストールします。
/plugin marketplace add crabeye-ai/crabeye-mcp-bridge
/plugin install crabeye-mcp-bridge@crabeye
Claude Code はブリッジを MCP サーバーとして自動登録します。上流サーバーをまだ設定していない場合、ブリッジの起動エラーは Claude Code の MCP サーバーログに表示されます。ターミナルで npx @crabeye-ai/crabeye-mcp-bridge init を実行すると、他のクライアントにある既存の MCP サーバー設定を検出してインポートできます。
機能
- 検出と検索。 コンテキスト内で N×M 個のツール定義を使う代わりに、2 つのメタツール(
search_tools、run_tool)を使用します。docs/how-it-works.mdを参照してください。 - 設定。 STDIO、HTTP、SSE のアップストリーム、カテゴリ、複数のソース設定キーに対応しています。docs/configuration.mdを参照してください。
- 認証。 暗号化された認証情報ストア、OS キーチェーンで保護されたマスターキー、
${credential:key}テンプレート、および HTTP アップストリーム向けの 1 回限りのauth <server>OAuth フローを提供します。docs/auth.mdを参照してください。 - ポリシー。 ツール単位、サーバー単位、またはグローバルなツールポリシー(
always/prompt/never)と、レート制限に対応しています。docs/policies.mdを参照してください。 - STDIO マネージャー。 STDIO アップストリームはユーザーごとのマネージャープロセスを介してルーティングされるため、複数のブリッジでアップストリームごとに単一のサブプロセスを共有できます。docs/stdio-manager.mdを参照してください。
- CLI。
init、restore、credential、daemon、--validateに対応しています。docs/cli.mdを参照してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。