Iris MCP ๐
Model Context Protocol server for cross-project Claude Code coordination
Iris MCP enables Claude Code instances across different project directories to communicate and coordinate. Stay in one project while asking questions to teams in other codebases.
๐ฏ What is Iris MCP?
Iris MCP is a revolutionary MCP server that lets Claude Code teams talk to each other. Instead of manually context-switching between projects, you can:
You never left the frontend project. Iris handled the coordination automatically.
๐ Quick Start
Installation
Configuration
Create a teams.json
file (copy from src/config/teams.example.json
):
Add to Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json
:
Start Using
Restart Claude Desktop and start a conversation:
Claude will automatically use Iris MCP to coordinate!
๐ ๏ธ MCP Tools
teams_ask
Ask a team a question and wait for response.
Response:
Example prompts:
"Ask the backend team about their authentication strategy"
"Using Iris, find out from mobile team if they support push notifications"
"Check with frontend team what state management library they use"
teams_send_message
Send a message to another team, optionally wait for response.
Response (if waitForResponse = true):
Example prompts:
"Tell the backend team we're deprecating the old API endpoint"
"Send a message to mobile team about the new authentication flow"
"Coordinate with all teams to update the User model"
teams_notify
Fire-and-forget notification (queued for later).
Response:
Example prompts:
"Notify all teams about the scheduled maintenance window"
"Send a notification to mobile team about the API changes"
teams_get_status
Get status of teams, processes, and notifications.
Response:
Example prompts:
"Show me the status of all teams"
"Check if the backend team is currently active"
"How many pending notifications does frontend have?"
๐ Project Structure
๐๏ธ Architecture
Process Pool Management
Iris maintains a pool of Claude Code processes with:
LRU Eviction: When pool is full, least recently used process is terminated
Idle Timeout: Processes automatically terminate after 5 minutes of inactivity
Health Checks: Regular monitoring ensures processes stay healthy
Connection Pooling: Reuses existing processes for 52%+ faster responses
Notification Queue
Persistent SQLite database stores notifications with:
30-day retention: Automatic cleanup of old notifications
Status tracking: pending, read, expired
Team filtering: Get notifications for specific teams
TTL support: Configurable expiration per notification
Event System
All process events are emitted for future Intelligence Layer integration:
process-spawned
process-terminated
process-exited
process-error
message-sent
message-response
๐ฏ Configuration Options
Settings
Team Configuration
๐ง Development
Build
Watch Mode
Run MCP Inspector
This opens the MCP inspector at http://localhost:5173
to test tools interactively.
Logs
All logs go to stderr in JSON format:
๐จ Troubleshooting
"Team not found" error
Check that team name in
teams.json
matches exactly (case-sensitive)Verify the path exists and is absolute
"Process failed to spawn"
Ensure
claude-code
CLI is installed and in PATHCheck that the team's project directory is valid
Try running
claude-code --headless
manually in the team directory
"Timeout exceeded"
Increase timeout parameter in tool call
Check if the target team's Claude process is stuck
View logs for error details
Database locked
Close other Iris MCP instances
Delete
data/notifications.db-wal
anddata/notifications.db-shm
๐บ๏ธ Roadmap
โ Phase 1: Core MCP Server (CURRENT)
MCP tools for team coordination
Process pool management
Notification queue
Configuration system
๐ง Phase 2: Web Dashboard
React SPA for monitoring
Real-time WebSocket updates
Team management UI
Analytics dashboard
See src/dashboard/README.md
๐ฎ Phase 3: Programmatic API
RESTful HTTP endpoints
WebSocket streaming
API key authentication
Official SDKs (TypeScript, Python)
See src/api/README.md
๐ฎ Phase 4: CLI
iris ask
commandiris status
monitoringInteractive shell mode
Built with Ink (React for terminals)
See src/cli/README.md
๐ฎ Phase 5: Intelligence Layer
Loop detection
Destructive action prevention
Pattern recognition
Self-aware coordination
See src/intelligence/README.md
๐ Documentation
๐ค Contributing
Contributions welcome! This is Phase 1 - there's lots of exciting work ahead.
๐ License
MIT License - see LICENSE file for details
๐ Why "Iris"?
Iris was the Greek goddess of the rainbow and messenger of the gods, bridging heaven and earth. Similarly, Iris MCP bridges your AI agents across project boundaries.
One messenger. Many teams. Infinite coordination.
Built with โค๏ธ by Jenova Marie
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables Claude Code instances across different project directories to communicate and coordinate. Stay in one project while asking questions to teams in other codebases through cross-project messaging and coordination.