概要
- Pi は以前まで MCP をサポートしていなかったが、現在はコア機能として統合
- MCP の進化とPi側のニーズの変化が統合の主な理由
- Codemode の導入でツール連携や柔軟な拡張が可能に
- MCPの課題も依然残るが、今後の改善のため積極的に関与
- Jev などの新しいツールとの連携例も紹介
PiにおけるMCPサポートの変遷
- かつて pi.dev では「PiはMCPをサポートしない」と明言
- PodcastやMarioの投稿でも MCP に対する否定的な意見
- 現在は Piアップグレード でMCPがコア機能としてサポート
- 背景には MCP自体の進化 と、Pi側の要件の変化
なぜMCPがコア機能になったのか
- 世界は静的でなく、MCPも変化 を続けた事実
- Piは 拡張エコシステム が充実しており、MCPも本来は拡張として運用可能
- 以前はMCP拡張として存在
- コア機能化の理由は、 MCPの変更が他機能にも有用 であったため
- 例:MCPの改善により Jev の利用も容易に
- PiとMCPの共通点: インタプリタ型サンドボックス の必要性
MCPの現在の課題
- MCPの最大の課題は「合成の難しさ」
- codemode導入で一部解決したが、完全ではない
- 問題の本質は MCPサーバーやハーネスの設計 にあり
- 多くのMCPサーバーは ツールをコンテキストに流し込むだけ の設計
- OpenAPI的なツール発見と構造化データ返却 が理想像
- Pi上のMCPは JavaScriptサンドボックス経由でツールを公開
Codemodeとは何か
- Codemode はツール呼び出しを調整・統合する オーケストレーション機構
- ハーネス上で動作し、 エージェントがツール呼び出し順序を柔軟に制御 可能
- JavaScriptでツールを組み合わせて利用
- セッションの状態は ファイルシステムではなくトランスクリプト上 で管理
- 小型JavaScriptは WASMバイナリ として安全に実行可能
- Piでは MCP有効時に自動ロード、または手動追加も可能
CodemodeとMCPの連携例
- 例: typesafe/jev を使い、issue tracker上の「最もフラストレーションの高いコメント投稿者」を分析
- Linear MCPからオープンissueを取得
- Jevで各スレッドのトーンを分類
- 結果をCodemode上で集計・保存
- 実際のコード例も紹介、 効率的な分析作業 を実現
- Jevの評価結果:167件中156件が中立、11件が軽度のフラストレーション
今後の展望
- MCP は改善余地が残るが、 Pi開発陣が積極的に関与 し、より良い仕組みを目指す姿勢
- CodemodeやJev など新しい発想・技術との連携を強化
- 世界の変化に応じてPiも進化 し続ける方針
まとめ
- MCPのコア統合 は、Piの柔軟性と将来性を高める判断
- Codemode によるツール連携が新たな可能性を提供
- 今後もPiは状況に応じて進化・改善 を継続
MCPに対する彼らの消極的な姿勢は理解できるけど、/何か/がないよりはマシだよね。著者が指摘している理由で最適ではないけど、USB-Cもそうだし、NVMEもHDMIもそう。これらの技術は欠点があっても、広く互換性があって使いやすいからこそ成功してるんだ。だからMCPはどこにでもある。パフォーマンスや堅牢性、一貫性がないかもしれないけど、時間が経てば良くなるはず。今の広範なMCPエコシステムがあった方が、7つや8つの異なる「最適な」接続方法よりずっといいと思う。