relay
OfficialModula Relay
让你的 AI 智能体互相交流。Relay 是一种面向智能体团队的本地消息协议。想象一下,一个 窗格中运行着编码智能体,另一个窗格中运行着验证智能体,它们在不同的框架下使用不同的 模型,共同处理同一个任务。它运行在你的机器上。没有服务器,没有云端。
安装
claude mcp add relay -- npx -y @modulastack/relay --name coder
npx -y @modulastack/relay setup claude第二行为智能体配备了循环指令、唤醒钩子和工具信任,使对话可以无人值守地运行。
更多内容请参阅武装你的智能体。
setup codex 对 Codex 执行同样的操作,并同时注册服务器。对于任何其他 MCP
框架,服务器命令是 npx -y @modulastack/relay --name <role>。要将其嵌入
你自己的工具,请运行 npm install @modulastack/relay。
Related MCP server: claude-intercom-mcp
你的第一次智能体对话
在同一个项目文件夹中打开两个终端。
在每个终端中启动一个智能体。一个使用
--name coder,另一个使用--name verifier。对任意一个智能体说:“查看 relay 名册。”你会立刻看到另一个对等节点。名册会直接 ping 各对等节点,因此它兼作你的“链路是否连通?”检查,并在毫秒内给出应答。
现在用平实的语言告诉编码智能体:
通过 relay 给验证智能体发送这条消息:“请审查 utils.py 并回复 发现的问题”,然后等待回复。
观察验证智能体接收消息、执行工作并回复。你永远不需要输入协议命令。智能体自己 驱动 Relay。
速度取决于模型,而不是链路。每一次交换在每一侧都是一个完整的回合,因为另一个智能体
实际上在处理你的请求,所以回复会以模型运行的速度到达,通常需要几秒钟。如果速度变慢,
那是模型或账户被限流的问题,而不是传输层的问题。relay_roster 自行检查链路,无需
唤醒模型。
你的智能体获得什么
六个工具,任何支持 MCP 的模型都已经知道如何使用:
Tool | Meaning |
| 这个池子里还有谁? |
| 向一个对等节点发送请求 |
| 等待请求或回复 |
| 回答请求 |
| 无需等待即可检查回复 |
| 释放过期的请求槽位 |
所有内容都保留在你的机器上。对等节点通过 Unix 域套接字,在按文件夹划分的池中相互 发现。没有代理,没有网络端口,没有账户。
让对话持续进行
Relay 是基于拉取的。消息会在接收方那里等待,直到它调用 await。像“等待一个请求并回答 它”这样的一次性提示会在第一次交换后停止监听,因此对于持续进行的对话,请给每个智能体 一次循环指令:
你正处于一个持续进行的 relay 对话中。循环:在 relay 上等待入站请求或 回复;当有消息到达时,处理它并回复;然后继续等待。保持循环, 直到我说停止。
这个循环也覆盖发送侧。你发出的请求的回复会出现在同一次 await 中,因此即使智能体丢失
了对 msg_id 的追踪,只要它保持在循环中,仍然能收到答案。
让循环与你的框架相匹配。 当智能体处于回合中时,不同的框架对你输入的处理方式不同。 Codex 会在几秒内接收到你的输入,因此在那里使用连续循环没有问题。Claude Code 可以在 多次工具调用之间保持已输入的文本,因此它更适合按需唤醒的节奏。告诉它在两次空超时后 结束回合,并让一个监视器在消息排队时唤醒它。然后它会停留在空闲提示符处,随时为你 待命,并且当对等节点向它写入消息时,它仍然会在几秒内被唤醒。
宿主集成方可以更进一步。当消息排队等待空闲对等节点时,服务器会发出唤醒通知
(notifications/relay/wake),监听该通知的宿主可以自行恢复循环。唤醒只是投递信号,
绝不是指令来源。examples/ 中附带两个现成的宿主。
claude-stop-hook.sh 可以在消息排队时阻止 Claude Code
智能体结束回合,且无需 tmux。relay-watch.sh 是一个通用
监视器,它根据注册表的队列深度唤醒空闲的 tmux 窗格。
武装你的智能体
有两件事会悄悄破坏无人值守的循环。第一件是审批提示。一个卡在“允许 relay_await?”上的 智能体看起来和死掉的一模一样。第二件是空闲的对等节点。框架结束了回合,当消息到达时 没有任何东西唤醒它。每个框架只需一条命令即可安装防止这两种情况的组件:循环指令、 钩子和限定范围的工具信任。
npx -y @modulastack/relay setup claude # CLAUDE.md loop + Stop hook + tool trust
npx -y @modulastack/relay setup codex # AGENTS.md loop + config.toml server & trust在你的项目文件夹中运行它。重复运行不会产生任何新变化,它会合并到现有配置中,而不是 覆盖它。
如果想手动配置,这些组件都是普通文件。循环文本放在你的 CLAUDE.md 或 AGENTS.md
中。Claude Code 通过 permissions.allow: ["mcp__relay"] 或在启动时使用
--allowedTools mcp__relay 来信任服务器。Codex 在服务器条目上只需一行:
[mcp_servers.relay]
default_tools_approval_mode = "auto"要专门信任 relay 的工具,而不是授予全局放行。你希望协调调用不再打断,而不是放行一切。
有一件事需要避免。不要为此设置 approval_policy = "never"。它会让 Codex 静默拒绝任何
原本需要审批的操作,这会阻止 relay_reply。
如果什么都没有出现
名册为空? 两个智能体必须在同一个文件夹中运行。文件夹就是池。
仍然为空? 检查两个智能体是否确实在运行。
relay_roster会清除已失效的对等节点。名称被占用? 每个对等节点在池内都需要唯一的
--name。消息已发送但对等节点闲置? 投递会一直等到对等节点调用 await,所以请让它回到 上面的循环中。当目标最近没有 await 时,发送回执会携带一个
note,名册会显示每个 对等节点的last_await_at。
深入了解
完整协议在 SPEC.md 中:信封、唤醒通道、安全模型和版本控制。它目前处于
v0.x 的预稳定阶段,因此请锁定行为契约的版本,而不是依赖文档描述。
Apache-2.0 · © 2026 ModulaStack
关于 ModulaStack
Relay 由 ModulaStack 构建。如果你想观察你的智能体工作,包括 窗格、审批和跨模型的团队,Modula Stack 就是基于 Relay 构建的操作控制台。
“Modula Relay”和“ModulaStack”是 ModulaStack 的商标。Apache-2.0 许可证不授予命名权。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Connect AI agents to Replynodes over the Model Context Protocol.
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Agent-native collaboration network: orchestrate a team of long-running agents from any MCP client.
Build, validate, and deploy multi-agent AI solutions from any AI environment.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables peer-to-peer communication, discovery, shared state, and file coordination between AI coding agents across machines and sessions.2819Elastic 2.0
- AlicenseAqualityBmaintenanceEnables local messaging between Claude Code, Codex, Pi, and other coding-agent sessions on the same machine, allowing them to discover each other, send updates, ask questions, and reply.8192AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to communicate asynchronously via a decentralized, peer-to-peer LAN bridge with automatic discovery and direct messaging.MIT
- AlicenseNot gradedqualityCmaintenanceCross-harness communication mesh for LLM agents enabling rooms, DMs, presence, and visibility over TCP.31816MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/modulastack/modula-relay'
If you have feedback or need assistance with the MCP directory API, please join our Discord server