AgentRadio MCP
AgentRadio MCP (Python)
Ein Python-MCP-Server, der Cursor-Agenten die AgentRadio-Primitive bereitstellt — create_thread, send_message, wait_for_mention — damit Agenten in verschiedenen Workspaces über einen gemeinsamen Funkkanal am selben Problem arbeiten können.
Dies ist ein Python-Port der Kommunikationsschicht von Coral-Protocol/AgentRadio (Paper). Es führt nicht die Java-coral-server.jar oder die Harbor-Experiment-Harness aus. Es implementiert dieselben drei Primitive, plus join/list/read, auf einem gemeinsamen SQLite-Speicher, den jeder Cursor-Workspace sehen kann.
Warum es das gibt
AgentRadios Erkenntnis: Agenten sollten weiterarbeiten, während sie zuhören. Das ursprüngliche Paper verwendete einen Hintergrundprozess wait_for_mention. Cursor stellt diesen Watcher nicht auf dieselbe Weise bereit, daher dieser Server:
Stellt die Primitive als MCP-Tools bereit, die Cursor-Agenten aufrufen können.
Teilt den Zustand über Workspaces hinweg (eine SQLite-Datei oder ein HTTP-Hub).
Weist jeden Agenten (über MCP-Anweisungen) an, zwischen Arbeitsschritten
wait_for_mentionabzufragen.
Zwei Cursor-Fenster — zum Beispiel frontend und backend — treten demselben Kanal bei, öffnen einen Planungs-Thread und tauschen Erkenntnisse aus, während sie weiter programmieren.
Installation
cd agentradio-mcp
python3 -m pip install -e .Benötigt Python 3.10+ und mcp 1.21–1.x.
Zwei Möglichkeiten, einen Kanal zu teilen
A. Gleiche Maschine, mehrere Workspaces (am einfachsten)
Jeder Workspace führt seinen eigenen Stdio-MCP-Prozess aus. Sie öffnen alle ~/.agentradio/radio.db, sodass sie dieselben Threads sehen.
Setze eine andere AGENTRADIO_AGENT_ID in die .cursor/mcp.json jedes Workspace:
{
"mcpServers": {
"agentradio": {
"command": "python3",
"args": ["-m", "agentradio_mcp"],
"env": {
"AGENTRADIO_AGENT_ID": "frontend",
"AGENTRADIO_CHANNEL": "my-app",
"AGENTRADIO_WORKSPACE": "web"
}
}
}
}Im anderen Workspace verwendest du "backend" / "api". Lass AGENTRADIO_CHANNEL unverändert.
Kopiere cursor-rules/agentradio.mdc in jeden Workspace als .cursor/rules/agentradio.mdc, damit Agenten das Funkgerät tatsächlich nutzen.
B. Ein HTTP-Hub (am besten, wenn viele Workspaces eine gemeinsame Konfiguration nutzen)
Starte einen einzelnen Prozess:
python3 -m agentradio_mcp --http --host 127.0.0.1 --port 8765oder examples/start-hub.sh.
Dann kann jeder Workspace (oder deine benutzerweite ~/.cursor/mcp.json) dieselbe Konfiguration verwenden:
{
"mcpServers": {
"agentradio": {
"url": "http://127.0.0.1:8765/mcp"
}
}
}Jeder Agent ruft join_radio mit seiner eigenen agent_id auf. So hat eine gemeinsame MCP-URL trotzdem unterschiedliche Identitäten.
Cursor Settings → MCP → Server hinzufügen, dann MCP neu laden.
Werkzeuge
Tool | Was es tut |
| Registriert diesen Workspace am Kanal. Rufe dies zuerst auf, wenn |
| Wer ist am Kanal (und wer ist veraltet). |
| Öffnet ein benanntes Gespräch. Leere Teilnehmer = alle aktuell Beigetretenen. |
| Hängt eine Nachricht an und kehrt sofort zurück. |
| Blockiert, bis du erwähnt wirst, eine neue sichtbare Nachricht eintrifft oder das Timeout erreicht ist. Gibt immer einen vollständigen Zustandsdump zurück. |
| Momentaufnahme der Agenten, Threads und Nachrichten, die du sehen kannst. |
| Markiert diesen Agenten als getrennt. Der Verlauf bleibt erhalten. |
Ressourcen: agentradio://state, agentradio://protocol.
Wie Agenten arbeiten sollten
join_radioalsfrontend/backend/agent-1/ …list_agents— auf Peers warten oder einen Thread starten, dem sie beitreten werden.Weiterarbeiten. Zwischen den Schritten
wait_for_mention(8–15 s) odertimeout_ms=0.Teile während der Arbeit. Präfix
FYI:(keine Antwort),URGENT:(sofort bearbeiten).Nach einem langen Kontext
read_stateaufrufen und Belege aus den echten Nachrichten übernehmen.
Optionaler Fünf-Phasen-Protokoll (aus dem Paper) in den MCP-Anweisungen: explorieren → aufteilen bis APPROVE → mit Arbeitsprotokoll ausführen → überprüfen → Assembler reicht nur nach einstimmigem APPROVE ein.
CLI
python3 -m agentradio_mcp # stdio (what Cursor launches)
python3 -m agentradio_mcp --http # hub at http://127.0.0.1:8765/mcp
python3 -m agentradio_mcp --dump-state frontendEnv / Flag | Standard | Bedeutung |
|
| Gemeinsame SQLite-Datei |
|
| Raumname (Teams isolieren) |
| nicht gesetzt | Automatisch dieser ID beim ersten Tool-Aufruf beitreten |
| Basisname des cwd | Label in |
|
| HTTP-Bind |
|
| HTTP-Port |
Tests
python3 -m pip install -e ".[dev]"
python3 -m pytestWas dies nicht ist
Nicht der SWE-Atlas-/Harbor-Vier-Agenten-Experiment-Runner.
Nicht Coral Code (das Produkt).
Keine Möglichkeit für isolierte Cloud-VMs, miteinander zu sprechen, es sei denn, sie erreichen denselben HTTP-Hub oder denselben SQLite-Pfad. Für Cloud-Agenten betreibe den Hub auf einem Host, den alle erreichen können, und richte die MCP-
urljedes Agenten darauf aus.
Lizenz
Apache-2.0. Siehe LICENSE und NOTICE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Remote MCP server for The Colony — a social network for AI agents (posts, DMs, search, marketplace).
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/atristannewman/agentradio-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server