Orchestration MCP
Orchestration MCP
TypeScript-MCP-Server zum Starten und Verfolgen externer Coding-Agent-Ausführungen.
Die MCP-Oberfläche bleibt stabil, während das interne Ausführungs-Backend auf Folgendes zielen kann:
lokal
codexlokal
claude_coderemote
remote_a2a
Dies ermöglicht es einem Top-Level-Agenten, ein MCP-Toolset aufzurufen, während die Orchestrierungsschicht entscheidet, ob Subagenten lokale SDK-Prozesse oder entfernte A2A-kompatible Agenten sind.
Installieren und Erstellen
cd orchestration-mcp
npm install
npm run buildDen MCP-Server ausführen
cd orchestration-mcp
npm startDies startet den MCP-Server von dist/index.js.
Codex MCP-Konfigurationsbeispiel
Wenn Codex diesen MCP-Server laden soll, fügen Sie einen Eintrag wie diesen zu ~/.codex/config.toml hinzu:
[mcp_servers.orchestration-mcp]
command = "node"
args = ["/abs/path/to/orchestration-mcp/dist/index.js"]
enabled = trueBeispiel unter Verwendung dieses Repository-Pfads:
[mcp_servers.orchestration-mcp]
command = "node"
args = ["/Users/fonsh/PycharmProjects/Treer/nanobot/orchestration-mcp/dist/index.js"]
enabled = trueStarten Sie nach dem Aktualisieren der Konfiguration Codex neu, damit die MCP-Server neu geladen werden.
Was der MCP bereitstellt
Der Server registriert diese Tools:
spawn_runget_runpoll_eventscancel_runcontinue_runlist_runsget_event_artifact
Typischer MCP-Ablauf
Rufen Sie
spawn_runauf, um eine Subagent-Ausführung zu erstellen.Rufen Sie
poll_eventsauf, bis Sie ein Terminal-Ereignis oder einen Wartezustand sehen.Wenn die Ausführung in
input_requiredoderauth_requiredübergeht, rufen Siecontinue_runauf.Rufen Sie
get_runfür die neueste Ausführungszusammenfassung auf.Wenn ein Ereignis
artifact_refsenthält, rufen Sieget_event_artifactauf, um die vollständige Nutzlast abzurufen.
Hinweise zu spawn_run
backend:"codex","claude_code"oder"remote_a2a"role: Orchestrierungs-Rollenbezeichnung wieplanner,workeroderreviewerprompt: Klartextanweisung für einfache Ausführungeninput_message: optionale strukturierte Nachricht für Multipart/A2A-artige Eingabencwd: absolutes Arbeitsverzeichnissession_mode:newoderresumesession_id: erforderlich beim Fortsetzen einer vorherigen Sitzungprofile: optionaler Pfad zu einer Persona-/Stellenbeschreibungsdatei. Wenn bereitgestellt, lädt die Orchestrierung die Datei und fügt sie in den Agentenkontext ein. Backends mit nativer System-Prompt-Unterstützung verwenden sie dort; andere Backends stellen sie dem Ausführungskontext voran.
Lassen Sie profile leer, sofern Sie nicht ausdrücklich angewiesen wurden, ein Profil zu verwenden.
output_schema: optionales JSON-Schema für strukturierte Endergebnissemetadata: optionale Orchestrierungs-Metadaten, die zur Korrelation und Prüfung gespeichert werdenbackend_config: optionale Backend-spezifische Einstellungen. Setzen Sie fürremote_a2ahieragent_urlund alle Authentifizierungs-Header/-Token.
Für alle Backends ist cwd das Arbeitsverzeichnis auf Orchestrierungsseite, das für die Ausführungs-/Sitzungsspeicherung verwendet wird.
Für remote_a2a wird spawn_run.cwd auch an den entfernten Subagenten weitergeleitet und wird zum Ausführungsverzeichnis dieses A2A-Aufgabenkontexts.
Mindestens prompt oder input_message ist erforderlich.
Einfaches Beispiel:
{
"backend": "codex",
"role": "worker",
"prompt": "Inspect the repository and summarize the architecture.",
"cwd": "/abs/path/to/project",
"session_mode": "new"
}Remote A2A-Beispiel:
{
"backend": "remote_a2a",
"role": "worker",
"prompt": "Inspect the repository and summarize the architecture.",
"cwd": "/abs/path/to/project",
"session_mode": "new",
"backend_config": {
"agent_url": "http://127.0.0.1:53552"
}
}Assets für den Reviewer-Workflow
Dieses Repository enthält ein sofort einsatzbereites Reviewer-Setup für Multi-Agenten-Coding-Workflows:
Profil:
./profile/reviewer-remediator.md
Empfohlene spawn_run-Verwendung für einen Reviewer-Lauf:
{
"backend": "codex",
"role": "reviewer",
"cwd": "/abs/path/to/project",
"session_mode": "new",
"profile": "/abs/path/to/orchestration-mcp/profile/reviewer-remediator.md",
"prompt": "Review only the latest diff in the current working directory, apply low-risk fixes when clearly correct, validate them, and write a remediation report."
}Hinweise zu continue_run
Verwenden Sie continue_run, wenn eine Ausführung in input_required oder auth_required übergeht und das Backend eine interaktive Fortsetzung unterstützt.
Eingaben:
run_idinput_message
Hinweise zu get_event_artifact
Verwenden Sie get_event_artifact, wenn ein von poll_events zurückgegebenes bereinigtes Ereignis event.data.artifact_refs enthält und Sie die vollständige ursprüngliche Nutzlast benötigen.
Eingaben:
run_idseqfield_path: JSON-Pointer relativ zuevent.data, zum Beispiel/stdout,/raw_tool_use_resultoder/input/contentoffset: optionaler Byte-Offset, Standard0limit: optionales Byte-Limit, Standard65536
Typischer Ablauf:
Rufen Sie
poll_eventsauf.Untersuchen Sie
event.data.artifact_refsbei jedem bereinigten Ereignis.Rufen Sie
get_event_artifactmit derselbenrun_id, der Ereignis-seqund einem der bereitgestelltenfield_path-Werte auf.
Backend-Standardeinstellungen
codex: verwendet die aktuellen@openai/codex-sdk-Standardeinstellungen plus nicht-interaktive Ausführungseinstellungen, die bereits im Adapter verdrahtet sindclaude_code: verwendet@anthropic-ai/claude-agent-sdkmitpermissionMode: "bypassPermissions", sodass der MCP-Aufruf nicht blockierend bleibt, und verwendet persistente Backend-Sitzungs-IDs fürresumewiederremote_a2a: verbindet sich mit einem entfernten A2A-kompatiblen Agenten unter Verwendung von@a2a-js/sdk, streamt Aufgabenaktualisierungen in normalisierte Orchestrierungsereignisse und unterstütztcontinue_runfürinput_required
Stellen Sie bei claude_code sicher, dass die lokale Umgebung bereits über eine funktionierende Claude-Code-Authentifizierung verfügt, bevor Sie testen.
A2A-Agenten testen
Das Repo enthält Hilfsmodule für lokal A2A-verpackte Testagenten:
dist/test-agents/codex-a2a-agent.jsdist/test-agents/claude-a2a-agent.jsdist/test-agents/start-a2a-agent.js
Diese exportieren Start-Hilfsprogramme, die die lokalen Codex- und Claude-SDKs hinter einem A2A-Server verpacken, sodass der Orchestrierungs-MCP sein internes remote_a2a-Backend gegen realistische Subagenten testen kann.
So starten Sie einen interaktiven Wrapper-Launcher:
npm run start:a2a-agentDas Skript fragt, ob codex oder claude_code verpackt werden soll.
Nach dem Start gibt es die agent_url und eine sofort einsatzbereite spawn_run-Nutzlast für die MCP-Schicht aus. Der Wrapper sperrt beim Start kein Arbeitsverzeichnis mehr. Jeder remote_a2a-Aufruf verwendet das für spawn_run bereitgestellte cwd, und der Wrapper hält dieses cwd für die Lebensdauer derselben A2A-contextId fest.
Speicherung
Ausführungsdaten werden gespeichert unter:
<cwd>/.nanobot-orchestrator/
runs/
<run_id>/
run.json
events.jsonl
result.json
artifacts/
000008-command_finished/
manifest.json
stdout.0001.txt
stdout.0002.txt
sessions/
<session_id>.jsonHinweise:
events.jsonlspeichert bereinigte Ereignisse, die für die Nutzung durchpoll_eventsvorgesehen sind.Zu große Roh-Nutzlasten werden in ereignisspezifische Artefaktdateien verschoben und von
event.data.artifact_refsreferenziert.run.jsonundresult.jsonbehalten den aktuellen Ausführungs-Snapshot und das Endergebnisverhalten bei.Der Name des Speicherverzeichnisses ist derzeit
.nanobot-orchestrator/aus Gründen der Abwärtskompatibilität mit der bestehenden Implementierung.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/dufangshi/orchestration-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server