关于 Call Me
Call Me 将 AI Agent 与用户的 iPhone 连接,可传递语音问题、更新和回复,也支持仅发送文字通知。它负责在 Agent 与手机之间传递消息,不负责 Agent 的推理,并支持 90 多种语言的通话。
主要功能
- 01朗读 Agent 消息并拨打电话
- 02将语音回复转为文本
- 03通过 keep_open 保持双向通话
- 04无需来电的文字通知
- 05支持 90 多种语言
适用场景
- 01离开屏幕时接收 Agent 的问题
- 02在通话中口述回复给 Agent
- 03无需接听电话即可收到文字更新
MCP 相关
Call Me 提供托管的 streamable-HTTP 和本地 MCP 服务选项。其工具允许 MCP 客户端呼叫或向已配对手机发短信、获取回复并管理通话会话。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://callmemcp.com/mcpclaude mcp add --transport http com-callmemcp-call-me https://callmemcp.com/mcp{"mcpServers":{"com-callmemcp-call-me":{"type":"http","url":"https://callmemcp.com/mcp"}}}在 Cursor 中打开{"servers":{"com-callmemcp-call-me":{"type":"http","url":"https://callmemcp.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-callmemcp-call-me":{"type":"http","url":"https://callmemcp.com/mcp"}}}{"mcpServers":{"com-callmemcp-call-me":{"serverUrl":"https://callmemcp.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
6此工具无需参数。
详细介绍
callme — 让你的 AI 给你打电话
你的 AI Agent 会拨打你的 iPhone,向你读出问题、更新信息或你当天的日程,并将你口述的回复转成文本发回——也可以只给你发文字。任何支持 MCP 的 AI 都能使用;无需安装任何东西。
Call Me 不是语音助手:所有思考都由你的 Agent 完成。Call Me 会把它的话传到你的手机,再把你的回答传回;可以只进行一次,也可以使用 keep_open 在同一通电话中来回交流,让它在你开车、乘火车或散步时继续工作。通话支持 90 多种语言的语音播报和理解。
1. 获取应用
在 App Store 下载 callme。 无需注册,也无需邮箱。打开应用,轻点 同意并继续,即可看到你的专属 callme 号码:一个 10 位数的号码,也是 Agent 联系你所需的一切。
2. 连接你的 AI(MCP)
配对信息保存在本地的 ~/.aiphone/config.json 中。在这台电脑上运行的 MCP 服务可以自动读取该文件;托管的 HTTP 端点无法读取你电脑上的文件,因此需要单独提供号码。
一个服务,适用于所有 MCP 客户端——无需 API 密钥,也无需 OAuth:
https://callmemcp.com/mcp
Claude Code
claude mcp add --transport http call-me https://callmemcp.com/mcp
opencode — 添加到 opencode.json(或 ~/.config/opencode/opencode.json):
{
"mcp": {
"call-me": {
"type": "remote",
"url": "https://callmemcp.com/mcp",
"enabled": true
}
}
}
Codex CLI — 使用本地配对的 MCP 服务
cd /absolute/path/to/call-me
codex mcp remove call-me # only if the hosted entry is already configured
codex mcp add callme -- node "$PWD/codex/mcp.mjs"
codex mcp list
本地 callme MCP 服务会在每次通话和发送短信时读取 ~/.aiphone/config.json,因此无需在 Codex 对话中输入号码。使用其 identity 工具验证已配对的手机。
Gemini CLI
gemini extensions install https://github.com/radres/call-me
或者,仅使用 MCP 服务:
gemini mcp add --transport http call-me https://callmemcp.com/mcp
Grok
在 Grok 应用中:前往 grok.com/connectors → New Connector → Custom → https://callmemcp.com/mcp。在 Grok Build 中:
grok plugin install radres/call-me#grok
Cline — 添加到 Cline 的 MCP 设置中(MCP Servers → Configure;CLI:~/.cline/data/settings/cline_mcp_settings.json)。完整的、便于 Agent 阅读的步骤见 llms-install.md。
{
"mcpServers": {
"call-me": {
"type": "streamableHttp",
"url": "https://callmemcp.com/mcp",
"timeout": 120
}
}
}
Cursor — 添加到 ~/.cursor/mcp.json(或项目中的 .cursor/mcp.json):
{
"mcpServers": {
"call-me": { "url": "https://callmemcp.com/mcp" }
}
}
或者在 plugin/ 中安装插件,它会添加一项技能,告诉 Agent 何时拨打电话、何时发送短信。这是一个标准的 Agent Plugin,带有 Cursor 清单,因此任何能加载 Agent Plugins 的客户端也都可以使用它。
ChatGPT — Settings → Apps → Advanced → Developer mode → 添加一个使用上述 URL 的连接器(无需身份验证)。
claude.ai — Settings → Connectors → Add custom connector → 使用上述 URL。
任何其他支持 MCP 的客户端——添加一个指向上述 URL 的流式 HTTP 服务,然后通过该客户端的配对或配置流程提供收件人号码。托管的 MCP 连接无法读取这台电脑上的 ~/.aiphone/config.json。
对于本地 Codex/Claude 集成,配对一次即可写入共享的本地配置,MCP 工具会自动使用它。对于托管客户端,请告知 AI 号码,或使用该客户端提供的明确配对流程;切勿猜测号码。
| 工具 | 功能 |
|---|---|
call | 呼叫你的 iPhone,朗读你的文本(问题、更新或当天安排摘要),并以文本形式返回你的语音回复。等待约 30 秒后,会向 AI 提供一个 call_id,供其查询结果。keep_open: true 会在你回答后保持通话线路畅通,以便使用 say;language("tr"、"de"、"pt-BR"……)指定 AI 使用的语言 |
say | 在 keep_open 通话中朗读下一句话;返回你的下一条回答。AI 思考时,你会听到轻柔的键盘声;此期间你说的任何内容都会以 said_while_waiting 返回 |
hang_up | 结束 keep_open 通话,可选择发送告别语 |
poll_result | 完成仍在响铃的通话 |
text | 发送推送通知消息,不拨打电话 |
wait_for_reply | 将你的回复和语音邮件传回 AI |
set_thread_title | 为手机上的对话线程命名 |
同一 AI 的重复呼叫会显示在手机上同一个已命名的线程中;每个 Agent/会话都有各自的号码和线程。在应用中屏蔽某个线程后,该发送者将永远无法再打扰你。
3. 或者直接用 curl
无需 MCP 客户端、插件或令牌。任何可以 POST JSON 的工具都能让你的手机响起来,而这两个端点就是全部功能。
拨打电话并等待口述答复(会一直阻塞,直到你回答或超时放弃):
curl -sS https://callmemcp.com/ring \
-H 'content-type: application/json' \
-d '{"to":"<YOUR_10_DIGITS>","text":"Deploy to prod?","from":"Claude on my laptop"}'
{"status":"completed","transcript":"Yes, ship it",
"session_token":"curl_1a2b...","from":"<CALLER_NUMBER>"}
status 的值为 completed、missed、declined、timeout 或 failed。
transcript 是你说的话,已转换为文本。
保持通话,以便来回对话:在 /ring 中添加 "keep_open":true。
答复会返回 "open":true 和一个 call_id。在同一通电话中再次发言并等待下一条答复,直到你挂断(或手机挂断):
curl -sS https://callmemcp.com/aiphone/calls/<call_id>/say \
-H 'content-type: application/json' \
-d '{"session_token":"curl_...","text":"Reverted it. Anything else?"}'
curl -sS https://callmemcp.com/aiphone/calls/<call_id>/hangup \
-H 'content-type: application/json' \
-d '{"session_token":"curl_...","text":"Thanks, talk later."}'
对话会在静默 2 分钟、总计 15 分钟或 60 轮后挂断。
仅发送文本,不拨打电话:
curl -sS https://callmemcp.com/text \
-H 'content-type: application/json' \
-d '{"to":"<YOUR_10_DIGITS>","body":"Migration finished.","from":"Claude on my laptop"}'
返回 {"ok":true,"message_id":42,"delivered":true}。delivered:false 表示文本已保存到你的历史记录中,但没有显示通知(该手机上已关闭 /call-me 的通知);响应中的 notice 会说明这一点。
| 字段 | |
|---|---|
to | 你的 10 位 /call-me 号码。必填 |
text / body | 要说的话 / 要发送的内容。两者最多 2000 个字符;通话时会在约两分钟内读完 |
from | 手机上显示的发送者名称。默认为 "Someone's AI" |
timeout_s | 仅适用于 /ring:等待秒数,范围为 30 到 300。默认值为 300 |
keep_open | 仅适用于 /ring:答复后保持通话,以便使用 say。默认值为 false |
language | 适用于 /ring 和 say:你编写 text 时使用的语言,例如 "tr"。默认值为英语 |
其他说明
两种响应都会返回一个 session_token,它是真正的会话令牌:同一拨打者可以使用它调用其余 API,所有内容都会汇集到你手机上的同一个对话线程中。
# name the thread
curl -sS https://callmemcp.com/aiphone/sessions/label \
-H 'content-type: application/json' \
-d '{"session_token":"curl_...","label":"nightly deploy"}'
# long-poll for replies, voicemails and missed calls
curl -sS "https://callmemcp.com/aiphone/sessions/events?session_token=curl_...&cursor=0&wait=25"
令牌由 to + from + 你的 IP 生成,因此,同一台机器重复执行 curl 会复用同一个对话线程,而不会每次都以陌生人的身份出现。
限制:每个 IP 每小时最多拨打 20 次,每天最多 60 次;拨打任意一个号码每小时最多 10 次,每天最多 40 次。在应用中屏蔽了你的发送者,会收到 missed,且 transcript 为空;这与无人接听时无法区分。特意如此设计。
4. 可选:Claude Code 插件
在 Claude Code 中,该插件提供了 MCP 本身无法实现的功能:你通过手机发送的答复会进入实时会话;如果 Claude 结束一轮时留了一个问题等你回答,Stop 钩子和答复等待器会唤醒它,让它给你打电话或发短信,而不是进入休眠。
claude plugin marketplace add radres/call-me
claude plugin install call-me@call-me
claude plugin enable call-me@call-me # REQUIRED — install leaves it disabled
claude plugin list # expect: call-me@call-me ✔ enabled
然后重启 Claude Code,说 "帮我设置 /call-me"——其余工作都会自动完成。
5. 可选:DeepSeek Harness 插件
在 DSH 中,dsh-plugin-call-me 也提供了 MCP 本身无法实现的功能:轮次结束或工具等待审批时,都可以自动拨打你的电话;而且由于 DSH 允许插件唤醒空闲运行,说出答复后就会接续该运行。
dsh plugin --profile web add github:radres/dsh-plugin-call-me
6. 可选:herdr 插件
herdr 是一个终端工作区管理器,它会监视每个窗格,并在 Agent 在屏幕上提出实际审批请求或问题时立即将其标记为 blocked。herdr-plugin-call-me 会在此时拨打电话,然后将你口述的答复作为 Agent 等待的按键输入,放回窗格中。它适用于 herdr 支持的约 20 种 Agent 中恰好在该窗格运行的任何一种,因此无需 Agent 本身提供任何支持。
herdr plugin install radres/herdr-plugin-call-me
herdr plugin pane open --plugin radres.call-me --entrypoint pair
7. 可选:Omarchy 插件
Omarchy 设置面板位于独立仓库中,因此市场只会安装该面板:radres/omarchy-plugin-call-me。
omarchy plugin add https://github.com/radres/omarchy-plugin-call-me.git --enable
bash ~/.config/omarchy/plugins/radres.call-me/install-launcher.sh
使用 omarchy plugin remove radres.call-me 移除。详情、要求以及面板通过网络发送的内容,请参阅该仓库的 README。
工作原理
call会创建一个 VoIP 通话(LiveKit WebRTC——不使用真实电话网络);你的 iPhone 会像接听真实来电一样通过 CallKit 响铃,TTS 会朗读你的文本,你的语音回复会被转写并返回给 Agent。- 你的号码是一种持有者凭证:知道号码的人都能联系到你,不知道的人则不能。速率限制和单号码上限由服务器端实施;在应用中屏蔽任意会话,即可永久将其静音。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
