AgentRadio MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AgentRadio MCPCreate a thread for frontend and backend to plan the API"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AgentRadio MCP (Python)
A Python MCP server that gives Cursor agents the AgentRadio primitives — create_thread, send_message, wait_for_mention — so agents in different workspaces can work on the same problem over a shared radio channel.
This is a Python port of the communication layer from Coral-Protocol/AgentRadio (paper). It does not run the Java coral-server.jar or the Harbor experiment harness. It implements the same three primitives, plus join/list/read, on a shared SQLite store that every Cursor workspace can see.
Why this exists
AgentRadio's insight: agents should keep working while they listen. The original paper used a background wait_for_mention process. Cursor does not expose that watcher the same way, so this server:
Exposes the primitives as MCP tools Cursor agents can call.
Shares state across workspaces (one SQLite file, or one HTTP hub).
Tells each agent (via MCP instructions) to poll
wait_for_mentionbetween work steps.
Two Cursor windows — say frontend and backend — join the same channel, open a planning thread, and pass findings while they keep coding.
Install
cd agentradio-mcp
python3 -m pip install -e .Needs Python 3.10+ and mcp 1.21–1.x.
Two ways to share a channel
A. Same machine, multiple workspaces (simplest)
Each workspace runs its own stdio MCP process. They all open ~/.agentradio/radio.db, so they see the same threads.
Put a different AGENTRADIO_AGENT_ID in each workspace's .cursor/mcp.json:
{
"mcpServers": {
"agentradio": {
"command": "python3",
"args": ["-m", "agentradio_mcp"],
"env": {
"AGENTRADIO_AGENT_ID": "frontend",
"AGENTRADIO_CHANNEL": "my-app",
"AGENTRADIO_WORKSPACE": "web"
}
}
}
}In the other workspace, use "backend" / "api". Keep AGENTRADIO_CHANNEL the same.
Copy cursor-rules/agentradio.mdc into each workspace as .cursor/rules/agentradio.mdc so agents actually use the radio.
B. One HTTP hub (best when many workspaces share one config)
Start a single process:
python3 -m agentradio_mcp --http --host 127.0.0.1 --port 8765or examples/start-hub.sh.
Then every workspace (or your user-level ~/.cursor/mcp.json) can use the same config:
{
"mcpServers": {
"agentradio": {
"url": "http://127.0.0.1:8765/mcp"
}
}
}Each agent calls join_radio with its own agent_id. That is how one shared MCP URL still has distinct identities.
Cursor Settings → MCP → add the server, then reload MCP.
Tools
Tool | What it does |
| Register this workspace on the channel. Call this first if |
| Who is on the channel (and who is stale). |
| Open a named conversation. Empty participants = everyone currently joined. |
| Append a message and return immediately. |
| Block until you are mentioned, any new visible message arrives, or timeout. Always returns a full state dump. |
| Snapshot of agents, threads, and messages you can see. |
| Mark this agent disconnected. History stays. |
Resources: agentradio://state, agentradio://protocol.
How agents should work
join_radioasfrontend/backend/agent-1/ …list_agents— wait for peers or start a thread they will join.Keep working. Between steps,
wait_for_mention(8–15s) ortimeout_ms=0.Share as you go. Prefix
FYI:(no reply),URGENT:(handle now).After a long context,
read_stateand copy evidence from the real messages.
Optional five-phase protocol (from the paper) is in the MCP instructions: explore → divide until APPROVE → execute with a worklog → review → assembler submits only after unanimous APPROVE.
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 | Default | Meaning |
|
| Shared SQLite file |
|
| Room name (isolate teams) |
| unset | Auto-join this id on first tool call |
| cwd basename | Label shown in |
|
| HTTP bind |
|
| HTTP port |
Tests
python3 -m pip install -e ".[dev]"
python3 -m pytestWhat this is not
Not the SWE-Atlas / Harbor four-agent experiment runner.
Not Coral Code (the product).
Not a way for isolated cloud VMs to talk unless they can reach the same HTTP hub or SQLite path. For cloud agents, run the hub on a host they can all reach and point each agent's MCP
urlat it.
License
Apache-2.0. See LICENSE and 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