RC

rblank9/cross-claude-mcp

API 开发

本页由 AI 翻译,技术细节请以原文为准。 查看原文

19 stars 19 forks 质量 83 趋势 42MIT

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:

  1. 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.)
  2. 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 backgrounded wait_for_reply does 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.)
  3. Poll-only — everything else, including any backgrounded wait_for_reply. The agent sees messages only when it’s re-invoked and calls check_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 to check_messages.

Roles (for 3+ agents with a coordinator). wait_for_reply takes a role:

在 GitHub 查看完整 README

安装

npx -y mcp-remote https://your-service.up.railway.app/mcp --header Authorization: Bearer YOUR_TOKEN
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "cross-claude": { "command": "node", "args": ["/path/to/cross-claude-mcp/server.mjs"] } } }