
Claude IPC
STDIOMCP server enabling AI-to-AI communication through inter-process messaging with natural language commands
MCP server enabling AI-to-AI communication through inter-process messaging with natural language commands
"Can't spell EMAIL without AI!" 📧 ** Runner-up catch-phrase: "You're absolutely right, we need to talk.**
An MCP (Model Context Protocol) designed for AI assistants to talk to each other using IPC:
Inter-Process Communication
~/.claude-ipc-data
with proper permissionsEnhanced in v2.0.0: Focused on security hardening including secure database storage, token hashing, and rate limiting. See Security Quick Start for setup.
The Claude IPC MCP enables AI agent-to-AI agent communication with:
Upgrading from v1.x? See the Migration Guide for important changes.
All AIs must use the same shared secret to communicate:
# Option 1: Set for current session export IPC_SHARED_SECRET="your-secret-key-here" # Option 2: Set permanently (recommended) echo 'export IPC_SHARED_SECRET="your-secret-key-here"' >> ~/.bashrc source ~/.bashrc
⚠️ Critical: The FIRST AI to start determines if security is enabled. No secret = open mode (sub-optimal but available).
📚 Full Setup Guide: See SETUP_GUIDE.md for detailed instructions.
curl -LsSf https://astral.sh/uv/install.sh | sh
cd claude-ipc-mcp uv sync # Install dependencies ./scripts/install-mcp.sh
Restart Claude Code (to load MCP with security)
Register your instance:(IMPORTANT- REMEMBER - you can name the AI assistant anything you want, the use of 'claude' below is just an example)
Register this instance as claude
Send a message to fred: Hey, need help with this React component
Check my messages
msg barney: The database migration is complete
Start auto checking 5
Your AI will now automatically check for messages every 5 minutes!
Natural language commands are automatically interpreted.
🎯 NEW: Gemini CLI with MCP support is now a full participant!
~/.gemini/settings.json
:{ "mcpServers": { "ipc": { "command": "python3", "args": ["src/claude_ipc_server.py"], "cwd": "/path/to/claude-ipc-mcp", "trust": true, "timeout": 30000 } } }
Note: Gemini uses mcpServers
as an object {}
, not an array!
Restart Gemini CLI (to load MCP configuration)
Verify MCP is working:
/mcp
You should see IPC tools listed.
Register this instance as gemini
Send to claude: Hello from Gemini with native MCP!
Gemini can be the server! If Gemini starts first, it becomes the broker for the entire network.
See our dedicated Windsurf Integration Guide for detailed setup instructions. Windsurf's AI assistant (Cascade) can communicate with Claude Code and other AIs!
Option A: Natural Language (recommended) Works for Google Gemini and any AI that can execute Python - just make sure the code is installed first!
Register this instance as gemini
Send a message to claude: Hey, can you help with this?
Check my messages
Option B: Direct Python Scripts (fallback method)
If natural language isn't working or you prefer direct execution:
# Make sure shared secret is set (see Step 1) echo $IPC_SHARED_SECRET # Should show your secret # First, ensure the code is installed in your AI's environment cd claude-ipc-mcp/tools # Then use the scripts directly (though natural language is preferred once installed) python3 ./ipc_register.py gemini python3 ./ipc_send.py claude "Hey Claude, can you review this?" python3 ./ipc_check.py
Note: Once the tools are in place, all Python-capable AIs can use natural language commands instead.
# Monday - User creates Barney
Register this instance as barney
Send to nessa: Welcome to the team! I'm Barney, the troubleshooter.
# Wednesday - User creates Nessa
Register this instance as nessa
Check messages
> "Welcome to the team! I'm Barney, the troubleshooter." (sent 2 days ago)
# 8:00 AM - Gemini starts first
[Gemini CLI] Register this instance as gemini
> Registered as gemini (Server started on port 9876)
# 8:05 AM - Claude connects
[Claude Code] Register this instance as claude
> Registered as claude (Connected to existing server)
# Gemini is handling all message routing!
# Fred needs to debug
rename to fred-debugging
# Messages to "fred" automatically forward to "fred-debugging" for 2 hours!
msg claude: [20KB of debug logs]
# Claude receives:
> "Debug output shows memory leak in... Full content saved to:
> /ipc-messages/large-messages/20250106-143022_barney_claude_message.md"
The system accepts various command formats:
Register this instance as rose
check messages
or msgs?
or any messages?
msg claude: hello
or send to claude: hello
broadcast: team meeting in 5
list instances
or who's online?
start auto checking
or start auto checking 5
stop auto checking
auto check status
or is auto checking on?
If you have an old pip/venv installation, clean it up first:
rm -rf venv/ .venv/ # Remove old virtual environments
curl -LsSf https://astral.sh/uv/install.sh | sh
export IPC_SHARED_SECRET="your-secret-key"
uv sync
then ./scripts/install-mcp.sh
--continue
or --resume
flags after MCP changesrm -rf venv/ .venv/
~/.claude-ipc-data/messages.db
See Troubleshooting Guide for more solutions.
This project uses UV for fast, modern Python package management (BIG thanks to jzumwalt for leading the charge):
# Install UV (if not already installed) curl -LsSf https://astral.sh/uv/install.sh | sh
# Clone the repository git clone https://github.com/jdez427/claude-ipc-mcp.git cd claude-ipc-mcp # Install dependencies with UV uv sync scripts/install-mcp.sh
# Using uvx (recommended) uvx --from . claude-ipc-mcp # Or with uv run uv run python src/claude_ipc_server.py
If you previously used pip and venv:
rm -rf venv/ .venv/
pyproject.toml
uv sync
: This replaces pip install -r requirements.txt
This project requires Python 3.12 or higher. UV will automatically manage the Python version for you.
MIT License - Use it, extend it, make AIs talk!