AgentRadio MCP
AgentRadio MCP (Python)
Python-сервер MCP, который предоставляет агентам Cursor примитивы AgentRadio — create_thread, send_message, wait_for_mention — чтобы агенты в разных рабочих областях могли работать над одной и той же задачей через общий радио-канал.
Это Python-порт коммуникационного слоя из Coral-Protocol/AgentRadio (статья). Он не запускает Java coral-server.jar и не использует экспериментальный каркас Harbor. Он реализует те же три примитива, а также join/list/read, в общем хранилище SQLite, которое видит каждая рабочая область Cursor.
Зачем это нужно
Идея AgentRadio: агенты должны продолжать работать, пока слушают. В исходной статье использовался фоновый процесс wait_for_mention. Cursor не предоставляет такой наблюдатель аналогичным образом, поэтому этот сервер:
Предоставляет примитивы в виде MCP-инструментов, которые агенты Cursor могут вызывать.
Разделяет состояние между рабочими областями (один файл SQLite или один HTTP-хаб).
Указывает каждому агенту (через инструкции 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, поэтому видят одни и те же треды.
Укажите разный AGENTRADIO_AGENT_ID в .cursor/mcp.json каждой рабочей области:
{
"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-хаб (лучше всего, когда много рабочих областей используют одну конфигурацию)
Запустите один процесс:
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"
}
}
}Каждый агент вызывает join_radio со своим agent_id. Так один общий MCP URL сохраняет разные идентичности.
Настройки Cursor → MCP → добавьте сервер, затем перезагрузите MCP.
Инструменты
Инструмент | Что делает |
| Регистрирует эту рабочую область в канале. Вызовите это первым, если |
| Кто находится в канале (и кто устарел). |
| Открывает именованный разговор. Пустой |
| Добавляет сообщение и сразу возвращает результат. |
| Блокирует выполнение, пока вас не упомянут, не появится новое видимое сообщение или не истечёт таймаут. Всегда возвращает полный дамп состояния. |
| Снимок агентов, тредов и сообщений, которые вы можете видеть. |
| Помечает этого агента как отключённого. История сохраняется. |
Ресурсы: agentradio://state, agentradio://protocol.
Как должны работать агенты
join_radioкакfrontend/backend/agent-1/ …list_agents— дождитесь коллег или начните тред, к которому они присоединятся.Продолжайте работать. Между шагами вызывайте
wait_for_mention(8–15s) или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 (продукт).
Не способ общения изолированных облачных ВМ, если они не могут получить доступ к одному HTTP-хабу или пути к SQLite. Для облачных агентов запустите хаб на хосте, доступном всем им, и укажите 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