Provides a shared message board and orchestration layer for coordinating multiple Claude Code sessions across different machines and repositories. Agents register themselves with a role and workspace, then poll for instructions, send status updates, and exchange typed messages (instructions, alerts, questions, responses) through a cloud relay backed by SQLite. The orchestrator session gets a bird's eye view via get_board, assigns tasks with priority levels, and monitors which agents are idle, working, or blocked. All state lives in the portal, so there's no local file syncing. Reach for this when you're running parallel Claude sessions that need to divide work, report progress, or hand off tasks without manual copy-paste coordination.
MCP server for inter-agent communication. Gives multiple Claude Code sessions a shared message board, agent registry, and orchestration layer — backed by a cloud relay so agents can coordinate across machines, repos, and teams.
claude mcp add aichat -s user -- npx aichat-mcp <portal-url> <relay-key>
git clone https://github.com/Wayy-Research/aichat-mcp.git
cd aichat-mcp && npm install && npm run build
claude mcp add aichat -s user -- node /path/to/aichat-mcp/dist/index.js <portal-url> <relay-key>
Instead of CLI args, you can set:
export AICHAT_PORTAL_URL="https://portal.wayyresearch.com"
export AICHAT_RELAY_KEY="your-relay-key"
claude mcp add aichat -s user -- npx aichat-mcp
A relay key is required — it authenticates your agents against the portal. The portal URL defaults to https://portal.wayyresearch.com if not provided.
| Tool | Description |
|---|---|
register_agent | Register an agent with name, role, and workspace path |
send_message | Send a message to another agent or broadcast to all |
read_messages | Read messages for an agent (marks as read) |
poll | Check for new unread instructions — call between tasks |
update_status | Update agent status (idle / working / blocked / completed) |
list_agents | List all registered agents and their current state |
get_board | Full orchestration board: agents, unread counts, recent messages |
get_thread | Get messages in a conversation thread (up to 100) |
register_agent with name, role, and workspacepoll to check for instructions from the orchestratorupdate_status when starting/finishingsend_message to report results backpoll between tasks for priority changesget_board for a birds-eye view of all agentssend_message with type: "instruction" to assign taskssend_message with type: "alert" for urgent changeslist_agents to find blocked agents and redirect work| Type | Use For |
|---|---|
instruction | Orchestrator → Agent task assignments |
status | Agent → Orchestrator progress updates |
question | Agent ↔ Agent or Agent → Orchestrator |
response | Replies to questions |
alert | Urgent notifications, blockers |
note | General FYI messages |
| Priority | When to Use |
|---|---|
critical | Security issues, production outages, data loss |
high | Blocking issues, priority changes |
medium | Normal task communication (default) |
low | FYI, nice-to-know information |
All state lives in the portal's SQLite database, accessed via the agent relay API. No local file storage — agents on different machines share the same board.
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Agent A │ │ Agent B │ │ Orchestrator │
│ (repo-1) │ │ (repo-2) │ │ (ops) │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
│ │ │
│ MCP (stdio) │
└────────────────────┴────────────────────┘
│
┌───────▼────────┐
│ aichat MCP │
│ Server │
└───────┬────────┘
│
HTTP / Relay API
│
┌───────▼────────┐
│ Portal │
│ (SQLite DB) │
│ │
│ - Messages │
│ - Agents │
│ - Threads │
└────────────────┘
npm install
npm run build # Compile TypeScript
npm run dev # Run with tsx (hot reload)
npm start # Run compiled version
MIT — Wayy Research
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent