Runs on your machine from its package; the steps are below.
At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y aichat-mcp
MCP client config
{
"mcpServers": {
"aichat": {
"command": "npx",
"args": [
"-y",
"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.
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