Two-way communication bridge between Claude Code sessions using the Channels API
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add intercom --env MY_ROLE='<MY_ROLE>' --env REMOTE_HOST='<REMOTE_HOST>' --env INTERCOM_SECRET='<INTERCOM_SECRET>' -- npx -y claude-intercom~/.codex/config.toml
[mcp_servers.intercom]
command = "npx"
args = ["-y", "claude-intercom"]
env = { MY_ROLE = "<MY_ROLE>", REMOTE_HOST = "<REMOTE_HOST>", INTERCOM_SECRET = "<INTERCOM_SECRET>" }
# codex mcp add intercom --env MY_ROLE='<MY_ROLE>' --env REMOTE_HOST='<REMOTE_HOST>' --env INTERCOM_SECRET='<INTERCOM_SECRET>' -- npx -y claude-intercom~/.cursor/mcp.json
{
"mcpServers": {
"intercom": {
"command": "npx",
"args": [
"-y",
"claude-intercom"
],
"env": {
"MY_ROLE": "<MY_ROLE>",
"REMOTE_HOST": "<REMOTE_HOST>",
"INTERCOM_SECRET": "<INTERCOM_SECRET>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"intercom": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"claude-intercom"
],
"env": {
"MY_ROLE": "<MY_ROLE>",
"REMOTE_HOST": "<REMOTE_HOST>",
"INTERCOM_SECRET": "<INTERCOM_SECRET>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"intercom": {
"command": "npx",
"args": [
"-y",
"claude-intercom"
],
"env": {
"MY_ROLE": "<MY_ROLE>",
"REMOTE_HOST": "<REMOTE_HOST>",
"INTERCOM_SECRET": "<INTERCOM_SECRET>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"intercom": {
"command": "npx",
"args": [
"-y",
"claude-intercom"
],
"env": {
"MY_ROLE": "<MY_ROLE>",
"REMOTE_HOST": "<REMOTE_HOST>",
"INTERCOM_SECRET": "<INTERCOM_SECRET>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"intercom": {
"command": "npx",
"args": [
"-y",
"claude-intercom"
],
"env": {
"MY_ROLE": "<MY_ROLE>",
"REMOTE_HOST": "<REMOTE_HOST>",
"INTERCOM_SECRET": "<INTERCOM_SECRET>"
}
}
}
}Environment variables
MY_ROLEREMOTE_HOSTINTERCOM_SECRET
Replace the placeholders with your own credentials and keep them out of version control.