Skip to main content
Glama

MCP Agent Orchestration System

by aviz85

Sistema de orquestación de agentes MCP

Una implementación en Python de un sistema de orquestación de agentes basado en estados utilizando el Protocolo de Contexto de Modelo (MCP).

¿Qué es MCP?

El Protocolo de Contexto de Modelo (MCP) permite que las aplicaciones proporcionen contexto para los LLM de forma estandarizada, separando la necesidad de proporcionar contexto de la interacción real con el LLM. Con MCP, se pueden crear servidores que exponen:

  • Recursos : Fuentes de datos que proporcionan información a los LLM
  • Herramientas : Funciones que permiten a los LLM realizar acciones
  • Indicaciones : Plantillas reutilizables para interacciones LLM

Instalación

Prerrequisitos

  • Python 3.10 o superior
  • MCP Python SDK 1.2.0 o superior

Configuración de su entorno

Uso de uv (recomendado)
# 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
Usando 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

Clonar o descargar archivos del proyecto

Coloque los archivos del proyecto en su directorio:

  • orchestrator.py : el servidor MCP principal que implementa la máquina de estados
  • orchestrator_client.py - Cliente que demuestra el flujo de orquestación
  • requirements.txt - Dependencias del proyecto
  • .gitignore - Archivo ignorado de Git

Estructura del proyecto

  • orchestrator.py : el servidor MCP principal que implementa la máquina de estados
  • orchestrator_client.py - Cliente que demuestra el flujo de orquestación
  • requirements.txt - Dependencias del proyecto

Ejecución del sistema de orquestación

  1. Inicie el servidor de orquestación directamente para realizar pruebas:
python orchestrator.py
  1. En una terminal separada, ejecute el cliente para ver la orquestación en acción:
python orchestrator_client.py

Integración con Claude para escritorio

1. Instalar Claude para escritorio

Asegúrate de tener instalado Claude para escritorio. Puedes descargar la última versión desde el sitio web de Anthropic .

2. Configurar Claude para escritorio

  1. Abra el archivo de configuración de Claude for Desktop:macOS/Linux:
    # Create or edit the configuration file code ~/Library/Application\ Support/Claude/claude_desktop_config.json
    Ventanas:
    # Path may vary depending on your Windows version code %APPDATA%\Claude\claude_desktop_config.json
  2. Agregue la configuración del servidor del orquestador:
    { "mcpServers": { "agent-orchestrator": { "command": "python", "args": [ "/ABSOLUTE/PATH/TO/YOUR/PROJECT/orchestrator.py" ] } } }
    Reemplace la ruta con la ruta absoluta a su archivo orchestrator.py.
  3. Guarde el archivo de configuración y reinicie Claude for Desktop.

3. Uso del orquestador en Claude

Una vez configurado, podrás:

  1. Abrir Claude para escritorio
  2. Haga clic en el icono del servidor MCP en la barra lateral
  3. Seleccione "agente-orquestador" de la lista de servidores disponibles
  4. Comience a interactuar con el sistema de orquestación

Claude podrá:

  • Transición entre diferentes estados del agente
  • Almacenar y recuperar información de la base de conocimientos
  • Mantener el contexto de la conversación a lo largo de las transiciones de estado
  • Acceda a indicaciones específicas del estado

Estados del agente

El sistema de orquestación implementa una máquina de estados con los siguientes estados:

  • IDLE : Esperando instrucciones
  • PLANIFICACIÓN : Crear un plan estructurado para una tarea
  • INVESTIGACIÓN : Recopilar información necesaria para una tarea.
  • EJECUTAR : Llevar a cabo acciones planificadas
  • REVISIÓN : Evaluación de resultados y determinación de próximos pasos
  • ERROR : Manejo de errores o situaciones inesperadas

Personalización del sistema

Añadiendo nuevos estados

  1. Agregue el estado a la enumeración AgentState en orchestrator.py
  2. Crear una función de aviso para el nuevo estado
  3. Actualizar la lógica de transición en _get_available_transitions()
  4. Agregar controladores para el nuevo estado en las funciones de acceso a recursos

Creación de herramientas personalizadas

Agregue nuevas herramientas creando funciones decoradas con @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"

Desarrollo y pruebas

Uso de la CLI de MCP

La CLI de MCP proporciona herramientas para el desarrollo y las pruebas:

# 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

Pruebas manuales con 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"})

Recursos

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

-
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.

Un sistema de orquestación de agentes basado en estados que permite transiciones entre diferentes estados (INACTIVO, PLANIFICANDO, INVESTIGANDO, EJECUTANDO, REVISANDO, ERROR) mientras mantiene el contexto de la conversación y proporciona indicaciones específicas para cada estado.

  1. ¿Qué es MCP?
    1. Instalación
      1. Prerrequisitos
      2. Configuración de su entorno
      3. Clonar o descargar archivos del proyecto
    2. Estructura del proyecto
      1. Ejecución del sistema de orquestación
        1. Integración con Claude para escritorio
          1. Instalar Claude para escritorio
          2. Configurar Claude para escritorio
          3. Uso del orquestador en Claude
        2. Estados del agente
          1. Personalización del sistema
            1. Añadiendo nuevos estados
            2. Creación de herramientas personalizadas
          2. Desarrollo y pruebas
            1. Uso de la CLI de MCP
            2. Pruebas manuales con Python
          3. Recursos
            1. Licencia

              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