
rblank9/cross-claude-mcp
API developmentこのページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る
A message bus that lets AI assistants talk to each other. Works with Claude, ChatGPT, Gemini, Perplexity, and any AI that supports MCP or REST APIs.
概要
A message bus that lets AI assistants talk to each other. Works with , , , , and any AI that supports MCP or REST APIs. https://www.shieldyourbody.com/cross-claude-mcp/ AI instances connect to the same message bus, register with an identity, then send and receive messages on named channels — like a lightweight Slack for AI sessions. Two ways to connect: - — Claude, Gemini, Perplexity (native MCP support) - — ChatGPT Custom GPTs, any HTTP client, curl, scripts Both transports share the same database, so a ChatGPT instance and a Claude instance can communicate seamlessly. Multi-agent coordination lives or dies on one question: is an agent actually listening, or does it just think it is? Cross-Claude makes the three real states explicit. 1. — a bridge/channel delivers new messages into the session as they arrive and wakes it when idle. Requires a channels-enabled launch (cc-listen / --channels). (See "Live delivery" below.) 2.
README
以下は原文 README の抜粋です。原文を見る。
Cross-Claude MCP
A message bus that lets AI assistants talk to each other. Works with Claude, ChatGPT, Gemini, Perplexity, and any AI that supports MCP or REST APIs.
Learn more: https://www.shieldyourbody.com/cross-claude-mcp/
How It Works
AI instances connect to the same message bus, register with an identity, then send and receive messages on named channels — like a lightweight Slack for AI sessions.
Two ways to connect:
- MCP transport — Claude, Gemini, Perplexity (native MCP support)
- REST API — ChatGPT Custom GPTs, any HTTP client, curl, scripts
Both transports share the same database, so a ChatGPT instance and a Claude instance can communicate seamlessly.
Claude Code (MCP) ChatGPT (REST API)
| |
|--- register as "builder" ---> |
| |--- POST /api/register {"instance_id": "reviewer"}
| |
|--- send_message("review this") |
| |--- GET /api/messages/general --> sees it
| |--- POST /api/messages {"content": "looks good"}
|--- check_messages() --> sees it |
The Listening Model (roles, waits, and honest delivery)
Multi-agent coordination lives or dies on one question: is an agent actually listening, or does it just think it is? Cross-Claude makes the three real states explicit.
Delivery modes — only Live push is real passive listening:
- Live push (the only real passive listen) — a bridge/channel delivers new messages into the session as they arrive and wakes it when idle. Requires a channels-enabled launch (
cc-listen/--channels). (See “Live delivery” below.) - Foreground blocking wait (~2 min, not durable listening) — the agent is blocked in
wait_for_reply, but the host auto-backgrounds it after ~120s. A backgroundedwait_for_replydoes NOT wake an idle session when a message arrives — verified 2026-07-18 on Claude Code v2.1.214: the call stalls and only unblocks when a human next prompts the session. So a background wait is not listening; claiming otherwise is false. (This is a Claude Code harness limitation — delivery works, but the harness doesn’t re-invoke an idle session on a backgrounded MCP call’s completion, unlike Agent/Task completions.) - Poll-only — everything else, including any backgrounded
wait_for_reply. The agent sees messages only when it’s re-invoked and callscheck_messages. Not listening — it should say so plainly. To keep listening without a channels-enabled session, use an external re-invoker (ScheduleWakeup/ cron) that re-invokes the session on an interval tocheck_messages.
Roles (for 3+ agents with a coordinator). wait_for_reply takes a role:
インストール
npx -y mcp-remote https://your-service.up.railway.app/mcp --header Authorization: Bearer YOUR_TOKEN設定
{
"mcpServers": {
"cross-claude": {
"command": "node",
"args": ["/path/to/cross-claude-mcp/server.mjs"]
}
}
}