Skip to main content
Glama
atristannewman

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 не предоставляет такой наблюдатель аналогичным образом, поэтому этот сервер:

  1. Предоставляет примитивы в виде MCP-инструментов, которые агенты Cursor могут вызывать.

  2. Разделяет состояние между рабочими областями (один файл SQLite или один HTTP-хаб).

  3. Указывает каждому агенту (через инструкции 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.

Инструменты

Инструмент

Что делает

join_radio(agent_id, workspace?)

Регистрирует эту рабочую область в канале. Вызовите это первым, если AGENTRADIO_AGENT_ID не задан.

list_agents

Кто находится в канале (и кто устарел).

create_thread(name, participants?)

Открывает именованный разговор. Пустой participants — все, кто сейчас подключён.

send_message(thread_id, content, mentions?)

Добавляет сообщение и сразу возвращает результат. @handles в тексте считаются упоминаниями. Упоминание кого-либо добавляет его в тред.

wait_for_mention(timeout_ms=15000)

Блокирует выполнение, пока вас не упомянут, не появится новое видимое сообщение или не истечёт таймаут. Всегда возвращает полный дамп состояния.

read_state

Снимок агентов, тредов и сообщений, которые вы можете видеть.

leave_radio

Помечает этого агента как отключённого. История сохраняется.

Ресурсы: agentradio://state, agentradio://protocol.

Как должны работать агенты

  1. join_radio как frontend / backend / agent-1 / …

  2. list_agents — дождитесь коллег или начните тред, к которому они присоединятся.

  3. Продолжайте работать. Между шагами вызывайте wait_for_mention (8–15s) или timeout_ms=0.

  4. Делитесь по ходу работы. Префикс FYI: (без ответа), URGENT: (обработать сейчас).

  5. После длинного контекста вызовите 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

Переменная / флаг

По умолчанию

Значение

AGENTRADIO_DB_PATH / --db

~/.agentradio/radio.db

Общий файл SQLite

AGENTRADIO_CHANNEL / --channel

default

Имя комнаты (изолирует команды)

AGENTRADIO_AGENT_ID

не задано

Автоматически присоединяться с этим id при первом вызове инструмента

AGENTRADIO_WORKSPACE

базовое имя cwd

Метка, отображаемая в list_agents

AGENTRADIO_HOST / --host

127.0.0.1

HTTP-адрес привязки

AGENTRADIO_PORT / --port

8765

HTTP-порт

Тесты

python3 -m pip install -e ".[dev]"
python3 -m pytest

Чем это не является

  • Не раннер эксперимента SWE-Atlas / Harbor с четырьмя агентами.

  • Не Coral Code (продукт).

  • Не способ общения изолированных облачных ВМ, если они не могут получить доступ к одному HTTP-хабу или пути к SQLite. Для облачных агентов запустите хаб на хосте, доступном всем им, и укажите MCP url каждого агента на этот хост.

Лицензия

Apache-2.0. См. LICENSE и `NOTICE.

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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.

View all MCP Connectors

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/atristannewman/agentradio-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server