Skip to main content
Glama
aviz85

MCP Agent Orchestration System

by aviz85

Система оркестровки агента MCP

Реализация на Python системы оркестровки агентов на основе состояний с использованием протокола контекста модели (MCP).

Что такое МКП?

Протокол контекста модели (MCP) позволяет приложениям предоставлять контекст для LLM стандартизированным способом, отделяя заботы предоставления контекста от фактического взаимодействия LLM. С помощью MCP вы можете создавать серверы, которые предоставляют:

  • Ресурсы : источники данных, предоставляющие информацию магистрам права

  • Инструменты : функции, позволяющие LLM выполнять действия.

  • Подсказки : шаблоны многократного использования для взаимодействия с LLM

Related MCP server: Subconductor

Установка

Предпосылки

  • Python 3.10 или выше

  • MCP Python SDK 1.2.0 или выше

Настройка вашей среды

Использование УФ (рекомендуется)

# 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

Использование пипа

# 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 для рабочего стола

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. Использование Orchestrator в Claude

После настройки вы сможете:

  1. Открыть Claude для рабочего стола

  2. Нажмите на значок сервера MCP на боковой панели.

  3. Выберите «agent-orchestrator» из списка доступных серверов.

  4. Начните взаимодействовать с системой оркестровки

Клод сможет:

  • Переход между различными состояниями агента

  • Хранить и извлекать информацию из базы знаний

  • Поддерживайте контекст разговора при переходах между состояниями

  • Доступ к подсказкам, специфичным для штата

Агентские Штаты

Система оркестровки реализует конечный автомат со следующими состояниями:

  • IDLE : Ожидание инструкций

  • ПЛАНИРОВАНИЕ : Создание структурированного плана для задачи

  • ИССЛЕДОВАНИЕ : Сбор информации, необходимой для выполнения задачи

  • ИСПОЛНЕНИЕ : Выполнение запланированных действий.

  • ОБЗОР : Оценка результатов и определение следующих шагов

  • ОШИБКА : Обработка ошибок или непредвиденных ситуаций

Настройка системы

Добавление новых штатов

  1. Добавьте состояние в перечисление AgentState в orchestrator.py

  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.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    An orchestration system that breaks down user prompts into actionable tasks and delegates them to specialized agents (Roo Modes) using LangChain.
    -
  • A
    license
    A
    quality
    C
    maintenance
    A persistent state machine and notification system for AI agents to manage complex, multi-step workflows via the Model Context Protocol, preventing context drift by maintaining structured checklists and sending desktop alerts.
    14
    1 npm
    2
    Apache 2.0