MCPLow riskUnclaimed

intercom

Relays messages between two Claude Code sessions on different machines using the Channels API

MuhammadTalhaMTmuhammadtalhamt/intercom★ 19Updated Aug 19, 2026

server.json

{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "io.github.MuhammadTalhaMT/intercom",
  "description": "Relays messages between two Claude Code sessions on different machines using the Channels API",
  "repository": {
    "url": "https://github.com/MuhammadTalhaMT/claude-intercom",
    "source": "github"
  },
  "version": "2.1.0",
  "packages": [
    {
      "registryType": "npm",
      "identifier": "claude-intercom",
      "version": "2.1.0",
      "transport": {
        "type": "stdio"
      },
      "environmentVariables": [
        {
          "description": "Label for this instance, e.g. backend or frontend. Appears in message tags so the other side knows who is talking.",
          "isRequired": true,
          "format": "string",
          "name": "MY_ROLE"
        },
        {
          "description": "Address of the other machine as host:port. A Tailscale address is recommended over a public one.",
          "isRequired": true,
          "format": "string",
          "name": "REMOTE_HOST"
        },
        {
          "description": "Shared secret authenticating messages between the two instances. Must match on both sides. There is no default: without it the intercom starts unpaired, binds no port, and refuses to send.",
          "isRequired": true,
          "format": "string",
          "isSecret": true,
          "placeholder": "output of: openssl rand -base64 32",
          "name": "INTERCOM_SECRET"
        },
        {
          "description": "Port to listen on for incoming messages. Defaults to 8788.",
          "format": "number",
          "name": "INTERCOM_PORT"
        },
        {
          "description": "Interface to bind the listener to. Defaults to 0.0.0.0. Set 127.0.0.1 when a tunnel fronts the intercom, so only the tunnel can connect.",
          "format": "string",
          "name": "INTERCOM_HOST"
        },
        {
          "description": "How long an outbound POST may hang before giving up. Defaults to 10000.",
          "format": "number",
          "name": "INTERCOM_SEND_TIMEOUT_MS"
        }
      ]
    }
  ]
}

Permissions

DeclaredDetected
Runs code—node
Installs—npm:claude-intercom@2.1.0
Runs install scripts—None
NetworkNoneNone
Needs credentialsINTERCOM_SECRETINTERCOM_SECRET
Outside the workspace—None
Agent tools—None

Checks

Low risk · Nothing worth a warning was found.

Not reviewed by a person · Checked by rules; the model review is not switched on yet.

Versions

  1. #12.1.0latestOct 7, 2026