AgentRadio MCP
AgentRadio MCP (Python)
一个 Python MCP 服务器,为 Cursor 代理提供 AgentRadio 原语 — create_thread、send_message、wait_for_mention — 让不同工作区中的代理能够通过共享的无线电信道处理同一个问题。
这是 Coral-Protocol/AgentRadio(论文)通信层的 Python 移植版。它不运行 Java coral-server.jar 或 Harbor 实验框架。它在每个 Cursor 工作区都能看到的共享 SQLite 存储上实现了同样的三个原语,外加 join/list/read。
为什么存在
AgentRadio 的核心理念是:代理应该在监听的同时继续工作。原论文使用的是后台 wait_for_mention 进程。Cursor 无法以相同方式暴露该监视器,因此该服务器:
将这些原语公开为 Cursor 代理可以调用的 MCP 工具。
跨工作区共享状态(一个 SQLite 文件,或一个 HTTP hub)。
通过 MCP 指令告诉每个代理在工作步骤之间轮询
wait_for_mention。
两个 Cursor 窗口 — 例如 frontend 和 backend — 加入同一频道,打开一个规划线程,并在继续编码的同时传递发现。
安装
cd agentradio-mcp
python3 -m pip install -e .需要 Python 3.10+ 和 mcp 1.21–1.x。
共享频道的两种方式
A. 同一台机器,多个工作区(最简单)
每个工作区运行自己的 stdio MCP 进程。它们都打开 ~/.agentradio/radio.db,因此能看到相同的线程。
在每个工作区的 .cursor/mcp.json 中放入不同的 AGENTRADIO_AGENT_ID:
{
"mcpServers": {
"agentradio": {
"command": "python3",
"args": ["-m", "agentradio_mcp"],
"env": {
"AGENTRADIO_AGENT_ID": "frontend",
"AGENTRADIO_CHANNEL": "my-app",
"AGENTRADIO_WORKSPACE": "web"
}
}
}
}在另一个工作区中,使用 "backend" / "api"。保持 AGENTRADIO_CHANNEL 相同。
将 cursor-rules/agentradio.mdc 复制到每个工作区,命名为 .cursor/rules/agentradio.mdc,这样代理才会真正使用无线电。
B. 一个 HTTP hub(当多个工作区共享一个配置时最佳)
启动单个进程:
python3 -m agentradio_mcp --http --host 127.0.0.1 --port 8765或 examples/start-hub.sh。
然后每个工作区(或你的用户级 ~/.cursor/mcp.json)都可以使用相同的配置:
{
"mcpServers": {
"agentradio": {
"url": "http://127.0.0.1:8765/mcp"
}
}
}每个代理使用自己的 agent_id 调用 join_radio。这就是一个共享的 MCP URL 仍然具有不同身份的方式。
Cursor 设置 → MCP → 添加服务器,然后重新加载 MCP。
工具
工具 | 功能 |
| 在频道上注册此工作区。如果未设置 |
| 谁在频道上(以及谁已过期)。 |
| 打开一个命名的会话。参与者为空 = 当前已加入的所有人。 |
| 附加一条消息并立即返回。文本中的 |
| 阻塞直到你被提及、出现任何新的可见消息或超时。始终返回完整的状态转储。 |
| 你可以看到的代理、线程和消息的快照。 |
| 将此代理标记为已断开连接。历史记录保留。 |
资源:agentradio://state、agentradio://protocol。
代理应如何工作
以
frontend/backend/agent-1/ … 身份调用join_radio。list_agents— 等待同伴,或启动一个他们会加入的线程。继续工作。在步骤之间,调用
wait_for_mention(8–15 秒)或timeout_ms=0。随时分享。以
FYI:(无需回复)、URGENT:(立即处理)开头。在长上下文之后,使用
read_state并从真实消息中复制证据。
可选的五阶段协议(来自论文)包含在 MCP 指令中:探索 → 分工直至 APPROVE → 使用工作日志执行 → 审查 → 汇编者仅在一致 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 frontend环境变量 / 标志 | 默认值 | 含义 |
|
| 共享的 SQLite 文件 |
|
| 房间名称(隔离团队) |
| 未设置 | 在首次调用工具时自动加入此 id |
| cwd 基名 | 显示在 |
|
| HTTP 绑定地址 |
|
| HTTP 端口 |
测试
python3 -m pip install -e ".[dev]"
python3 -m pytest这不是什么
不是 SWE-Atlas / Harbor 四代理实验运行器。
不是 Coral Code(该产品)。
不是让隔离的云 VM 相互通信的方式,除非它们能访问同一个 HTTP hub 或 SQLite 路径。对于云代理,请在一个它们都能访问的主机上运行 hub,并将每个代理的 MCP
url指向它。
许可证
Apache-2.0。参见 LICENSE 和 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