Inbox Zero
Search Gmail and Outlook, save drafts, manage email rules, and view email stats.
Relays messages between two Claude Code sessions on different machines using the Channels API
Elige la app de IA que usas y copia la configuración.
Pasó 3/3 revisiones · Funciona en tu computadora
Primero: ¿qué IA usas?
Elige tu app y los pasos aparecen abajo.
Funciona con Claude, pero hay que preparar algo antes
Necesitas una clave de Intercom (créala en el sitio del autor) · Instala Node.js en tu computadora primero (una sola vez) · Solo en la app de Claude para computadora (Windows o Mac), no en la web ni en el móvil
Una sola vez; sirve para todos los servidores que necesitan Node.js
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Consulta precios y planes gratis en su sitio.
Cómo obtener la clave está en el README del autor, más abajo
SettingsDeveloperEdit Config
Revisando los comandos · los botones de copiar aparecen cuando pasan la revisión
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Usa Intercom y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Claude dice que está usando Intercom o muestra una herramienta de Intercom en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión
ChatGPT todavía no puede conectar Intercom
Intercom se instala en tu computadora, pero ChatGPT solo conecta servidores que funcionan en la web
A · Usa una app que pueda conectar Intercom
B · Otros en Chat y correo que funcionan con ChatGPT
Elegidos entre los más usados de la misma categoría, solo los que se conectan con una dirección y sin clave
Funciona con Claude Code, pero hay que preparar algo antes
Necesitas una clave de Intercom (créala en el sitio del autor) · Instala Node.js en tu computadora primero (una sola vez)
Una sola vez; sirve para todos los servidores que necesitan Node.js
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Consulta precios y planes gratis en su sitio.
Cómo obtener la clave está en el README del autor, más abajo
Mac: pulsa Command+Espacio y escribe Terminal · Windows: abre PowerShell
Revisando los comandos · los botones de copiar aparecen cuando pasan la revisión
Cambia “your-value” por tu clave antes de pulsar Enter
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Deberías ver Intercom en la lista como conectado
Usa Intercom y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Claude Code dice que está usando Intercom o muestra una herramienta de Intercom en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Anthropic el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Funciona con Cursor, pero hay que preparar algo antes
Necesitas una clave de Intercom (créala en el sitio del autor) · Instala Node.js en tu computadora primero (una sola vez)
Una sola vez; sirve para todos los servidores que necesitan Node.js
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Consulta precios y planes gratis en su sitio.
Cómo obtener la clave está en el README del autor, más abajo
Revisando los comandos · los botones de copiar aparecen cuando pasan la revisión
En la configuración de Intercom, MY_ROLE, REMOTE_HOST, INTERCOM_SECRET, INTERCOM_PORT, INTERCOM_HOST, INTERCOM_SEND_TIMEOUT_MS está vacío; añade tu clave y guarda
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Usa Intercom y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si Cursor dice que está usando Intercom o muestra una herramienta de Intercom en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de Cursor el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Funciona con VS Code, pero hay que preparar algo antes
Necesitas una clave de Intercom (créala en el sitio del autor) · Instala Node.js en tu computadora primero (una sola vez)
Una sola vez; sirve para todos los servidores que necesitan Node.js
Abre el sitio del autor, crea una cuenta y una clave de API para el siguiente paso. Consulta precios y planes gratis en su sitio.
Cómo obtener la clave está en el README del autor, más abajo
Revisando los comandos · los botones de copiar aparecen cuando pasan la revisión
En la configuración de Intercom, MY_ROLE, REMOTE_HOST, INTERCOM_SECRET, INTERCOM_PORT, INTERCOM_HOST, INTERCOM_SEND_TIMEOUT_MS está vacío; añade tu clave y guarda
Pega la clave solo en el campo de la app; nunca en un chat ni se la envíes a nadie
Usa Intercom y dime qué puedes hacer por mí; luego muéstrame una cosa✓ Si VS Code dice que está usando Intercom o muestra una herramienta de Intercom en la respuesta, ya está conectado
Nombres de menú comprobados con la ayuda de VS Code el 11 nov 2026 · tu pantalla puede variar un poco según la versión
Otras apps que usan MCP, como Windsurf, Zed o Gemini CLI, añaden servidores de forma distinta. Míralo en la lista de apps
Ver todas las apps que usan MCP →
La configuración JSON está en “Para desarrolladores”, abajo
Claude Code
Revisando los comandos · los botones de copiar aparecen cuando pasan la revisión
Claude Desktop (claude_desktop_config.json)
Revisando los comandos · los botones de copiar aparecen cuando pasan la revisión
Cursor (~/.cursor/mcp.json)
Revisando los comandos · los botones de copiar aparecen cuando pasan la revisión
VS Code (mcp.json)
Revisando los comandos · los botones de copiar aparecen cuando pasan la revisión
MY_ROLE obligatorio envREMOTE_HOST obligatorio envINTERCOM_SECRET secreto obligatorio envINTERCOM_PORT envINTERCOM_HOST envINTERCOM_SEND_TIMEOUT_MS envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Según cómo se conecta este servidor y la documentación de cada app, comprobado el 10 nov 2026.
Se ejecutan en tu computadora en
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 13 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub MuhammadTalhaMT, dueña del repo
Último cambio de código: hace 3 meses
Usa MIT
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Pregunta, comparte un consejo o avisa de que no funciona. Ordenado por lo que la gente marcó como útil.
Aún no hay publicaciones. Sé la primera persona en preguntar o compartir.
Lo publicado aquí lo escriben usuarios, no el equipo de PopNx.
Aún no hay reseñas
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 3 de 3 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: MY_ROLE, REMOTE_HOST, INTERCOM_SECRET
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez hace 3 meses, y la última versión (2.1.0) llegó al registro hace 3 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Inbox Zero, draw.io, TradingMCP
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Search Gmail and Outlook, save drafts, manage email rules, and view email stats.
Create draw.io diagrams in chat from Mermaid or XML, shown live and interactive. 10,000+ shapes.
Market analysis for AI assistants: screeners, multi-timeframe analysis, backtests, in-chat charts.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Two-way communication bridge between Claude Code sessions using the Channels API.
Let two Claude Code instances on different machines talk to each other in real-time. One sends a message, the other receives it instantly as a channel notification and can reply back.
Claude Code has native cross-session messaging now. Here's where Intercom is still the answer:
send_message reports sent, delivered-to-process and answered as three separate states, plus a check_message tool. You find out when the other side never picked it up, instead of planning around an answer that was never coming.If you're on macOS or Linux and you just want your own sessions talking to each other, native is simpler — use that. Everything else above is what this is for.
If you have a backend developer and a frontend developer each running Claude Code on separate machines, they currently have to relay questions through Slack/Discord/copy-paste. Claude Intercom creates a direct hotline between the two AI sessions — one Claude can ask the other about endpoints, schemas, or implementation details and get answers from the actual codebase.
Machine A Machine B
(e.g. backend dev) (e.g. frontend dev)
Claude Code A Claude Code B | | +-- intercom.ts ---HTTP POST----> intercom.ts --+ | (channel) <--HTTP POST-- (channel) | | | +-- stdio (MCP) --+ +-- stdio (MCP) -----+ | | Claude A Claude B
Both instances run the same intercom.ts file. Each listens for HTTP messages and pushes them into its local Claude Code session via the Channels API. Each also exposes send_message and check_message tools that Claude can call.
Paste this into a Claude Code session on each machine and it will walk you through the whole thing. Run it on machine A first, keep the secret it gives you, then run it on machine B.
Set up claude-intercom on this machine so this Claude Code session can message
a Claude Code session on my other machine.
Work through this in order, and stop and ask me whenever you need something only I can tell you.
bun --version works and that claude --version is 2.1.80 or newer. If Bun is missing, tell me how to install it for my OS and stop there.tailscale ip -4. If that returns an address we'll use Tailscale. If Tailscale isn't installed, tell me it's the recommended option and ask whether I want to install it or use something else..mcp.json in this project with an "intercom" server: command npx, args ["-y", "claude-intercom"], and env MY_ROLE, REMOTE_HOST (the other machine plus :8788), INTERCOM_SECRET, INTERCOM_PORT set to 8788. If .mcp.json already exists, merge the intercom entry into it instead of overwriting the file. Make sure .mcp.json is gitignored, it holds the secret.claude --dangerously-load-development-channels server:intercom and explain that the flag is needed because the channels capability is still experimental, and that messages only arrive while both sides are running.send_message reports sent / delivered-to-process / answered separately, so "delivered" means the remote process accepted it, not that the other Claude has read it.Don't invent configuration keys. The only environment variables are MY_ROLE, REMOTE_HOST, INTERCOM_SECRET, INTERCOM_PORT and INTERCOM_SEND_TIMEOUT_MS.
Prefer to do it by hand? The manual steps are below.
Nothing to install. npx fetches it on first run, on both machines.
You do need Bun on your PATH — the server uses Bun.serve for its HTTP listener, and the npx entry point hands off to it.
Prefer to run from source?
git clone https://github.com/MuhammadTalhaMT/claude-intercom.git
cd claude-intercom bun install
Then use "command": "bun" with "args": ["/path/to/claude-intercom/intercom.ts"] in the config below instead of the npx form.
Copy the example config into your project's .mcp.json.
First generate a secret, and use the same value on both machines:
openssl rand -base64 32
Then export it in the shell you launch Claude Code from, rather than typing it into the config:
export INTERCOM_SECRET='the-value-you-just-generated'
.mcp.json is a project file, and project files get committed. Claude Code expands ${VAR} in .mcp.json — in command, args, env, url and headers — so the config below can be checked in and shared with your teammate while the secret itself never leaves your environment.
Machine A (e.g. backend — static IP or VPS):
{
"mcpServers": { "intercom": { "command": "npx", "args": ["-y", "claude-intercom"], "env": { "MY_ROLE": "backend", "REMOTE_HOST": "MACHINE_B_IP:8788", "INTERCOM_SECRET": "${INTERCOM_SECRET}", "INTERCOM_PORT": "8788" } } } }
Machine B (e.g. frontend — can be behind NAT):
{
"mcpServers": { "intercom": { "command": "npx", "args": ["-y", "claude-intercom"], "env": { "MY_ROLE": "frontend", "REMOTE_HOST": "MACHINE_A_IP:8788", "INTERCOM_SECRET": "${INTERCOM_SECRET}", "INTERCOM_PORT": "8788" } } } }
On both machines:
claude --dangerously-load-development-channels server:intercom
In either Claude Code session:
"Send a message to the other developer asking what API endpoints are available for the dashboard."
Claude will use the send_message tool to POST the message to the other machine. The other Claude receives it as a channel notification and responds.
Use [Tailscale](https://tailscale.com). Install it on both machines and they get stable private addresses on your own tailnet. Then point each side at the other's tailnet address:
"REMOTE_HOST": "other-machine:8788"
This is strictly better than exposing a port to the internet: no public listener, no port forwarding, the address doesn't change when your ISP reassigns your IP, and device identity is enforced by Tailscale rather than resting entirely on a shared string. Set INTERCOM_HOST to your tailnet address — or to 127.0.0.1 if you are also fronting it with a tunnel — to be certain nothing outside can reach it at all.
Alternative: ngrok
If you can't use Tailscale, ngrok still works:
# On the machine behind NAT
ngrok http 8788
"REMOTE_HOST": "your-subdomain.ngrok-free.app"
ngrok hostnames are detected and switched to HTTPS automatically. For any other tunnel — Cloudflare, Caddy, a reverse proxy of your own — write the scheme into REMOTE_HOST explicitly (https://your-host), or the secret goes out over cleartext HTTP.
Note this does put a publicly reachable endpoint in front of your Claude session, gated only by the shared secret — pick a strong one, and consider INTERCOM_HOST=127.0.0.1 so only the tunnel can reach the listener.
send_messageSends a message and returns immediately with an id. It does not wait for an answer — the reply arrives later as its own inbound message.
| Argument | Required | Description |
|---|---|---|
message | Yes | The text to send |
replyTo | No | The id of the incoming message this answers, so the sender can correlate it |
expectReplyWithin | No | How long a reply should reasonably take: "30s", "5m", "2h" |
The acknowledgement deliberately does not claim the other developer received it. An HTTP 200 proves the remote *process* accepted the message, not that the other Claude ever read it.
check_messageAnswers the question a fire-and-forget channel otherwise can't: is this reply slow, or is it never coming? Pass an id, or omit it to list everything outstanding.
Every message sits in one of three states:
| State | Meaning |
|---|---|
sent | We tried, but the remote process never acked it. The other machine is probably unreachable |
delivered-to-process | Their intercom took it. Their Claude may or may not have read it — that session could be idle, closed, or out of usage |
answered | A reply came back carrying replyTo for this id |
expectReplyWithin is what makes "overdue" mean anything, and it's per message rather than one global timeout — so a quick endpoint lookup and a long investigation aren't judged on the same clock.
| Environment Variable | Required | Default | Description |
|---|---|---|---|
MY_ROLE | Yes | developer-a | Label for this instance (appears in message tags) |
REMOTE_HOST | Yes | localhost:8789 | Address of the other machine (host:port or tunnel URL). Include https:// for any TLS tunnel that isn't ngrok |
INTERCOM_SECRET | Yes | *none* | Shared secret — must match on both sides. There is no default: unset, left as a docs placeholder, or an unexpanded ${VAR}, and the intercom refuses to pair |
INTERCOM_PORT | No | 8788 | Port to listen on for incoming messages |
| INTERCOM_HOST | No | 0.0.0.0 | Interface to b