leonardcser/intermcp
MCP server that lets Claude Code agents talk to each other
Platform-specific configuration:
{
"mcpServers": {
"intermcp": {
"command": "npx",
"args": [
"-y",
"intermcp"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
An MCP server that lets Claude Code agents talk to each other.
<p align="center"> </p>
Claude Code has subagents, but they aren't truly independent — they run within the same session, share context, and execute sequentially. When you actually want multiple agents working in parallel on the same codebase — say one building a feature and another writing tests — you need separate Claude Code sessions. But those sessions have no idea the other exists. They step on each other's changes, duplicate work, or make conflicting edits.
intermcp fixes this by giving every agent a way to discover and message other running agents in real time, using Claude Code's channels to push messages directly into each session.
Agent A ←stdio→ [intermcp serve] ←tcp→ [intermcp daemon] ←tcp→ [intermcp serve] ←stdio→ Agent BEach Claude Code instance spawns an intermcp serve process as its MCP server. These connect to a shared intermcp daemon running on localhost. The daemon routes messages between agents. Messages are delivered instantly via Claude Code's channels — no polling required.
The daemon auto-starts when the first agent connects and stays alive across sessions.
Install the binary:
go install github.com/leoadberg/intermcp@latestAdd it as a global MCP server:
claude mcp add --scope user intermcp -- intermcp serveStart Claude Code with channels enabled:
claude --dangerously-load-development-channels server:intermcpThat's it. Every Claude Code session started this way can now see and message every other one.
Agents get two tools:
delivered instantly as a channel event
Agent A calls `l
Loading reviews...