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
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
3/3 Prüfungen bestanden · Läuft auf deinem Computer
Zuerst: Welche KI nutzt du?
Wähle deine App, dann erscheinen die Schritte unten.
Klappt mit Claude, aber erst etwas vorbereiten
Du brauchst einen Schlüssel von Intercom (auf der Seite des Anbieters erstellen) · Installiere zuerst Node.js auf deinem Computer (nur einmal) · Nur in der Claude-App für den Computer (Windows oder Mac), nicht im Web oder auf dem Handy
Nur einmal; gilt für alle Server, die Node.js brauchen
Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.
Wie du einen Schlüssel bekommst, steht unten im README des Anbieters
SettingsDeveloperEdit Config
Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind
Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem
Nutze Intercom und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude sagt, dass es Intercom nutzt, oder ein Werkzeug von Intercom in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
ChatGPT kann Intercom noch nicht verbinden
Intercom läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen
A · Eine App nutzen, die Intercom verbinden kann
B · Andere in Chat & E-Mail, die mit ChatGPT funktionieren
Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden
Klappt mit Claude Code, aber erst etwas vorbereiten
Du brauchst einen Schlüssel von Intercom (auf der Seite des Anbieters erstellen) · Installiere zuerst Node.js auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Node.js brauchen
Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.
Wie du einen Schlüssel bekommst, steht unten im README des Anbieters
Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen
Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind
Ersetze „your-value“ vor dem Enter durch deinen Schlüssel
Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem
Intercom sollte in der Liste als verbunden erscheinen
Nutze Intercom und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude Code sagt, dass es Intercom nutzt, oder ein Werkzeug von Intercom in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit Cursor, aber erst etwas vorbereiten
Du brauchst einen Schlüssel von Intercom (auf der Seite des Anbieters erstellen) · Installiere zuerst Node.js auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Node.js brauchen
Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.
Wie du einen Schlüssel bekommst, steht unten im README des Anbieters
Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind
In den Einstellungen von Intercom ist MY_ROLE, REMOTE_HOST, INTERCOM_SECRET, INTERCOM_PORT, INTERCOM_HOST, INTERCOM_SEND_TIMEOUT_MS leer; trag deinen Schlüssel ein und speichere
Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem
Nutze Intercom und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Cursor sagt, dass es Intercom nutzt, oder ein Werkzeug von Intercom in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit VS Code, aber erst etwas vorbereiten
Du brauchst einen Schlüssel von Intercom (auf der Seite des Anbieters erstellen) · Installiere zuerst Node.js auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Node.js brauchen
Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.
Wie du einen Schlüssel bekommst, steht unten im README des Anbieters
Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind
In den Einstellungen von Intercom ist MY_ROLE, REMOTE_HOST, INTERCOM_SECRET, INTERCOM_PORT, INTERCOM_HOST, INTERCOM_SEND_TIMEOUT_MS leer; trag deinen Schlüssel ein und speichere
Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem
Nutze Intercom und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn VS Code sagt, dass es Intercom nutzt, oder ein Werkzeug von Intercom in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Claude Code
Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind
Claude Desktop (claude_desktop_config.json)
Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind
Cursor (~/.cursor/mcp.json)
Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind
VS Code (mcp.json)
Befehle werden geprüft · Kopier-Buttons erscheinen, sobald sie bestanden sind
MY_ROLE erforderlich envREMOTE_HOST erforderlich envINTERCOM_SECRET geheim erforderlich envINTERCOM_PORT envINTERCOM_HOST envINTERCOM_SEND_TIMEOUT_MS envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.
Laufen auf deinem Computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 13. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto MuhammadTalhaMT bestätigt, dem das Repo gehört
Code zuletzt geändert: vor 3 Monaten
Nutzt MIT
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.
Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.
Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.
Noch keine Bewertungen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 3 von 3 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: MY_ROLE, REMOTE_HOST, INTERCOM_SECRET
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt vor 3 Monaten geändert, und die neueste Version (2.1.0) kam vor 3 Monaten in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
In derselben Kategorie: Inbox Zero, draw.io, TradingMCP
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
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.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
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