nicobailon/pi-mcp-adapter

Token-efficient MCP adapter for Pi coding agent

Pi MCP Adapter – 概要

目的 – このアダプタにより、Pi コーディングアシスタント(LLM 駆動の AI エージェント)は、各サーバーのツール定義をモデルのコンテキストに読み込むことなく MCP サーバー と通信できます。モデルが実際にツールを呼び出したときだけサーバーを起動し、短いアイドル期間後に停止し、ツールメタデータをキャッシュします。その結果、「ブロート」に費やすトークンが減り、メモリ使用量が減り、セッションが高速化します。

仕組み

  • Pi は mcp という単一のプロキシツール(約 200 トークン)を認識します。モデルが mcp({search:…}) または mcp({tool:…}) を実行すると、アダプタはリクエストを適切な MCP サーバーに転送します。
  • サーバーは遅延起動です。最初の使用時に起動し、10 分間の非アクティブ後にシャットダウンします(設定可能)。
  • ツールリストはディスクにキャッシュされるため、サーバーが実行されていなくてもモデルはツールを検索または説明できます。
  • OAuth トークンはデフォルトで OS キーチェーンに保存され、プレーンな JSON ファイルには保存されません。
  • オプションのスクリプトモードを使用すると、1 つのリクエストで多数の呼び出しをバッチ処理でき、Pi の組み込み codemode 動作に一致します。

Pi の組み込み MCP サポートに対する主な利点

機能 Pi 組み込み MCP pi-mcp-adapter
セッション開始時に起動するサーバー 有効なすべてのサーバー(高メモリ) 実際に使用されたサーバーのみ(メモリ大幅削減)
単一ルックアップのトークンコスト 高い(完全な codemode スクリプト) 10〜33% 削減
セマンティックツール検索 単語のみ 単語または正規表現。System One キーで意味によるランク付けが可能
OAuth トークン保存 プレーン JSON ファイル OS キーチェーン
UI サポート なし ネイティブウィンドウまたはブラウザ UI
他の IDE からの設定インポート 手動変換 ガイド付きインポート(/mcp-adapter setup)

一般的なワークフロー

  1. アダプタをインストール: pi install npm:pi-mcp-adapter を実行し、Pi を再起動します。
  2. サーバー(例: Chrome DevTools)を .mcp.json ファイルに追加するか、/mcp-adapter setup を実行して既存の設定をインポートします。
  3. Pi チャットで呼び出します:
    mcp({ search: "screenshot" })
    
    アダプタは一致するツールの説明を返します。
  4. ツールを実行します:
    mcp({ tool: "chrome_devtools_take_screenshot", args: { format: "png" } })
    
    サーバーが起動し、コマンドを実行し、アイドル状態になり、10 分後にシャットダウンします。

主なコマンド(Pi セッション内で実行)

  • /mcp-adapter – インタラクティブなセットアップ/オンボーディングパネルを開きます。
  • /mcp-adapter setup – Cursor/Claude/VS Code 設定のガイド付きインポート、プリセットサーバー(Figma、GitHub など)を追加します。
  • /mcp-auth <server> – サーバーの OAuth サインイン。
  • /mcp-adapter edit [project|global] – .mcp.json またはグローバル設定を編集します。
  • /mcp-adapter tools – 検出されたすべてのツールを一覧表示します。
  • /mcp-adapter reconnect … – サーバーを手動で再接続します。

制限事項

  • 各 Pi セッションは独自のサーバープロセスを生成します(rmcp-mux で共有可能)。
  • インライン画像は Pi の表示設定に依存します。
  • MCP サンプリングはテキストのみをサポートします。オーディオ/画像ペイロードは拒否されます。

ドキュメント – 完全なリファレンスは docs/ フォルダにあります(設定、サーバーオプション、認証、スクリプト、UI、拡張 API など)。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト