ChatGPT Orchestrator MCP Server
ChatGPT Orchestrator MCP Server
Minimaler Remote-MCP-Server in Python für das folgende Schema:
ChatGPT -> MCP server -> main orchestrator -> helper agentsIn der ersten Phase enthält der Server ein Tool:
run_orchestratorEingabe:
goal: stringAusgabe: einfacher JSON
Im Inneren befindet sich derzeit ein Platzhalter. Später kann dieser durch den Aufruf Ihres echten Hauptagenten ersetzt werden.
Warum FastMCP
FastMCP wurde gewählt, weil es ermöglicht, ein MCP-Tool mit einer normalen Python-Funktion zu beschreiben und sofort einen Remote-MCP-Endpunkt über HTTP zu starten. Für die Verbindung mit ChatGPT ist ein öffentlicher HTTPS-Endpunkt der Form /mcp erforderlich.
Related MCP server: native-agent-router
Projektstruktur
.
├── .gitignore
├── server.py
├── requirements.txt
├── Procfile
├── render.yaml
└── README.mdLokaler Start
Anforderungen:
Python 3.11+
pip
1. Virtuelle Umgebung erstellen
PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1Falls unter Windows der Befehl python den Microsoft Store öffnet oder die Version nicht anzeigt, verwenden Sie:
py -3.11 -m venv .venv
.\.venv\Scripts\Activate.ps1macOS/Linux:
python3 -m venv .venv
source .venv/bin/activate2. Abhängigkeiten installieren
pip install -r requirements.txt3. Server starten
python server.pyLokaler MCP-Endpunkt:
http://localhost:8000/mcpStandardprüfung, ob der Server läuft:
http://localhost:8000/healthWenn der Client einen Endpunkt mit einem Schrägstrich am Ende anfordert, verwenden Sie:
http://localhost:8000/mcp/Lokale Überprüfung
Lassen Sie python server.py laufen. Führen Sie in einem zweiten Terminal Folgendes aus:
Invoke-RestMethod http://localhost:8000/healthErwartete Antwort:
{
"status": "ok"
}Wichtig: Wenn Sie http://localhost:8000/mcp im Browser öffnen oder mit einem normalen curl ohne MCP-Header aufrufen, sehen Sie möglicherweise einen Fehler:
{
"error": {
"message": "Not Acceptable: Client must accept text/event-stream"
}
}Das ist für einen MCP-Endpunkt normal. Überprüfen Sie /health mit einem normalen Browser und /mcp mit einem MCP-Client.
@'
import asyncio
from fastmcp import Client
async def main():
async with Client("http://localhost:8000/mcp") as client:
tools = await client.list_tools()
print("TOOLS:")
for tool in tools:
print("-", tool.name)
result = await client.call_tool(
"run_orchestrator",
{"goal": "Create an MVP launch plan"}
)
print("RESULT:")
print(result)
asyncio.run(main())
'@ | pythonErwartete Bedeutung der Antwort: Der Server zeigt das Tool run_orchestrator an und gibt ein JSON mit dem Text zurück, dass der Platzhalter die Aufgabe akzeptiert hat.
Sie können dies auch über den MCP Inspector überprüfen:
npx @modelcontextprotocol/inspectorWählen Sie in der UI den Transport Streamable HTTP und die URL:
http://localhost:8000/mcpDeployment auf Render
Variante über GitHub
Erstellen Sie ein neues GitHub-Repository.
Laden Sie diese Dateien dort hoch.
Öffnen Sie Render.
Klicken Sie auf
New->Web Service.Verbinden Sie das GitHub-Repository.
Render liest normalerweise
render.yamlautomatisch.Bei manueller Konfiguration:
Runtime:
PythonBuild Command:
pip install -r requirements.txtStart Command:
python server.py
Klicken Sie auf
Deploy.
Nach dem Deployment gibt Render eine URL in etwa dieser Form aus:
https://chatgpt-orchestrator-mcp.onrender.comDer Production-MCP-Endpunkt lautet:
https://chatgpt-orchestrator-mcp.onrender.com/mcpProduction-Health-Endpunkt zur Überprüfung im Browser:
https://chatgpt-orchestrator-mcp.onrender.com/healthGenau diese URL muss in ChatGPT eingefügt werden.
Verbindung mit ChatGPT herstellen
Öffnen Sie ChatGPT im Browser.
Gehen Sie zu
Settings.Öffnen Sie
Apps & ConnectorsoderConnectors.Aktivieren Sie den Developer Mode, falls dieser noch nicht eingeschaltet ist:
Advanced settingsDeveloper mode
Klicken Sie auf
CreateoderCreate connector.Ausfüllen:
Name:
OrchestratorDescription:
Runs my main orchestrator agent through MCP.Connector URL:
https://YOUR-RENDER-SERVICE.onrender.com/mcp
Speichern.
Wählen Sie in einem neuen Chat diesen Connector/Tool aus und bitten Sie ChatGPT, den Orchestrator aufzurufen.
Beispiel für eine Testanfrage in ChatGPT
Используй Orchestrator и вызови run_orchestrator с goal:
"Составь пошаговый план запуска MVP моего продукта"Die erwartete Antwort des Tools sieht derzeit etwa so aus:
{
"status": "ok",
"message": "Stub orchestrator accepted the goal.",
"goal": "Составь пошаговый план запуска MVP моего продукта",
"next_step": "Replace call_real_orchestrator() in server.py with your real agent call."
}Wo der Platzhalter durch den echten Agenten ersetzt wird
Öffnen Sie server.py und suchen Sie die Funktion:
def call_real_orchestrator(goal: str) -> dict[str, Any]:Derzeit gibt sie ein Test-JSON zurück. Ersetzen Sie später den Funktionskörper durch den echten Aufruf Ihres Hauptagenten.
Beispiel für eine zukünftige Ersetzung:
def call_real_orchestrator(goal: str) -> dict[str, Any]:
result = my_main_agent.run(goal)
return {
"status": "ok",
"goal": goal,
"result": result,
}Wichtig: Erstellen Sie in der ersten Phase keinen separaten MCP-Server für jeden Hilfsagenten. Lassen Sie ChatGPT nur das Tool run_orchestrator sehen, und lassen Sie Ihren Hauptagenten intern entscheiden, welche Hilfsagenten aufgerufen werden sollen.
Zusammenfassende URLs
Lokal:
http://localhost:8000/mcpProduction-URL-Vorlage:
https://YOUR-RENDER-SERVICE.onrender.com/mcpURL für ChatGPT:
https://YOUR-RENDER-SERVICE.onrender.com/mcpNützliche offizielle Dokumente
This server cannot be deployed
Related MCP Connectors
LLM Orchestration Agent (Mcp)
MCP-Native LLM Orchestration Agent
Discover and call AI agents via MCP. Supports A2A agents and platform agents with async tasks.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables any MCP client to drive a multi-agent orchestration engine with planning, specialist tools, critic revision, and human-in-the-loop approval for sensitive actions.3MIT
- AlicenseAqualityBmaintenanceEnables orchestrator agents to route coding tasks to native CLI worker agents via MCP, providing tools for agent discovery, task submission, waiting, inspection, and cancellation.53MIT
- FlicenseNot gradedqualityDmaintenanceEnables MCP clients to chat with a single Watson Orchestrate agent by exposing invoke_agent and get_agent tools for sending messages and fetching agent details.-
- AlicenseNot gradedqualityBmaintenanceEnables ChatGPT to interact with Engineering MCP through a secure MCP endpoint, including executing C2C plans and workspace file access with operator approval.Apache 2.0