Skip to main content
Glama

MCP Agent Orchestration System

by aviz85

MCP-Agent-Orchestrierungssystem

Eine Python-Implementierung eines zustandsbasierten Agenten-Orchestrierungssystems unter Verwendung des Model Context Protocol (MCP).

Was ist MCP?

Das Model Context Protocol (MCP) ermöglicht Anwendungen die standardisierte Bereitstellung von Kontext für LLMs und trennt so die eigentliche LLM-Interaktion. Mit MCP können Sie Server erstellen, die Folgendes bereitstellen:

  • Ressourcen : Datenquellen, die LLMs Informationen liefern
  • Tools : Funktionen, die es LLMs ermöglichen, Aktionen auszuführen
  • Eingabeaufforderungen : Wiederverwendbare Vorlagen für LLM-Interaktionen

Installation

Voraussetzungen

  • Python 3.10 oder höher
  • MCP Python SDK 1.2.0 oder höher

Einrichten Ihrer Umgebung

Verwendung von UV (empfohlen)
# 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
Verwenden von 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

Projektdateien klonen oder herunterladen

Platzieren Sie die Projektdateien in Ihrem Verzeichnis:

  • orchestrator.py – Der Haupt-MCP-Server, der die Zustandsmaschine implementiert
  • orchestrator_client.py – Client, der den Orchestrierungsfluss demonstriert
  • requirements.txt – Abhängigkeiten für das Projekt
  • .gitignore – Git-Ignorierdatei

Projektstruktur

  • orchestrator.py – Der Haupt-MCP-Server, der die Zustandsmaschine implementiert
  • orchestrator_client.py – Client, der den Orchestrierungsfluss demonstriert
  • requirements.txt – Abhängigkeiten für das Projekt

Ausführen des Orchestrierungssystems

  1. Starten Sie den Orchestrierungsserver zum Testen direkt:
python orchestrator.py
  1. Führen Sie den Client in einem separaten Terminal aus, um die Orchestrierung in Aktion zu sehen:
python orchestrator_client.py

Integration mit Claude für Desktop

1. Installieren Sie Claude für Desktop

Stellen Sie sicher, dass Sie Claude für Desktop installiert haben. Sie können die neueste Version von der Anthropic-Website herunterladen.

2. Konfigurieren Sie Claude für den Desktop

  1. Öffnen Sie Ihre Claude for Desktop-Konfigurationsdatei:macOS/Linux:
    # Create or edit the configuration file code ~/Library/Application\ Support/Claude/claude_desktop_config.json
    Windows:
    # Path may vary depending on your Windows version code %APPDATA%\Claude\claude_desktop_config.json
  2. Fügen Sie die Orchestrator-Serverkonfiguration hinzu:
    { "mcpServers": { "agent-orchestrator": { "command": "python", "args": [ "/ABSOLUTE/PATH/TO/YOUR/PROJECT/orchestrator.py" ] } } }
    Ersetzen Sie den Pfad durch den absoluten Pfad zu Ihrer Datei orchestrator.py.
  3. Speichern Sie die Konfigurationsdatei und starten Sie Claude for Desktop neu.

3. Verwenden des Orchestrators in Claude

Nach der Konfiguration können Sie:

  1. Öffnen Sie Claude für Desktop
  2. Klicken Sie in der Seitenleiste auf das MCP-Serversymbol
  3. Wählen Sie „Agent-Orchestrator“ aus der Liste der verfügbaren Server
  4. Beginnen Sie mit der Interaktion mit dem Orchestrierungssystem

Claude wird in der Lage sein:

  • Übergang zwischen verschiedenen Agentenzuständen
  • Speichern und Abrufen von Informationen aus der Wissensdatenbank
  • Behalten Sie den Konversationskontext über Statusübergänge hinweg bei
  • Zugriff auf statusspezifische Eingabeaufforderungen

Agentenzustände

Das Orchestrierungssystem implementiert eine Zustandsmaschine mit den folgenden Zuständen:

  • IDLE : Wartet auf Anweisungen
  • PLANUNG : Erstellen eines strukturierten Plans für eine Aufgabe
  • RECHERCHIEREN : Sammeln der für eine Aufgabe benötigten Informationen
  • AUSFÜHREN : Durchführen geplanter Aktionen
  • ÜBERPRÜFEN : Ergebnisse auswerten und nächste Schritte festlegen
  • FEHLER : Handhabung von Fehlern oder unerwarteten Situationen

Anpassen des Systems

Neue Staaten hinzufügen

  1. Fügen Sie den Status zur AgentState -Aufzählung in orchestrator.py hinzu
  2. Erstellen Sie eine Eingabeaufforderungsfunktion für den neuen Status
  3. Aktualisieren Sie die Übergangslogik in _get_available_transitions()
  4. Hinzufügen von Handlern für den neuen Status in Ressourcenzugriffsfunktionen

Erstellen benutzerdefinierter Tools

Fügen Sie neue Tools hinzu, indem Sie mit @mcp.tool() dekorierte Funktionen erstellen:

@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"

Entwicklung und Tests

Verwenden der MCP-CLI

Die MCP CLI bietet Tools für Entwicklung und Tests:

# 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

Manuelles Testen mit 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"})

Ressourcen

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei 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.

Ein zustandsbasiertes Agenten-Orchestrierungssystem, das Übergänge zwischen verschiedenen Zuständen (LEERLAUF, PLANUNG, FORSCHUNG, AUSFÜHRUNG, ÜBERPRÜFUNG, FEHLER) ermöglicht und gleichzeitig den Gesprächskontext aufrechterhält und zustandsspezifische Eingabeaufforderungen bereitstellt.

  1. Was ist MCP?
    1. Installation
      1. Voraussetzungen
      2. Einrichten Ihrer Umgebung
      3. Projektdateien klonen oder herunterladen
    2. Projektstruktur
      1. Ausführen des Orchestrierungssystems
        1. Integration mit Claude für Desktop
          1. Installieren Sie Claude für Desktop
          2. Konfigurieren Sie Claude für den Desktop
          3. Verwenden des Orchestrators in Claude
        2. Agentenzustände
          1. Anpassen des Systems
            1. Neue Staaten hinzufügen
            2. Erstellen benutzerdefinierter Tools
          2. Entwicklung und Tests
            1. Verwenden der MCP-CLI
            2. Manuelles Testen mit Python
          3. Ressourcen
            1. Lizenz

              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