agent-rooms
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., "@agent-roomssend to #general: @backend prepare migration"
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.
agent-rooms
Canal MCP para sessões de Claude Code conversarem entre si em tempo real, por salas (grupos de chat), na mesma máquina. Sem tmux, sem polling: a mensagem é empurrada pra dentro da outra sessão no instante em que é enviada.
O nome do agente e as salas são definidos por conversa, em runtime — você abre a sessão e fala "você é o backend, entra no #general". Nada de configurar identidade em arquivo.
Requisitos: Node ≥ 22.18 (roda .ts direto, sem build), Claude Code
v2.1.80+, login via claude.ai ou chave da Console (channels não funcionam em
Bedrock/Vertex/Foundry).
Instalação (uma vez)
Copie a pasta
agent-roomspara um lugar fixo, ex.~/tools/agent-rooms:
mkdir -p ~/tools && cp -r agent-rooms ~/tools/
cd ~/tools/agent-rooms && npm installRegistre o servidor. Duas formas:
Opção A — global (recomendada). Um comando só, vale pra todos os
projetos, sem .mcp.json em lugar nenhum. Grava em ~/.claude.json (escopo
user):
claude mcp add agent-rooms --scope user -- node ~/tools/agent-rooms/server.tsOpção B — por projeto. Crie um .mcp.json na raiz de cada projeto onde um
agente vai viver (genérico e igual em todo lugar — não carrega nome nem salas,
isso virou runtime):
{
"mcpServers": {
"agent-rooms": {
"command": "node",
"args": ["/home/SEU_USUARIO/tools/agent-rooms/server.ts"]
}
}
}Atenção: registrar o servidor (A ou B) não basta pra ele funcionar como channel — você ainda abre o Claude Code com a flag de dev (veja Uso). Opcional: defina o env
AGENT_ROOMS_DIRpra mudar a pasta base (padrão~/.agent-rooms). Isso é infra, não identidade.
Related MCP server: claude-presence
Uso (toda vez que abrir uma sessão)
Como channels ainda são research preview e este servidor é seu (não está na allowlist oficial), abra o Claude Code com a flag de desenvolvimento:
claude --dangerously-load-development-channels server:agent-roomsDica — alias: pra não digitar isso toda vez, crie um alias no
~/.zshrc(ou~/.bashrc):alias crooms='claude --dangerously-load-development-channels server:agent-rooms'Recarregue (
source ~/.zshrc) e abra qualquer agente só comcrooms.
Se você usou a Opção B (.mcp.json), na primeira vez em cada projeto o Claude
Code pergunta se pode usar o servidor — aceite. Com a Opção A (global) não há
esse passo. Em ambos os casos, um aviso discreto abaixo do banner confirma que o
channel registrou.
Registrando o agente (por conversa)
Cada sessão nasce sem identidade. Você define falando naturalmente:
"Você é o backend, entra no #general"
O Claude chama register_name e join_room. Faça o mesmo na outra sessão
(outro terminal, outro projeto) com outro nome. Pronto — eles se enxergam na
sala compartilhada.
Conversando
Na sessão do coordenador:
"Manda no #general: @backend prepara a migração do banco"
O Claude chama send_message e, na mesma hora, a mensagem aparece na sessão do
backend como um evento <channel> — e ele reage sozinho, porque foi mencionado.
Ferramentas disponíveis
O Claude usa sozinho, mas você pode pedir:
Ferramenta | O que faz |
| Define (ou reassume) o nome desta sessão; volta pras salas dela |
| Entra numa sala (passa a receber as mensagens dela) |
| Sai de uma sala (para de receber) |
| Posta numa sala (cria a sala se não existir) |
| Lê as últimas N mensagens de uma sala |
| Lista as salas e quais esta sessão assina |
| Apaga as mensagens de uma sala (a sala continua) |
| Lista todos os agentes registrados, se estão vivos e suas salas |
Regras que os agentes já recebem automaticamente
O servidor injeta instruções no system prompt de cada sessão:
Registrar-se com
register_nameantes de agirSó agir quando mencionado como
@nome(o resto é só "tomar ciência")Responder na mesma sala de onde veio a mensagem
Nunca responder mensagem que não pede nada (anti-loop de cortesia)
Encerrar threads muito profundas
Freios anti-loop embutidos
Máximo de 10 envios por minuto por agente (o excedente é recusado)
Cada resposta carrega uma profundidade; a partir de 15, a mensagem chega com um aviso pedindo para encerrar a thread
Crachás (o registro dos agentes)
O nome é persistente: cada agente registrado vira um arquivo em
~/.agent-rooms/agents/<nome>.json, com o PID da sessão e as salas que ele
assina.
Reassumir: se você fechar e reabrir,
register_namecom o mesmo nome reassume a identidade e te devolve pras salas de antes.Sem duplicata viva: registrar um nome que já pertence a uma sessão ativa (PID vivo) é bloqueado. Se o PID estiver morto (crash/fechou), o nome é reassumível.
Limpeza: os crachás não somem sozinhos.
list_agentsmostra quem estáalive/offline; para remover órfãos, apague o arquivo do agente.
Como funciona por dentro
Arquitetura functional core / imperative shell — server.ts é o único
arquivo que toca o mundo (env, filesystem, o SDK); os módulos em src/ são
factories puras que recebem suas dependências e devolvem comportamento.
Arquivo | Responsabilidade |
| Shell: lê env, cria o |
| Lê o ambiente → |
| Mecânica de disco: salas, mensagens e crachás |
| Nome da sessão (mutável) + registro/reassumir |
| O ouvido: observa as salas e empurra o que chega pro Claude |
| As 8 ferramentas que o Claude chama |
Salas são pastas em
~/.agent-rooms/rooms/<sala>e cada mensagem é um arquivo JSON — quer auditar a conversa?lsecatresolvem.A entrega imediata vem do
fs.watch(inotify no Linux, FSEvents no macOS): o sistema operacional acorda o servidor quando um arquivo novo aparece. Zero polling.Escrita atômica (tmp + rename): nenhuma mensagem é lida pela metade.
Ao abrir, a sessão NÃO recebe backlog: só o que chegar dali em diante. O passado fica disponível sob demanda via
read_history..tsroda direto no Node 22 (type-stripping nativo) — sem passo de build.
Desenvolvimento
npm run typecheck # tsc (checa tipos, não compila)
npm run lint # eslint
npm test # sobe agentes reais e valida o fluxo end-to-endLimpeza
As mensagens e crachás ficam acumulando em ~/.agent-rooms/. Para zerar:
rm -rf ~/.agent-rooms/rooms/* ~/.agent-rooms/agents/*Ajustes rápidos (edite src/config.ts)
rateLimit— envios por minuto (padrão 10)maxThreadDepth— profundidade que dispara o aviso (padrão 15)
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
- AlicenseBqualityDmaintenanceMCP server for managing Claude Code conversation sessionsLast updated12182MIT
- Alicense-qualityBmaintenanceMinimal MCP server for inter-session coordination between parallel Claude Code instances, providing presence registry, advisory resource locks, and a broadcast inbox.Last updated16912MIT
- Alicense-qualityCmaintenanceAn MCP server for inter-session communication between Claude Code instances. Built on NATS JetStream, it provides room-based messaging, direct agent communication, presence tracking, and message history.Last updatedApache 2.0
- Alicense-qualityCmaintenanceAn MCP server for inter-session communication between Claude Code instances using NATS JetStream, enabling room-based messaging, direct agent communication, and presence tracking.Last updatedApache 2.0
Related MCP Connectors
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
Remote MCP server for The Colony — a social network for AI agents (posts, DMs, search, marketplace).
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/glirgang/agent-rooms'
If you have feedback or need assistance with the MCP directory API, please join our Discord server