agent-chatroom
MCP чат-комната для агентов
Готовится к публичному предпросмотру: основные функции работают, но установочное развёртывание и интеграция с новейшим каналом Claude Code ещё в разработке. Публичный роадмап — в
ROADMAP.md, способы участия — вCONTRIBUTING.md.
Когда несколько субагентов работают одновременно, этот MCP-инструмент останавливает агента прямо перед важным решением и позволяет человеку в реальном времени одобрять, давать обратную связь и вмешиваться через дашборд или телефон.
Ключевая идея — блокирующий шлюз (gate): агент останавливается перед рискованным или труднообратимым действием (развёртывание, удаление, внешние вызовы…) и ждёт ответа человека. Ответ даётся не в терминале, а через дашборд для человека (включая телефон в той же Wi-Fi-сети) — кнопками и полями ввода.

Выше: живое демо дашборда управления — справа в блоке NEEDS YOU человек обрабатывает шлюзы (кнопка одобрения, поле обратной связи, снятие блокера). Слева — ростер (статусы агентов), по центру — поток (разделители по датам, фильтр по типам). На десктопе — трёхпанельный вид, на мобильном — нижняя панель (bottom sheet). (Демо-состояние из
seed.py)
Зачем это сделано (ключевая ценность)
🚦 Блокирующий шлюз — агент останавливается перед решением и ждёт человека. Это не уведомление, которое можно проигнорировать при опросе, а настоящая точка вмешательства, которая снимается только ответом человека.
📱 Двусторонний дашборд/телефон — без терминала: кнопки [Одобрить]/[Отклонить], поле обратной связи и поле снятия блокера позволяют продолжить остановленного агента. Можно вмешаться с телефона, даже находясь вне дома.
🗄️ SQLite как единый источник истины — разные субагенты используют один файл БД (WAL) и согласуют состояние. Никакой памяти в процессе, все времена — UTC ISO 8601.
Related MCP server: @looppause/mcp
Возможности
Три типа шлюзов (MCP-инструменты)
Инструмент | Характер | Как отвечает человек |
| Жёсткий шлюз — бесконечное ожидание до принятия решения | Кнопки [Одобрить]/[Отклонить] на дашборде |
| Мягкий шлюз — автоматическое продолжение после | Поле обратной связи на дашборде |
| Запись и снятие заблокированного состояния как первостепенной сущности | Поле причины снятия на дашборде (или инструмент) |
Все шлюзы работают через опрос БД — сервер записывает ожидание (pending) в БД и опрашивает решение человека (кнопки/поля дашборда пишут в БД). Агент тем временем заблокирован.
Дашборд мониторинга
Разделение и переключение комнат — переключение чат-комнат по задачам вкладками (глубокая ссылка
?room=).Бейджи внимания по комнатам — даже при просмотре другой комнаты бейджи показывают ожидание одобрения+обратной связи (янтарный) и открытые блокеры (красный) в этой комнате.
Панель NEEDS YOU — три типа шлюзов, ожидающих человека, выделены в самом верху.
Ростер с 4 состояниями — производные статусы агентов (ожидание 🟡 > блокер 🔴 > завершено 🟢 > работает 🔵).
Фильтр по типам — фильтрация потока чипами типов сообщений.
Разделители по датам — границы дат в потоке (сегодня/вчера/
YYYY-MM-DD (день недели)).Автообновление — опрос каждые 1–2 секунды, подсказка при пустом состоянии.
Прочие MCP-инструменты
post_message— запись сообщения ·read_messages— чтение (поддержкаsinceиlimit).wait_for_message— ожидание упоминания для существующих сессионных воркеров. Новейший альтернативный путь на основе каналов будет проверен в v6.join_room/leave_room/kick/set_presence— членство в комнате и статус.
Текущие расширения
Управление комнатами — создание, изменение отображаемого имени, мягкое удаление, восстановление из корзины, окончательное удаление после резервной копии.
v4 PoC локального модератора — оценка и маршрутизация моделями GGUF, мост к БД и сравнительный стенд. Модели автоматически не загружаются.
v5 порождение событий — воркеры Claude CLI на основе упоминаний, роли, модели, уровень усилий, бюджет, автономный пинг-понг и панель управления на дашборде.
v6 планирование — пробуждение бездействующих сессий без циклов, рабочее пространство, общая/ролевая память и наследование сессий. Пока не реализовано.
Быстрый старт
Для новичков: копируйте и выполняйте по одной строке. Предварительная подготовка — Python 3.13 + виртуальное окружение (
.venv), созданное в этой папке.
1) Установка зависимостей
.venv/bin/python3 -m pip install -r requirements.txt2) Регистрация MCP-сервера (stdio)
Зарегистрируйте этот сервер в Claude Code. Замените /абсолютный_путь на реальный путь к этому проекту.
claude mcp add agent-chatroom -e CHATROOM_DB=/절대경로/chatroom.db -- /절대경로/.venv/bin/python3 /절대경로/src/server.py→ После регистрации проверьте подключение через /mcp в Claude Code — инструменты будут доступны в виде mcp__agent-chatroom__*.
3) Запуск дашборда (отдельный процесс от MCP-сервера)
Самый простой способ — однострочный лаунчер (вывод предварительной проверки + запуск существующего дашборда как есть, без нового поведения):
python launch.pyПрежние ручные команды тоже работают:
.venv/bin/python3 src/dashboard/server.py→ В браузере откройте http://127.0.0.1:7777. Если шлюз ожидает ответа, дашборд должен быть включён, иначе человек не сможет ответить.
Чтобы смотреть с телефона в той же Wi-Fi-сети:
DASHBOARD_HOST=0.0.0.0 .venv/bin/python3 src/dashboard/server.py→ Откройте в браузере телефона адрес Телефонный доступ: http://192.168.x.x:7777, который выводится при запуске.
4) Осмотр в демо-состоянии
Чтобы посмотреть дашборд без реальных агентов, загрузите образцы данных одной командой.
.venv/bin/python3 seed.py→ Сначала автоматически создаётся резервная копия текущей БД (chatroom.db.<время>.bak), затем БД заполняется демо-данными: 2 комнаты, 3 типа шлюзов, 4 состояния ростера. Это состояние показано на скриншоте выше.
🔐 Безопасность
Путь записи (одобрения) на дашборде — только локально/в той же сети. В режиме
0.0.0.0любой в той же Wi-Fi-сети может подключиться и одобрять — используйте только в доверенной сети.Не делайте проброс портов за пределы роутера (в интернет) — вы станете целью мирового сканирования.
Для использования вне Wi-Fi (например, через LTE) рекомендуется частная сеть Tailscale. Доступ только между устройствами вашего аккаунта, порты в интернет не открываются — туннель выполняет роль аутентификации. При запуске с
0.0.0.0в стартовом выводе автоматически появится адрес→ Tailscale: http://100.x:7777. Процедура установки и подключения телефона — вPHASE3-TAILSCALE.md. (Публичное раскрытие, например Tailscale Funnel, запрещено.)При первом запуске macOS может показать всплывающее окно «Разрешить входящие подключения» — разрешите, чтобы дашборд был виден с телефона. Порт можно изменить через
DASHBOARD_PORT.
Что нужно знать при использовании
Держите дашборд включённым, пока шлюз ожидает ответа.
request_approvalостанавливает агента до решения человека (или доtimeout_seconds). Если дашборд выключен, никто не сможет записать решение, и ожидание продолжится.wait_for_feedback— мягкий шлюз. Обратная связь принимается через поле на дашборде, а по истеченииtimeout_seconds(по умолчанию 30 секунд) происходит автоматическое продолжение. (Метод опроса БД не использует диалог в терминале — прежнее поведение elicit-версии «закрыть окно по Esc после таймаута» больше не применяется.)Блокеры защищены от подделки. Они создаются только через
report_blocker;post_messageзапрещает тип blocker.
Документация
Файл | Содержание |
| Публичный роадмап и кандидаты для участия |
| Среда разработки, объём PR и методы проверки |
| Конфиденциальное сообщение об уязвимостях и границы безопасности |
Участие
Приветствуются воспроизведение багов, улучшение документации, исследование совместимости с ОС. Для крупных функций сначала согласуйте объём и границы безопасности в issue, затем разбивайте на небольшие PR. Подробная процедура — в CONTRIBUTING.md.
Лицензия
Mozilla Public License 2.0. При распространении с изменениями существующих файлов вы должны раскрыть изменённые исходники этих файлов на условиях MPL-2.0; более крупные работы, объединяющие их с отдельными файлами, могут распространяться на других условиях.
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 Servers
- FlicenseNot gradedqualityAmaintenanceThe Control Plane for Autonomous AI Enforce policy before execution, require human approvals where risk demands it, and keep a full audit trail — from first action to final result.495
- AlicenseNot gradedqualityCmaintenancePauses AI agent execution and routes approval requests to humans via Slack or email, with cryptographically signed proof of the human's decision.197MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to request human approvals with customizable forms, webhooks, and team features.64MIT
- AlicenseNot gradedqualityDmaintenanceEnables real-time communication and orchestration of multiple AI agents with a web dashboard for monitoring agent activities, tasks, and artifacts.MIT
Related MCP Connectors
Human-in-the-loop for AI agents. Submit choices, get a human decision.
Human-in-the-loop for AI coding agents — ask questions, get approvals via Slack.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
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/meeeeeca2/agent-chatroom'
If you have feedback or need assistance with the MCP directory API, please join our Discord server