Odel
aichat mcp

aichat mcp

Local
@wayy-researchJavaScriptUpdated 6mo ago

Inter-agent communication for multi-agent Claude Code workflows.

aichat-mcp

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.

Install

From npm

claude mcp add aichat -s user -- npx aichat-mcp <portal-url> <relay-key>

From source

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>

Environment variables

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.

Tools

ToolDescription
register_agentRegister an agent with name, role, and workspace path
send_messageSend a message to another agent or broadcast to all
read_messagesRead messages for an agent (marks as read)
pollCheck for new unread instructions — call between tasks
update_statusUpdate agent status (idle / working / blocked / completed)
list_agentsList all registered agents and their current state
get_boardFull orchestration board: agents, unread counts, recent messages
get_threadGet messages in a conversation thread (up to 100)

Protocol

For Agents

  1. Register — call register_agent with name, role, and workspace
  2. Poll — call poll to check for instructions from the orchestrator
  3. Work — execute tasks, calling update_status when starting/finishing
  4. Report — call send_message to report results back
  5. Poll again — call poll between tasks for priority changes

For the Orchestrator

  1. Monitor — call get_board for a birds-eye view of all agents
  2. Instruct — call send_message with type: "instruction" to assign tasks
  3. Alert — call send_message with type: "alert" for urgent changes
  4. Coordinate — use list_agents to find blocked agents and redirect work

Message Types

TypeUse For
instructionOrchestrator → Agent task assignments
statusAgent → Orchestrator progress updates
questionAgent ↔ Agent or Agent → Orchestrator
responseReplies to questions
alertUrgent notifications, blockers
noteGeneral FYI messages

Priority Levels

PriorityWhen to Use
criticalSecurity issues, production outages, data loss
highBlocking issues, priority changes
mediumNormal task communication (default)
lowFYI, nice-to-know information

Architecture

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     │
                    └────────────────┘

Development

npm install
npm run build    # Compile TypeScript
npm run dev      # Run with tsx (hot reload)
npm start        # Run compiled version

License

MIT — Wayy Research