/ ディレクトリ / プレイグラウンド / pi-mcp-adapter
● コミュニティ nicobailon ⚡ 即起動

pi-mcp-adapter

作者 nicobailon · nicobailon/pi-mcp-adapter

約200トークンで200以上のMCPツールをPiコーディングエージェントに接続 — 1つのプロキシツールが、実際に呼び出されたときだけサーバーを遅延ロードします。

pi-mcp-adapterは、ミニマリストなコーディングエージェントであるPi(badlogic/pi-mono)向けのアダプターです。すべてのMCPツールのスキーマをPiのコンテキストに一括ロードする代わりに、searchdescribetool呼び出しをサポートする単一のmcpプロキシツール(約200トークン)を公開します。サーバーは遅延起動し、アイドル状態が続くと自動切断されます。

なぜ使うのか

主な機能

ライブデモ

実際の動作

pi-mcp-adapter.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "pi-mcp-adapter": {
      "command": "npx",
      "args": [
        "-y",
        "pi-mcp-adapter"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "pi-mcp-adapter": {
      "command": "npx",
      "args": [
        "-y",
        "pi-mcp-adapter"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "pi-mcp-adapter": {
      "command": "npx",
      "args": [
        "-y",
        "pi-mcp-adapter"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "pi-mcp-adapter": {
      "command": "npx",
      "args": [
        "-y",
        "pi-mcp-adapter"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "pi-mcp-adapter",
      "command": "npx",
      "args": [
        "-y",
        "pi-mcp-adapter"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "pi-mcp-adapter": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "pi-mcp-adapter"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add pi-mcp-adapter -- npx -y pi-mcp-adapter

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: pi-mcp-adapter

10以上のMCPサーバーをコンテキストウィンドウを圧迫せずにPiで実行する

👤 Piコーディングエージェントのパワーユーザー ⏱ ~20 min intermediate

使うタイミング: filesystem、git、github、postgres、playwright、fetch、firecrawlなど、Piが一括ロードしきれないほど多くのツールを使いたい場合。

前提条件
  • Piがインストール済み — badlogic/pi-monoを参照
フロー
  1. アダプターをインストールする
    pi install npm:pi-mcp-adapterを実行してPiを再起動します。✓ コピーしました
    → Piのエクステンション一覧にアダプターが表示される
  2. すべてのMCPを設定する
    pi-mcp-adapterにfilesystem、git、github、postgresのMCPを遅延モードで追加します。✓ コピーしました
    → サーバーが登録済み、起動オーバーヘッドなし
  3. searchで利用する
    mcp({search: 'list files'})で適切なツールを見つけ、呼び出します。✓ コピーしました
    → 該当ツールが表示され、呼び出しが実行される

結果: MCPエコシステム全体がPi内で利用可能になり、コンテキストのフットプリントは最小限に抑えられます。

注意点
  • ツールの説明が不十分なため、searchでヒットしない — 頻用ツールを「ダイレクトツール」に昇格させ、Piに即時認識させる

最も使用頻度の高い3つのMCPツールをPiのファーストクラスツールに昇格させる

👤 Piを日常的に使う開発者 ⏱ ~10 min beginner

使うタイミング: Piがfilesystem readの前に毎回mcp({search: ...})を呼んでいることに気づいた場合 — ダイレクトツールに追加してこの手順を省略できます。

フロー
  1. 頻用ツールを特定する
    最近のPiセッションログで最も多く呼び出されたmcpツールはどれですか?✓ コピーしました
    → 上位Nのリスト
  2. ダイレクトに設定する
    pi-mcp-adapterの設定でこれらをダイレクトツールとして登録します。✓ コピーしました
    → ツールがPiのファーストクラスツールとして表示される

結果: エージェントループが高速化し、繰り返しのツール検出によるトークン消費が削減されます。

注意点
  • ダイレクトツールが多すぎると本末転倒になる — ダイレクトツール数は5以下に抑え、使用頻度が高いものだけを昇格させる

OAuth保護されたMCPサーバー(例:Linear、Slack)をPiで利用する

👤 エンタープライズMCPを使用するPiユーザー ⏱ ~15 min intermediate

使うタイミング: MCPサーバーがOAuthを要求し、トークンリフレッシュを手動で実装したくない場合。

フロー
  1. autoAuthを有効にする
    pi-mcp-adapterのコンフィグでlinearサーバーのautoAuth: trueを設定します。✓ コピーしました
    → 初回使用時にPiがブラウザを開く
  2. ブラウザで認可する
    スコープリクエストを承認します。トークンは永続化されます。✓ コピーしました
    → 以降の呼び出しではリフレッシュされたトークンが自動的に使用される

結果: OAuth保護されたMCP連携がPi内でそのまま動作します。

注意点
  • トークンがディスク上に暗号化されずに保存される — 暗号化されたホームディレクトリまたはOSキーチェーンブリッジを使用する

組み合わせ

他のMCPと組み合わせて10倍の力を

pi-mcp-adapter + filesystem + git-2 + github

遅延ツールロードによるPi内でのフル開発ループ

filesystem、git、githubをpi-mcp-adapterの遅延モードで登録します。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
mcp {search?: str} | {describe?: str} | {tool?: str, args?: JSON-string} ユニバーサルプロキシ — デフォルトでPiが認識する唯一のツール ~200 tokens eager + on-demand tool execution
/mcp-auth <server> server name 特定のサーバーに対して手動でOAuthフローをトリガーする free

コストと制限

運用コスト

APIクォータ
アダプター自体のクォータはなし — 下位のMCPにプロキシします
呼び出しあたりのトークン
即時オーバーヘッド約200トークン(全ツール一覧表示のN×約500トークンと比較)
金額
無料、オープンソース
ヒント
まずは遅延モードで開始してください。テレメトリでPiがセッションあたり5回以上呼び出すツールだけをダイレクトに昇格させましょう。

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: OAuthトークンは~/.pi/mcp-adapter/に保存 — 機密情報として扱ってください
データ送信先: 設定された上流MCPに依存します

トラブルシューティング

よくあるエラーと対処法

`mcp({tool: ...})`で'tool not found'と表示される

ツール名は大文字小文字を区別し、サーバーごとに名前空間が分かれています。まずdescribeで正確な名前を確認してください。

OAuthループが完了しない

アダプターのローカルコールバックポートがブロックされている可能性があります。リダイレクトURLがプロバイダーに登録されたものと一致しているか確認してください。

サーバーは起動するがツール呼び出しがハングする

上流MCPがサイレントにクラッシュしています。一時的に即時モードに切り替えて起動エラーを確認してください。

確認: pi-mcp-adapter logs

代替案

pi-mcp-adapter 他との比較

代替案代わりに使う場面トレードオフ
Raw MCP integrationMCPサーバーを1〜2個だけでPiを使う場合シンプルだが、サーバーを追加するとコンテキストを圧迫する
mcp-gatewayトークン効率だけでなく、複数MCPにまたがるセキュリティ/PII除去が必要な場合Pythonゲートウェイ。トークン節約よりもセキュリティに重点を置いている

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る