# intercom

Connects Claude Code sessions running on separate computers so their agents can exchange project questions directly.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 20
- Author: MuhammadTalhaMT
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/MuhammadTalhaMT/claude-intercom
- Updated: 2026-08-19
- HTML: https://affpapa.org/en/nevibecode/mcp/intercom

## What it does

Run the same server on both computers. It accepts HTTP traffic and forwards incoming messages to the local Claude Code session through the Channels API. The agent can use `send_message` to reach the other session and `check_message` to inspect a message.

You need Bun, Claude Code v2.1.80 or later, HTTP connectivity between the computers, and a shared secret. Messages arrive only while both sides are running. Claude Code must be launched with `--dangerously-load-development-channels` for the experimental Channels capability. Delivery and response are separate states: a remote process accepting a message does not mean its agent has read it.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `MY_ROLE`, `REMOTE_HOST`, `INTERCOM_SECRET`, `INTERCOM_PORT`, `INTERCOM_HOST`, `INTERCOM_SEND_TIMEOUT_MS` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env MY_ROLE=<MY_ROLE> --env REMOTE_HOST=<REMOTE_HOST> --env INTERCOM_SECRET=<INTERCOM_SECRET> --env INTERCOM_PORT=<INTERCOM_PORT> --env INTERCOM_HOST=<INTERCOM_HOST> --transport stdio intercom -- npx -y claude-intercom
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Codex

**Platform CLI**
```bash
codex mcp add intercom --env MY_ROLE=<MY_ROLE> --env REMOTE_HOST=<REMOTE_HOST> --env INTERCOM_SECRET=<INTERCOM_SECRET> --env INTERCOM_PORT=<INTERCOM_PORT> --env INTERCOM_HOST=<INTERCOM_HOST> -- npx -y claude-intercom
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "intercom": {
            "command": "npx",
            "args": [
                "-y",
                "claude-intercom"
            ],
            "env": {
                "MY_ROLE": "<MY_ROLE>",
                "REMOTE_HOST": "<REMOTE_HOST>",
                "INTERCOM_SECRET": "<INTERCOM_SECRET>",
                "INTERCOM_PORT": "<INTERCOM_PORT>",
                "INTERCOM_HOST": "<INTERCOM_HOST>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "intercom": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "claude-intercom"
            ],
            "env": {
                "MY_ROLE": "<MY_ROLE>",
                "REMOTE_HOST": "<REMOTE_HOST>",
                "INTERCOM_SECRET": "<INTERCOM_SECRET>",
                "INTERCOM_PORT": "<INTERCOM_PORT>",
                "INTERCOM_HOST": "<INTERCOM_HOST>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e MY_ROLE=<MY_ROLE> -e REMOTE_HOST=<REMOTE_HOST> -e INTERCOM_SECRET=<INTERCOM_SECRET> -e INTERCOM_PORT=<INTERCOM_PORT> -e INTERCOM_HOST=<INTERCOM_HOST> intercom npx -y claude-intercom
```
Replace <…> with your own values. 1 more environment variable is in the server README

## When to use it
- ask a session on another computer to inspect an API schema
- compare implementation details across Claude Code sessions
- check whether the remote process accepted a message
- get an answer from an agent with access to a different codebase

## Example prompts
- Ask the Claude Code session on my other computer to check its API endpoint names and reply.
- Send the remote session a question about the API schema using `send_message`.
- Use `check_message` to see whether the other session has replied.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Front-End Checklist](https://affpapa.org/en/nevibecode/mcp/front-end-checklist.md) — MCP server · ★ 74559
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
