BusySMS

面向 AI 智能体的 MCP

面向 AI 智能体的短信验证码:通过 MCP 读取验证码

能登录网站的智能体,依然会卡在短信验证码这一步。BusySMS MCP 服务器消除了这个卡点:智能体触发登录,调用 wait_for_code,就能收到刚刚发到你自己手机上的验证码,不需要有人从屏幕上读数字。

每个已验证号码每月 $5 · 7 天免费试用 · 在网页端通过 Stripe 计费

本页内容

MCP 服务器能为智能体提供什么

BusySMS 在 https://busysms.net/mcp 运行一个基于 Streamable HTTP 的远程 MCP 服务器。连接后,智能体可以调用读取你自己验证码的工具。最重要的是这些:

wait_for_code

等待下一条验证码:默认约一分钟,最长 90 秒。宁可什么都不返回,也不会返回过期的验证码,因为用过的验证码会浪费一次登录尝试。过滤参数:phone、sender、service、deviceId。

get_latest_code

最新的验证码,只查一次,不等待。

get_latest_sms

最新一条短信的完整内容,适用于智能体需要整条短信而不只是数字的情况。

list_devices、diagnose_my_gateway

哪些手机已注册、已验证并在线,以及验证码可能收不到的原因。

test_my_gateway

向你自己的号码发送一条测试验证码,并报告手机是否把它转发了回来。

完整列表(包括无需账户、任何助手都能调用的公开工具)见 MCP 工具页面,机器可读版本位于 /.well-known/mcp.json。

连接你的智能体

登录采用支持动态客户端注册的 OAuth 2.1:把 URL 填给客户端,浏览器窗口随即打开,你用发到邮箱(或账户绑定手机)的验证码确认,然后点击允许。无需粘贴任何 client ID 或 secret。

claude mcp add --transport http busysms https://busysms.net/mcp

在 Claude 应用中打开 Customize → Connectors → + Add → Add custom connector,命名为 BusySMS,并粘贴 https://busysms.net/mcp。其他 MCP 客户端(包括 Grok)以远程 HTTP 服务器的方式添加同一个 URL 即可。不支持 OAuth 的客户端,可以改为把 bsk_live_ API 密钥作为 Bearer 令牌发送。

典型的智能体流程

  1. 1

    发起登录

    智能体填写登录表单或调用服务,服务向你的号码发送验证码。

  2. 2

    等待验证码

    智能体立即调用 wait_for_code;如果你有多个号码,就传入 phone 或 sender。

  3. 3

    使用验证码

    智能体输入验证码并继续。如果什么都没收到,它就拿不到任何结果,可以重试或询问你,而不是瞎猜。

像这样简单的提示词,任何已连接的智能体都能用:

Prompt
Sign in to staging.example.com as +44 7700 900123.
When the site asks for the SMS code, call BusySMS wait_for_code
with phone 447700900123, enter the code, and tell me when you are in.

多个号码、共享号码,以及收不到验证码时

当你的账户里有不止一个号码,或者有同事共享给你的号码时,“下一条验证码”就有了歧义。传入 phone 指定接收号码,以免返回另一个号码上另一次登录的验证码;或者传入 sender,填写发件人名称的一部分。共享号码与你自己的号码用法相同:接受共享后,验证码相关工具会包含它的新验证码。

如果完全收不到验证码,让智能体运行 diagnose_my_gateway:它会比对哪些设备已注册、已验证并在线,并建议下一步。test_my_gateway 更进一步,会端到端验证整条链路。请让智能体先征求你的同意,因为它会向你的号码发送一条真实短信。

工具内置的安全机制

  • 仅限你的手机。每个工具的范围都限定在你的账户以及共享给你的号码。智能体无法读取任何其他人的短信。
  • 对话记录中不出现机密。create_api_key 会创建 REST 密钥,但绝不返回密钥本身:你会得到一个 15 分钟内有效的一次性链接,由你自己打开。短信内容可能夹带陌生人写的指令,因此长期有效的密钥绝不能进入智能体的上下文。
  • 变更操作需要登录会话。会改变状态的工具,比如测试网关、共享号码或吊销密钥,完全不能通过 API 密钥使用。
  • 只能发给你自己。send_sms_to_me 和 send_email_to_me 没有收件人参数;它们只能发送到你自己账户上的号码和邮箱。

智能体需要你准备什么

  • 一台插着 SIM 卡的手机:装有 BusySMS 应用的 Android 手机,或设置了快捷指令自动化的 iPhone。
  • 在 BusySMS 中已验证的号码。
  • 有效的试用或订阅。没有的话,读取验证码的工具会返回计费错误,而 list_devices 仍可正常使用,方便智能体告诉你原因。

还没有账户?

公开工具无需登录即可回答产品相关问题(价格、设置步骤、设备要求、故障排查),因此在你注册之前,助手就能准确告诉你 BusySMS 能做什么。读取验证码需要账户:7 天免费试用结束后,每个已验证号码每月 $5。

常见问题

常见问题解答

有用于短信的 MCP 服务器吗?

有。BusySMS 在 https://busysms.net/mcp 运行了一个,用于读取你自己手机上收到的验证码。它不发送短信,也不提供号码。

哪些 AI 客户端可以使用它?

任何支持远程 HTTP 服务器的 MCP 客户端:Claude 应用、Claude Code、OpenAI Codex CLI、Grok 等。

智能体能读取我所有的短信吗?

只能读取 BusySMS 捕获的内容:开启了「同步所有短信」的 Android SIM 卡上的每条短信(在设置时由你选择),以及其他 SIM 卡上的验证码类短信。验证码工具只返回验证码;这些工具也只能访问你自己的号码和共享给你的号码,而共享号码只显示验证码。

可以不用 OAuth 连接吗?

可以:把 bsk_live_ API 密钥作为 Bearer 令牌发送。会改变状态的工具仍然不对密钥开放。

wait_for_code 会等多久?

默认 60 秒,最长 90 秒。如果没有新验证码到达,它不返回验证码,智能体可以再次调用。

智能体会看到我的 API 密钥吗?

不会。如果智能体替你创建密钥,它拿到的是一个一次性链接而不是密钥本身,密钥由你自己在浏览器中领取。

博客

更多博客文章

全部文章

继续阅读

相关指南

全部指南

用你自己的号码试一试

安装应用、验证号码,今天就能读到第一条验证码。每个账户都从 7 天免费试用开始;之后每个已验证号码每月 $5,可随时取消。