MCP エージェント オーケストレーション システム
モデル コンテキスト プロトコル (MCP) を使用した状態ベースのエージェント オーケストレーション システムの Python 実装。
MCPとは何ですか?
モデルコンテキストプロトコル(MCP)は、アプリケーションがLLMに標準化された方法でコンテキストを提供することを可能にし、コンテキスト提供の懸念をLLMとの実際のやり取りから分離します。MCPを使用すると、以下の情報を公開するサーバーを構築できます。
- リソース: LLMに情報を提供するデータソース
- ツール: LLMがアクションを実行できるようにする機能
- プロンプト: LLMインタラクション用の再利用可能なテンプレート
インストール
前提条件
- Python 3.10以上
- MCP Python SDK 1.2.0 以上
環境の設定
uvの使用(推奨)
pipの使用
プロジェクトファイルの複製またはダウンロード
プロジェクト ファイルをディレクトリに配置します。
orchestrator.py
- ステートマシンを実装するメインの MCP サーバーorchestrator_client.py
- オーケストレーションフローを示すクライアントrequirements.txt
- プロジェクトの依存関係.gitignore
- Git 無視ファイル
プロジェクト構造
orchestrator.py
- ステートマシンを実装するメインの MCP サーバーorchestrator_client.py
- オーケストレーションフローを示すクライアントrequirements.txt
- プロジェクトの依存関係
オーケストレーションシステムの実行
- テストのためにオーケストレーション サーバーを直接起動します。
- 別のターミナルでクライアントを実行し、オーケストレーションの動作を確認します。
Claude for Desktopとの統合
1.デスクトップ版Claudeをインストールする
Claude for Desktopがインストールされていることを確認してください。最新バージョンはAnthropicのウェブサイトからダウンロードできます。
2. デスクトップ用にClaudeを設定する
- Claude for Desktop の構成ファイルを開きます。macOS/Linux:ウィンドウズ:
- オーケストレータ サーバーの構成を追加します。パスを、orchestrator.py ファイルへの絶対パスに置き換えます。
- 設定ファイルを保存し、Claude for Desktop を再起動します。
3. ClaudeでのOrchestratorの使用
設定が完了すると、次のことが可能になります。
- デスクトップ版Claudeを開く
- サイドバーのMCPサーバーアイコンをクリックします
- 利用可能なサーバーのリストから「agent-orchestrator」を選択します
- オーケストレーションシステムとのやり取りを開始する
クロードは次のことができるようになります:
- 異なるエージェント状態間の遷移
- ナレッジベースから情報を保存および取得する
- 状態遷移を通じて会話のコンテキストを維持する
- 州固有のプロンプトにアクセスする
エージェント国家
オーケストレーション システムは、次の状態を持つステート マシンを実装します。
- IDLE : 指示を待っています
- 計画:タスクの構造化された計画を作成する
- リサーチ:タスクに必要な情報を収集する
- 実行:計画された行動を実行する
- レビュー:結果を評価し、次のステップを決定する
- エラー: エラーや予期しない状況の処理
システムのカスタマイズ
新しい州の追加
- 状態を
orchestrator.py
のAgentState
列挙型に追加します。 - 新しい状態のためのプロンプト関数を作成する
_get_available_transitions()
の遷移ロジックを更新します- リソースアクセス関数に新しい状態のハンドラーを追加する
カスタムツールの作成
@mcp.tool()
で装飾された関数を作成して新しいツールを追加します。
開発とテスト
MCP CLIの使用
MCP CLI は開発とテストのためのツールを提供します。
Pythonによる手動テスト
リソース
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
会話のコンテキストを維持し、状態固有のプロンプトを提供しながら、さまざまな状態 (アイドル、計画、調査、実行、レビュー、エラー) 間の遷移を可能にする状態ベースのエージェント オーケストレーション システム。
Related MCP Servers
- -securityAlicense-qualityA server for task orchestration and coordination, facilitating task management with dependencies, multi-instance collaboration, and persistent task tracking.Last updated -717JavaScriptMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables AI agents to interact with ClickUp workspaces, allowing task creation, management, and workspace organization through natural language commands.Last updated -313MIT License
- -securityFlicense-qualityA Model Context Protocol server that enables role-based context management for AI agents, allowing users to establish specific instructions, maintain partitioned memory, and adapt tone for different agent roles in their system.Last updated -TypeScript
- -securityAlicense-qualityAn MCP server that extends AI agents' context window by providing tools to store, retrieve, and search memories, allowing agents to maintain history and context across long interactions.Last updated -5TypeScriptMIT License