MCP-Codex: Model Context Protocol Tool Orchestration について
MCP-Codexは、MCPツールを一元管理してリモート実行するための、開発終了済みのツールオーケストレーションプロジェクトです。MCPクライアントに検索・呼び出し機能を備え、コードは構成例として公開されています。
主な機能
- 01MCPツールの一元登録と管理
- 02自然言語によるツール検索
- 03共通インターフェースを通じたツール実行
- 04アシスタントを再起動せずに設定を再読み込み
活用シーン
- 01タスクに合うツールの検索をAIアシスタントに任せる
- 02登録済みMCPツールのリモート呼び出し
- 03ツール追加後の設定再読み込み
MCP 対応
MCPクライアントは互換性のあるAIアシスタントに`search`と`call_tool`を提供し、Codexサービスがツールの登録、振り分け、実行を担います。プロジェクトの開発は終了しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP-Codex:Model Context Protocol ツールオーケストレーション
免責事項:Cloudflare が同様の問題の多くに対処する類似サービスをリリースしたため、このプロジェクトは開発を終了しました。教育目的のリソース、および MCP オーケストレーションアーキテクチャの例として、このコードベースを公開しています。現在は積極的に開発されていませんが、AI ツールオーケストレーションに関心のある方にとって、そのコンセプトと実装は今も有用である可能性があります。Cloudflare の新しい Remote MCP サービスと、こちらのブログ記事による発表をご覧ください:https://blog.cloudflare.com/remote-model-context-protocol-servers-mcp/
「The Librarian」——ユーザーのニーズを理解し、最適なツールとつなぐインテリジェントなエージェントを基盤として、MCP サーバーをオーケストレーションし、再起動せずに AI アシスタントがツールを動的に検出して利用できるようにするサービスです。
概要
MCP-Codex は、Model Context Protocol エコシステムの根本的な課題、つまり新しいツールを追加するたびに AI アシスタントを再起動しなければならない問題を解決します。中央サービスを通じてツールを動的に検出・実行できるようにし、AI アシスタントが互換性のある MCP ツールを必要に応じて利用できるようにします。
The Librarian:インテリジェントなツール検出
MCP-Codex の中核を担うのが「The Librarian」です。ユーザーのニーズを理解し、適切なツールとつなぐために設計されたインテリジェントなエージェントです。The Librarian は、次の機能を備えたエージェント型 RAG(検索拡張生成)システムとして機能します。
- マルチベクトルナレッジベース:業界知識と内部ドキュメント用に、それぞれ独立したベクトルデータベースを使用します
- MCP リポジトリの把握:エコシステム全体で利用可能な MCP ツールを深く理解します
- ジャストインタイムのツールインストール:必要になる前に、必要に応じてツールをインストールできます
- コンテキストを踏まえた推奨:ユーザーのクエリのコンテキスト全体を使って、最適なツールを特定します
- シームレスな統合:ツールの検出、インストール、実行に関するすべての処理を担います
The Librarian は、ユーザーの意図と技術的な能力をつなぐユニバーサルアダプターとして機能し、ユーザーと AI アシスタント双方にかかるツール選択の認知負荷を取り除きます。
課題
Model Context Protocol(MCP)は、AI アシスタントを外部ツールやデータソースに接続するための強力な標準です。しかし、従来の MCP 実装には大きな制約があります。
- 静的な設定:ツールは起動時に設定する必要があり、新しい機能が必要になるたびに再起動が求められます
- ローカル環境のみでの動作:ツールは通常、アシスタントと同じマシン上で動作します
- 検出機能の制限:アシスタントには、利用可能なツールを検出するための標準的な方法がありません
- 高い認知負荷:ユーザーは特定のタスクに必要なツールを正確に把握していなければなりません
解決策
MCP-Codex は、次の機能を提供することで、AI アシスタントとより広範な MCP エコシステムの橋渡しをします。
- インテリジェントなツール検出:Librarian サービスがユーザーの意図を分析し、最適なツールを推奨します
- 動的なツール管理:ツールを必要に応じてインストール、設定、実行できます
- リモート実行:ツールはローカルマシンだけでなく、どこでも実行できます
- 一元管理:アシスタントを再起動せずに、ツールを追加、更新、削除できます
- 標準化されたプロトコル:あらゆる MCP ツールとやり取りするための一貫したインターフェースを提供します
アーキテクチャ
このプロジェクトは、次の 3 つの主要コンポーネントで構成されています。
- Codex サービス(
codex-serv.py):ツールの検出と呼び出しを管理するコア実行サービス - Librarian サービス(計画中):AI を活用したツール推奨システム
- MCP クライアント(
mcp-codex.py):AI アシスタント向けの MCP 互換インターフェース
仕組み
- AI アシスタントが MCP-Codex クライアントに接続します
- クライアントは、主に 2 つのツール
searchとcall_toolを提示します - アシスタントは、自然言語を使って機能を検索できます
- ツールが特定されたら、標準化された呼び出しを通じて実行できます
- Codex サービスが実際のツール実行を処理し、結果を返します
コンポーネント
Codex サービス
以下を行う、中心的なオーケストレーションサービスです。
- 利用可能な MCP ツールのレジストリを管理します
- ツールの実行リクエストを処理します
- リクエストを適切なツールサブプロセスにルーティングします
- ツールのライフサイクルを管理します
MCP クライアント
MCP に準拠したインターフェースで、MCP 互換のアシスタントが以下を行えるようにします。
- Codex エコシステムに接続します
- 利用可能なツールを検索します
- 標準化されたインターフェースを通じてツールを実行します
同梱のツール例
このリポジトリには、いくつかの MCP ツールの例が含まれています。
- StockFlow:金融データと株式市場の分析ツール
- OptionsFlow:オプション取引の分析と戦略評価
- CodeSavant:コードの管理、編集、実行ツール
- StockScreen:株式のスクリーニングおよびフィルタリング機能
インストール
前提条件
- Python 3.10+
- 必要な Python パッケージ(
requirements.txtを参照)
セットアップ
- リポジトリをクローンします。
git clone https://github.com/your-username/mcp-codex.git
cd mcp-codex
- 依存関係をインストールします。
pip install -r requirements.txt
- 必要なディレクトリを作成します。
mkdir -p config data logs tools
- 環境を設定します。
cp .env.example .env
# Edit .env with your configuration
使用方法
Codex サービスの起動
python codex-serv.py
MCP クライアントの起動
python mcp-codex.py
Claude Desktop での使用
- MCP クライアントを Claude Desktop にインストールします。
mcp install mcp-codex.py
-
クライアントによって、2 つのツールが登録されます。
search:タスクに関連するツールを検索しますcall_tool:見つかったツールを実行します
-
Claude での使用例:
I need to analyze stock data for Apple. Can you help me find the right tool?
ロードマップ
このプロジェクトでは、いくつかの完全に実現されたコンポーネントを含める計画でした。
Librarian(詳細)
Librarian は、以下を行う高度な AI 搭載ツールオーケストレーションシステムとして構想されていました。
- エージェント型 RAG システムとして機能する:検索機能と生成インテリジェンスを組み合わせます
- 複数のナレッジソースを維持する:
- 業界知識のベクトルデータベース(一般的な技術情報)
- 内部ドキュメントのベクトルデータベース(特定のツール機能)
- MCP リポジトリのリアルタイムインデックス作成(エコシステム内で利用可能なツール)
- 複雑なツール選択ロジックを実行する:
- ユーザーのクエリを分析し、根底にある意図を把握します
- 意図を必要な機能に対応付けます
- MCP エコシステム全体から最適なツールを特定します
- ツールの互換性、パフォーマンス、信頼性を考慮します
- ジャストインタイムのツール管理を提供する:
- 必要なツールがインストールされていない場合に検出します
- リポジトリから必要なツールを自動的にインストールします
- 特定のタスクに合わせてツールを適切に設定します
- 実行前にインストールが正常に完了したことを確認します
- 実行ライフサイクル全体を処理する:
- 適切なコンテキストを使ってツールを準備します
- 実行の進行状況を監視します
- エラー処理と復旧を管理します
- 最も役立つ形式で結果を提供します
- 継続的に学習し、改善する:
- ツールのパフォーマンスと信頼性を追跡します
- ユーザーのフィードバックや修正から学習します
- 過去の成功実績に基づいて推奨内容を改善します
- 新しいツールや機能に適応します
その他の計画機能
- ユーザー認証と認可
- セキュリティのためのツールのサンドボックス化
- クラウドデプロイのサポート
- ツールのバージョン管理と互換性チェック
- パフォーマンスの監視と分析
ドキュメント
ツールレジストリの設定
ツールは config/codex.yaml ファイルで、以下の構造に従って定義します。
tools:
- name: tool_name
description: Tool description
server: path/to/tool/server.py
methods:
- method_name
schemas:
method_name:
type: object
properties:
# Parameter definitions
API エンドポイント
Codex サービスは、以下の REST エンドポイントを提供します。
/health:ヘルスチェックエンドポイント/search:クエリに一致するツールを検索します/call_tool:特定のツールメソッドを実行します/reload:ツール設定を再読み込みします
このプロジェクトの目的
このプロジェクトは、現在の AI ツールエコシステムにおけるいくつかの制約に対処するために作成されました。
- 真のエージェント機能を実現する:ユーザーのニーズに応じて、AI アシスタントがツールを動的に検出して使用できるようにします
- 運用の複雑さを軽減する:新しい機能を追加するたびに AI サービスを再起動する必要をなくします
- ツール管理を一元化する:ツールのデプロイと更新を一元的に管理できるようにします
- ツールとのやり取りを標準化する:ツールの検出と実行に一貫したインターフェースを提供します
- リモート実行に対応する:ツールをローカルマシンだけでなく、どこでも実行できるようにします
残念ながら、同様の機能が最近 Cloudflare からリリースされたため、このプロジェクトの一部は重複するものとなりました。しかし、このコードベースは MCP のオーケストレーションと動的なツール検出について、今なお貴重な知見を提供しています。
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については LICENSE ファイルをご覧ください。
謝辞
- 着想と中核となるプロトコル設計を提供してくれたModel Context Protocol
- 貴重な貢献をしてくれたオープンソースの MCP コミュニティ
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。