mcpField
A
agent-intercom

agent-intercom

本地服务
github.comAI 与智能体12 周前更新

关于 agent-intercom

agent-intercom 是一款 MCP 服务和命令行工具,可在 Claude Code、Codex CLI 与 Antigravity 会话间传递消息。可选的实时推送会将消息送入打开的会话,SSH 桥接则连接不同机器上的 Agent。

主要功能

  1. 01为支持的 Agent 提供消息工具
  2. 02向打开的会话实时推送
  3. 03通过 SSH 桥接连接不同机器
  4. 04邮箱状态与监听命令

适用场景

  1. 01请另一个编码 Agent 审查代码差异
  2. 02将回复直接送达活动会话
  3. 03连接笔记本与远程服务上的 Agent

MCP 相关

它向 MCP 客户端提供 mail_send、mail_check 和 mail_peers 工具。安装程序会为支持的 CLI 注册该服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"iambashar-agent-intercom": {
"command": "npx",
"args": [
"-y",
"agent-intercom"
],
"env": {
"AGENT_NAME": "<AGENT_NAME>",
"AGENT_MAIL_DIR": "<AGENT_MAIL_DIR>"
}
}
}
}
启动命令npx -y agent-intercom
需要配置的环境变量
AGENT_NAMEThis agent's mailbox name, e.g. claude, codex or gemini
AGENT_MAIL_DIRMailbox folder shared by all agents (default ~/.agent-mail)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmagent-intercom0.2.5

工具

3

收录的工具列表 · 更新于 1 周前

参数类型必填说明
tostring是收件人 Agent 名称,列于 mail_peers 中,例如 "codex"、"claude" 或 "gemini"。可使用字母、数字、_ 和 -,并可包含以 . 分隔的后缀段。
bodystring是消息正文,可使用纯文本或 Markdown。收件人无法查看你的对话,因此请包含其所需的全部信息。
reply_tostring否可选。你正在回复的消息 id(mail_check 中方括号内的值),以便收件人将回复与其问题对应起来。

详细介绍

agent-intercom:Claude Code、Codex CLI 和 Antigravity 通过一个中枢连接,消息在它们之间流转


npm CI License: MIT GitHub stars

Node 20+ Zero dependencies MCP Claude Code Codex CLI Antigravity

让 Claude Code、Codex CLI 和 Antigravity(Gemini)相互发送消息,
并将每条消息直接送达另一个 Agent 的打开会话。

如果它能为你节省时间,点个 ⭐ 就能帮助其他人发现它。

开始使用 · 查看效果 · 推送机制 · 跨设备使用 · 命令行 · 安全性 · 参与贡献


README 配图 开始使用

npx agent-intercom install

只使用 Claude Code?可以将它作为插件安装:

/plugin install agent-intercom --marketplace iambashar/agent-intercom

使用早于 2.1.275 版本的 Claude Code 时:运行 /plugin marketplace add iambashar/agent-intercom,然后运行 /plugin install agent-intercom@agent-intercom。该插件还会添加一项技能,教 Claude 遵循邮箱约定。

npx 命令会将 MCP 服务注册到它找到的每个 CLI。重启这些 CLI 后,每个 Agent 都会获得三个工具:mail_send、mail_check 和 mail_peers。然后用自然语言提出请求:

你 → Claude: 请让 codex 审查 src/parser.ts 中的差异,并等待它回复。

启用实时推送,这样就不必轮询。请全局安装,因为守护进程需要一个稳定的路径:

npm i -g agent-intercom
agent-intercom install --push
按 CLI 列出 install 所做的更改
CLI注册方式推送所需的额外设置
Claude Codeclaude mcp add,用户级作用域无;使用 Claude Code 的对等套接字
Codex CLI在 ~/.codex/config.toml 中添加托管区块(先备份)无;使用 Codex app-server 守护进程
Antigravity (agy)agy mcp add在 ~/.gemini/config/hooks.json 中添加会话钩子

使用 --only claude|codex|gemini 指定单个 CLI;使用 --local 固定到 git 检出版本,而不是使用 npx。运行 agent-intercom uninstall 可移除所有内容,包括推送守护进程。

说明

旧版 gemini CLI 不再接受个人 Google AI Pro 登录;Google 已将这些用户迁移到 Antigravity CLI(agy)。此处默认将其 Agent 命名为 gemini。

README 配图 看看它如何运作

双栏终端动画:Claude 使用 mail_send 向 Codex 发送审查请求,Codex 将其作为新一轮对话接收,审查文件并回复,回复随后出现在 Claude 的会话中

两个 Agent 都不需要轮询。请求发出后会立即作为新一轮对话出现在 Codex 中,回复也会以同样的方式传到 Claude。

README 配图 你将获得

实时推送,无需轮询:新邮件会成为打开的会话中的新一轮对话三个 CLI,共用一个收件箱:Claude Code、Codex CLI 和 Antigravity 共用一个邮箱
恰好投递一次:推送前会先认领消息零依赖:只需原生 Node 20+ 和一个存放 JSON 文件的文件夹
跨设备通信:bridge.sh 通过 SSH 传递邮件本地运行并带有标记:任何内容都不会离开你的设备,推送文本会添加标签

README 配图 支持的 Agent

Agent邮箱名称消息如何到达打开的会话
README 配图claudeClaude Code 的本地对等消息套接字,即 SendMessage 在会话间使用的通道。消息会标记为来自另一个会话。
README 配图codexCodex TUI 所使用的共享 app-server 守护进程:使用 turn/start,如果已有一轮对话正在运行,则使用 turn/steer。
README 配图gemini通过 agy agentapi send-message 发送到对话中。每个会话都会通过钩子注册一次。
任何其他 MCP 客户端任意名称不支持推送。它会使用 mail_check 读取消息,或使用 mail_check(wait_seconds=300) 阻塞等待。
工具功能
mail_send(to, body, reply_to?)将消息发送到另一个 Agent 的收件箱
mail_check(wait_seconds?)读取并收取你的消息;使用 wait_seconds(最长 300 秒)时,会阻塞等待消息到达
mail_peers()列出已知的 Agent

README 配图 推送的工作原理

流程:mail_send 将消息写入收件箱;pushd 认领文件,将其注入 Claude Code、Codex CLI 或 Antigravity,然后移至已读;如果没有打开的会话,消息会留在收件箱中,供 mail_check 读取

sequenceDiagram
    autonumber
    participant C as Claude Code
    participant M as ~/.agent-mail/codex/inbox
    participant P as pushd
    participant X as Codex CLI (open session)
    C->>M: mail_send(to: "codex", body)
    M-->>P: file appears (fs.watch, no polling)
    P->>M: claim: rename to <id>.json.pushing
    P->>X: turn/start with the message
    X-->>P: turn accepted
    P->>M: move to read/
    Note over X: Codex works on it, then replies with mail_send(to: "claude")
  • 只投递一次。 守护进程会在推送前重命名消息,mail_check 会在读取前重命名。谁先完成重命名,谁就投递消息。

  • 失败时安全回退。 推送失败时,文件会被放回收件箱,并在 30 s 后重试。如果没有打开的会话,消息会等待 mail_check 读取。

  • 寻址。 使用 claude.<session-name>、codex.<thread-id-prefix> 或 gemini.<conversation-prefix> 选择会话。否则,消息会发送到最近活动的会话,或 ~/.agent-mail/routes.json 中指定的会话:

    { "claude": "api-server", "codex": "019f018a" }
    

警告

推送依赖这三个 CLI 中未公开说明的内部机制,更新可能在不另行通知的情况下改变这些机制。发生这种情况时,推送会失败并记录日志,邮件则会回退到收件箱。协议详情:docs/live-push.md。

不使用推送守护进程
  • Claude Code:docs/claude-monitor.md。在 Monitor 工具中运行 agent-intercom watch claude,即可在邮件到达时唤醒会话。
  • Codex:docs/codex-listen.md。使用循环调用 mail_check(wait_seconds=300) 的监听提示词。

README 配图 跨机器通信

没有共享文件系统的机器(例如 GPU 服务或 HPC 集群)上的 Agent,可通过 SSH 使用 bridge.sh 加入。它会将每条消息传送到收件人所在的机器,拉取的邮件也会像其他邮件一样推送。

BRIDGE_HOST=gpu-box REMOTE_AGENTS="claude-gpu" ./bridge.sh
flowchart LR
    subgraph laptop["💻 Laptop"]
        A[claude] & B[codex] & G[gemini]
    end
    subgraph gpu["🖥️ gpu-box"]
        R[claude-gpu]
    end
    laptop <-- "bridge.sh · rsync over SSH" --> gpu

更多信息:docs/remote-bridge.md。

每个 CLI 使用多个会话

名称就是 AGENT_NAME。为每个会话指定不同的名称,例如 claude-api 和 claude-web:

npx agent-intercom install --only claude --claude-name claude-api

README 配图 CLI

agent-intercom install [--only claude|codex|gemini] [--claude-name N] [--codex-name N] [--gemini-name N] [--local] [--push]
agent-intercom uninstall        MCP entries, agy hook and push daemon
agent-intercom push install     push daemon as a login service (launchd / systemd --user)
agent-intercom push uninstall
agent-intercom push run         push daemon in the foreground
agent-intercom status           unread/read counts per agent
agent-intercom watch <name>     one line per new message, without consuming it
agent-intercom serve            the MCP server on stdio

README 配图 安全性

这是一个没有身份验证的本地邮箱。任何以你的身份运行的进程都可以写入 ~/.agent-mail/*/inbox,而且Agent 会将消息视为要执行的输入。开启推送后,这些输入无需你手动输入,就会到达已打开的会话。

  • 将收件箱中的内容视为不可信文本。不要因为某条消息的指示,就让某个 Agent 批准破坏性操作。
  • 推送的消息会标记为 [agent-intercom] message <id> from <sender>。Claude Code 还会将其标记为来自另一个会话,而不是你本人。
  • 推送只会读取只有你的用户才能读取的令牌(~/.claude/sessions/*.key、agy 会话令牌),并且只与本地套接字通信。任何内容都不会离开这台机器。

如需报告问题,请参阅 SECURITY.md。设置 AGENT_MAIL_DIR 可更改邮箱位置,例如将其移至项目文件夹中。

帮你省去了在 Agent 之间复制粘贴?去 GitHub 为 agent-intercom 点个 Star 吧

🤝 参与贡献

欢迎贡献,无论是修正错别字,还是支持新的 Agent。

Good first issues Help wanted Discussions

我想……从这里开始
修复一些小问题适合新手的问题
支持其他编码 Agentdocs/adding-an-agent.md
报告 CLI 更新后导致推送失效的问题错误报告
提问或提出想法讨论区

提交拉取请求前,请先阅读 CONTRIBUTING.md。所有参与者都应遵守行为准则。

贡献者

开发

git clone https://github.com/iambashar/agent-intercom && cd agent-intercom
npm test                          # node --test, no dependencies
python3 scripts/build-assets.py   # rebuild the README artwork

运行时零依赖;需要 Node 20+。请参阅 CONTRIBUTING.md 和更新日志。

采用 MIT 许可证 · 为同时使用多个编码 Agent 的人打造

⭐ 点赞 · 🐛 报告错误 · 💡 参与讨论

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。