Skip to main content
Glama

MCP Agent Orchestration System

by aviz85

MCP エージェント オーケストレーション システム

モデル コンテキスト プロトコル (MCP) を使用した状態ベースのエージェント オーケストレーション システムの Python 実装。

MCPとは何ですか?

モデルコンテキストプロトコル(MCP)は、アプリケーションがLLMに標準化された方法でコンテキストを提供することを可能にし、コンテキスト提供の懸念をLLMとの実際のやり取りから分離します。MCPを使用すると、以下の情報を公開するサーバーを構築できます。

  • リソース: LLMに情報を提供するデータソース
  • ツール: LLMがアクションを実行できるようにする機能
  • プロンプト: LLMインタラクション用の再利用可能なテンプレート

インストール

前提条件

  • Python 3.10以上
  • MCP Python SDK 1.2.0 以上

環境の設定

uvの使用(推奨)
# Install uv curl -LsSf https://astral.sh/uv/install.sh | sh # Create a new directory for our project uv init mcp-agents-orchestra cd mcp-agents-orchestra # Create virtual environment and activate it uv venv source .venv/bin/activate # On Unix/macOS .venv\Scripts\activate # On Windows # Install dependencies uv add "mcp[cli]" httpx
pipの使用
# Create a new directory for our project mkdir mcp-agents-orchestra cd mcp-agents-orchestra # Create a virtual environment python -m venv venv source venv/bin/activate # On Unix/macOS venv\Scripts\activate # On Windows # Install dependencies pip install "mcp[cli]" httpx

プロジェクトファイルの複製またはダウンロード

プロジェクト ファイルをディレクトリに配置します。

  • orchestrator.py - ステートマシンを実装するメインの MCP サーバー
  • orchestrator_client.py - オーケストレーションフローを示すクライアント
  • requirements.txt - プロジェクトの依存関係
  • .gitignore - Git 無視ファイル

プロジェクト構造

  • orchestrator.py - ステートマシンを実装するメインの MCP サーバー
  • orchestrator_client.py - オーケストレーションフローを示すクライアント
  • requirements.txt - プロジェクトの依存関係

オーケストレーションシステムの実行

  1. テストのためにオーケストレーション サーバーを直接起動します。
python orchestrator.py
  1. 別のターミナルでクライアントを実行し、オーケストレーションの動作を確認します。
python orchestrator_client.py

Claude for Desktopとの統合

1.デスクトップ版Claudeをインストールする

Claude for Desktopがインストールされていることを確認してください。最新バージョンはAnthropicのウェブサイトからダウンロードできます。

2. デスクトップ用にClaudeを設定する

  1. Claude for Desktop の構成ファイルを開きます。macOS/Linux:
    # Create or edit the configuration file code ~/Library/Application\ Support/Claude/claude_desktop_config.json
    ウィンドウズ:
    # Path may vary depending on your Windows version code %APPDATA%\Claude\claude_desktop_config.json
  2. オーケストレータ サーバーの構成を追加します。
    { "mcpServers": { "agent-orchestrator": { "command": "python", "args": [ "/ABSOLUTE/PATH/TO/YOUR/PROJECT/orchestrator.py" ] } } }
    パスを、orchestrator.py ファイルへの絶対パスに置き換えます。
  3. 設定ファイルを保存し、Claude for Desktop を再起動します。

3. ClaudeでのOrchestratorの使用

設定が完了すると、次のことが可能になります。

  1. デスクトップ版Claudeを開く
  2. サイドバーのMCPサーバーアイコンをクリックします
  3. 利用可能なサーバーのリストから「agent-orchestrator」を選択します
  4. オーケストレーションシステムとのやり取りを開始する

クロードは次のことができるようになります:

  • 異なるエージェント状態間の遷移
  • ナレッジベースから情報を保存および取得する
  • 状態遷移を通じて会話のコンテキストを維持する
  • 州固有のプロンプトにアクセスする

エージェント国家

オーケストレーション システムは、次の状態を持つステート マシンを実装します。

  • IDLE : 指示を待っています
  • 計画:タスクの構造化された計画を作成する
  • リサーチ:タスクに必要な情報を収集する
  • 実行:計画された行動を実行する
  • レビュー:結果を評価し、次のステップを決定する
  • エラー: エラーや予期しない状況の処理

システムのカスタマイズ

新しい州の追加

  1. 状態をorchestrator.pyAgentState列挙型に追加します。
  2. 新しい状態のためのプロンプト関数を作成する
  3. _get_available_transitions()の遷移ロジックを更新します
  4. リソースアクセス関数に新しい状態のハンドラーを追加する

カスタムツールの作成

@mcp.tool()で装飾された関数を作成して新しいツールを追加します。

@mcp.tool() def my_custom_tool(arg1: str, arg2: int, ctx: Context) -> str: """Description of what this tool does Args: arg1: Description of arg1 arg2: Description of arg2 """ # Implementation here return "Result"

開発とテスト

MCP CLIの使用

MCP CLI は開発とテストのためのツールを提供します。

# Install MCP CLI if you haven't already pip install "mcp[cli]" # Test your server with the MCP Inspector mcp dev orchestrator.py # Install in Claude Desktop mcp install orchestrator.py

Pythonによる手動テスト

from mcp import ClientSession, StdioServerParameters from mcp.client.stdio import stdio_client async with stdio_client(StdioServerParameters(command="python", args=["orchestrator.py"])) as (read, write): async with ClientSession(read, write) as session: await session.initialize() # Test state transitions await session.call_tool("transition_state", arguments={"new_state": "PLANNING"})

リソース

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

会話のコンテキストを維持し、状態固有のプロンプトを提供しながら、さまざまな状態 (アイドル、計画、調査、実行、レビュー、エラー) 間の遷移を可能にする状態ベースのエージェント オーケストレーション システム。

  1. MCPとは何ですか?
    1. インストール
      1. 前提条件
      2. 環境の設定
      3. プロジェクトファイルの複製またはダウンロード
    2. プロジェクト構造
      1. オーケストレーションシステムの実行
        1. Claude for Desktopとの統合
          1. 1.デスクトップ版Claudeをインストールする
          2. デスクトップ用にClaudeを設定する
          3. ClaudeでのOrchestratorの使用
        2. エージェント国家
          1. システムのカスタマイズ
            1. 新しい州の追加
            2. カスタムツールの作成
          2. 開発とテスト
            1. MCP CLIの使用
            2. Pythonによる手動テスト
          3. リソース
            1. ライセンス

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                A server for task orchestration and coordination, facilitating task management with dependencies, multi-instance collaboration, and persistent task tracking.
                Last updated -
                7
                17
                JavaScript
                MIT License
              • -
                security
                A
                license
                -
                quality
                A 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 -
                313
                MIT License
              • -
                security
                F
                license
                -
                quality
                A 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
              • -
                security
                A
                license
                -
                quality
                An 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 -
                5
                TypeScript
                MIT License

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/aviz85/mcp-agents-orchestra'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server