SMS8 - SMS GATEWAY using your phone
官方使用已配对的安卓手机作为网关,将无限短信、OTP验证和入站Webhook接入您的AI编码助手。相同的SMS8 API密钥,每个流程均提供JSON-RPC工具。无需Twilio、无需A2P 10DLC、无需按条计费。
你可以用 SMS8 SMS GATEWAY Using Your Phone MCP 做什么?
- 发送短信 — 让AI通过
send_sms向任意号码发送文本消息,消息将经由您已配对的安卓手机路由发出。 - 生成与验证OTP — 使用
send_otp生成一次性验证码,并通过verify_otp进行验证,适用于注册或登录流程。 - 等待接收验证码 — 使用
wait_for_otp阻塞等待,直到配对设备收到OTP并自动提取验证码。 - 查看最近消息 — 通过
get_messages检索收件箱或已发送的短信历史记录。 - 列出已配对设备 — 使用
list_devices查看哪些安卓手机已连接到您的账户。 - 注册Webhook — 通过
create_webhook配置回调URL,用于接收入站短信和投递状态事件。
文档
SMS8 MCP 服务器
短信网关 → sms8.io · 面向 vibe 编码者与开发者的短信网关 MCP → mcp.sms8.io
从 Claude Code、Cursor、Windsurf、OpenCode 以及任何支持模型上下文协议的 AI 编码工具中发送短信、生成并验证一次性密码 (OTP)、等待接收验证码以及配置 Webhook。短信通过 SMS8 平台经由配对的 Android 手机进行路由。
在线服务器: https://mcp.sms8.io 仪表盘: https://app.sms8.io 营销网站: https://sms8.io
为什么使用它
正在构建应用并需要短信通知、一次性密码 (OTP)、双向消息或自主代理电话验证?大多数方案都要求您注册运营商计划、配置电话号码、按条付费或为每个会话租用一次性 SIM 卡。SMS8 通过您已有的手机路由短信。MCP 服务器为您的 AI 助手提供了九个可直接调用的工具,因此为项目添加短信功能只需一句提示,而无需一小时的集成工作。
您能获得什么
| 工具 | 用途 |
|---|---|
setup_sms8 | 验证 API 密钥,返回账户上下文和代码示例 |
send_sms | 通过配对的 Android 设备发送一条短信 |
send_otp | 生成并发送验证码 |
verify_otp | 将输入的代码与最新发出的一次性密码 (OTP) 进行比较 |
wait_for_otp | 新增。 阻塞直到配对的 Android 设备收到一次性密码 (OTP);提取验证码 |
get_messages | 返回最近的收件箱或已发送短信 |
list_devices | 列出已配对的 Android 设备 |
get_balance | 新增。 轻量级额度与续期检查 |
create_webhook | 为接收短信和送达事件注册回调 URL |
所有工具共享与 SMS8 仪表盘相同的发送管道。额度、重试、多设备路由和 Webhook 签名的工作方式与直接 API 调用完全相同。
SMS8 对比 Twilio 对比 MessageBird
| 功能 | SMS8 | Twilio | MessageBird |
|---|---|---|---|
| 内置 MCP 服务器 | 是 | 否 | 否 |
| 每条消息费用 | 无 | $0.0079+ | $0.05+ |
| 需要 A2P 10DLC | 否 | 是 | 是 |
| 电话号码配置 | 不需要 | $1+/月 | $2+/月 |
| 设置时间 | 60 秒 | 数天到数周 | 数天 |
| 内置一次性密码 (OTP) 验证 | 是 | 额外服务 | 额外服务 |
| 开源 MCP 代码 | MIT | 否 | 否 |
通过 npm 安装
六个软件包覆盖了所有流程——选择适合您项目的即可。
| 软件包 | 运行命令 | 用例 |
|---|---|---|
sms8-mcp | npx -y sms8-mcp | 用于 Claude Code、Cursor、Windsurf、OpenCode 的 MCP 启动器 |
sms8-cli | npx sms8-cli send +1234 "hi" | 用于发送 / 一次性密码 (OTP) / 收件箱 / 设备的终端命令行界面 (CLI) |
react-sms-otp | npm i react-sms-otp | React useSms8Otp() + <OtpForm /> + <OtpInput />(分隔符、从右到左 (RTL)、掩码、渲染属性) |
sms-otp-verify | npm i sms-otp-verify | 相同代码,针对“短信一次性密码验证”/“一次性密码输入”搜索的搜索引擎优化 (SEO) 名称 |
capacitor-sms-otp-send-verify | npm i capacitor-sms-otp-send-verify | 用于 Ionic 应用的 Capacitor 插件——原生 iOS Swift + Android Kotlin + Web 回退 |
cordova-plugin-sms-otp-send | cordova plugin add cordova-plugin-sms-otp-send | 用于 Ionic 应用的 Cordova 插件——原生 iOS Swift + Android Kotlin |
sms-otp-using-myphone | npx sms-otp-using-myphone send +1234 | 同一命令行界面 (CLI) 的仅一次性密码 (OTP) 品牌 |
phone-sms-gateway | npx phone-sms-gateway send +1234 "hi" | 同一命令行界面 (CLI) 的手机即网关品牌 |
send-sms-from-android | npx send-sms-from-android send +1234 "hi" | 同一命令行界面 (CLI) 的 Android 优先品牌 |
MCP 示例(Claude Code、Cursor、Windsurf——相同的配置结构):
{
"mcpServers": {
"sms8": {
"command": "npx",
"args": ["-y", "sms8-mcp"],
"env": { "SMS8_API_KEY": "sk_xxx" }
}
}
}
命令行界面 (CLI) 示例:
export SMS8_API_KEY=sk_xxx
npx sms8-cli send +14155550100 "Hello"
CODE=$(npx sms8-cli otp wait +Google --timeout=120)
React 示例:
import { OtpForm } from 'react-sms-otp';
<OtpForm
apiKey={process.env.NEXT_PUBLIC_SMS8_API_KEY!}
onVerified={(phone) => router.push('/dashboard')}
/>
所有六个软件包的源代码位于 npm-packages/。
iOS + Android 软件开发工具包 (SDK)
对于原生移动应用,sdks/ 文件夹提供了 Kotlin (Android) 和 Swift (iOS) 软件开发工具包 (SDK),包含 发送 / 验证 API + 短信自动填充助手(Android 上的 Google 短信检索器,iOS 上的 oneTimeCode 内容类型)。
| 软件开发工具包 (SDK) | 安装 | 自动填充 |
|---|---|---|
sms8-swift | Swift 包管理器——参见 README | iOS OTPTextField SwiftUI 视图 |
sms8-android | JitPack——参见 README | SMSRetriever.start(activity)——无需短信权限 |
两个软件开发工具包 (SDK) 均为 MIT 许可,共享相同的 SMS8 API 密钥,并针对相同的 Twilio Verify 替代用例。
快速开始
1. 获取 SMS8 账户
在 app.sms8.io 注册。免费 5 天试用,无需信用卡。通过二维码配对您的 Android 手机,并从 个人资料然后 API 复制您的 API 密钥。
2. 将 MCP 服务器添加到您的工具
托管 HTTP(Claude Code、Cursor、Windsurf、Codex、Devin)
{
"mcpServers": {
"sms8": {
"url": "https://mcp.sms8.io",
"transport": "http",
"headers": {
"Authorization": "Bearer YOUR_SMS8_API_KEY"
}
}
}
}
Claude Code 插件(一条命令)
/plugin marketplace add 1fancy/sms8-sms-gateway
/plugin install sms8-sms-gateway
然后在启动 Claude Code 之前,在您的 shell 中执行 export SMS8_API_KEY=sk_xxx。
用于标准输入输出 (stdio) 客户端的 npx
{
"mcpServers": {
"sms8": {
"command": "npx",
"args": ["-y", "@sms8/mcp"],
"env": { "SMS8_API_KEY": "sk_your_key" }
}
}
}
3. 设置向导
位于 app.sms8.io/mcp-setup.php 的仪表盘会为每个 AI 工具预填 JSON,如果需要,还会显示您的设备配对二维码,并包含一个实时短信测试表单。
4. 询问您的 AI
Add SMS verification to my signup flow using the sms8 MCP.
AI 将调用 setup_sms8,然后调用 send_otp 和 verify_otp,并编写一次即可成功运行的生产代码。
用例
这些是您可以粘贴到 Claude Code、Cursor 或 Windsurf 中的真实单行提示。
注册时的电话验证
Wire phone-number verification into this app using the sms8 MCP. Use
send_otp on /signup, verify_otp on /verify-phone. Render the remaining
attempts on error.
订单发货通知
When an order ships, send the customer an SMS with their tracking link
via the sms8 MCP.
双向支持收件箱
Register a webhook with the sms8 MCP at https://my-app.com/sms-inbox.
Scaffold the handler that verifies the HMAC signature and routes inbound
SMS to the support queue.
通过短信进行无密码登录
Replace the magic-link email login with SMS OTPs using the sms8 MCP.
6-digit code, 5-minute expiry, 5 attempts.
用于管理页面的短信双重认证 (2FA)
Add SMS 2FA to /admin login via the sms8 MCP. Lock the account after
5 failed verify_otp attempts.
即用型代码示例
examples/ 中的每个文件都是生产就绪、零依赖且可复制粘贴的。这些是 AI 在 setup_sms8 握手后生成的内容。
php-send.php:包含send、sendOtp、verifyOtp的最小Sms8Sender类js-fetch.js:Node / 浏览器 / Cloudflare Worker 客户端(ESM 和 CommonJS)otp-flow.php:完整的电话验证流程(startSignup+verifySignup)webhook-handler.php:带 HMAC 签名检查的接收短信处理器
常见问题
什么是 SMS8 MCP 服务器?
位于 mcp.sms8.io 的一个 HTTPS 端点,实现了模型上下文协议。AI 编码工具调用其 JSON-RPC 接口来发送短信、生成一次性密码 (OTP) 和配置 Webhook。短信通过 SMS8 平台经由配对的 Android 手机进行路由。
这与 Twilio 有何不同?
SMS8 使用您自己的 Android 手机作为网关,并使用您现有的 SIM 卡。没有按条计费的运营商费用,无需 A2P 10DLC 注册,也无需配置电话号码。您支付固定套餐费用即可无限发送短信。MCP 服务器公开了您的 AI 助手可以直接调用的七个工具,这是 Twilio 所不提供的。
这能与 Claude Code 一起使用吗?
可以。将 MCP 服务器添加到 ~/.config/claude/mcp-servers.json,使用指向 https://mcp.sms8.io 的 HTTP 传输方式,并将您的 SMS8 API 密钥作为 Bearer 令牌。或者运行 /plugin marketplace add 1fancy/sms8-sms-gateway 然后执行 /plugin install sms8-sms-gateway。
这能与 Cursor 和 Windsurf 一起使用吗?
可以。两者都支持 HTTP MCP 服务器。将 https://mcp.sms8.io 与您的 API 密钥作为 Bearer 标头添加到 ~/.cursor/mcp.json (Cursor) 或 ~/.codeium/windsurf/mcp_config.json (Windsurf)。位于 app.sms8.io/mcp-setup.php 的设置向导会为每个工具预填 JSON。
AI 能自动添加一次性密码 (OTP) 验证吗?
可以。捆绑的 Claude Code 技能 (skills/send-sms/SKILL.md) 会教导助手何时调用 send_otp 和 verify_otp,以及如何用验证步骤包装现有的注册或登录路由。像 “为 /signup 添加电话验证” 这样的提示就足够了。
源代码是公开的吗?
是的,MIT 许可。服务器、所有七个工具的实现、npm 启动器 (@sms8/mcp)、Claude Code 插件清单和示例代码都存放在 此仓库 中。
我的 API 密钥会怎样?
您的 API 密钥通过 Authorization: Bearer 标头(或 X-Api-Key)对每个 MCP 工具调用进行身份验证。托管服务器会根据您的 SMS8 账户对其进行验证,然后通过现有的 SMS8 发送管道路由调用。setup_sms8 响应仅返回您密钥的最后四个字符,因此它绝不会泄露到 AI 聊天历史记录或日志中。
在生产环境中使用安全吗?
安全。服务器端防御措施包括:
- 继承自 SMS8 API 的每密钥速率限制
- 每个电话号码每 24 小时最多 5 个一次性密码 (OTP) 的硬性上限,用户不可配置
- 30 到 600 秒的重发冷却时间(默认 60 秒)
- 仅 POST 的一次性密码 (OTP) 端点;GET 返回 405;忽略 cookies
- 带行锁的事务包装速率限制检查;并发调用无法超过限制
- HMAC-SHA256 Webhook 签名
- 针对
create_webhook的全面 SSRF 阻止列表,涵盖 RFC1918、CGNAT、链路本地、IPv4 映射的 IPv6 和 DNS 解析的主机 - 仅为发现方法通告跨域资源共享 (CORS);
tools/call省略了跨域资源共享 (CORS),因此恶意网页无法驱动短信发送
我可以自行托管 MCP 服务器吗?
可以。克隆仓库,将 SMS8_APP_PATH 设置为您的 SMS8 安装目录,然后运行:
git clone https://github.com/1fancy/sms8-sms-gateway.git
cd sms8-sms-gateway
export SMS8_APP_PATH=/path/to/your/sms8-install
php -S 127.0.0.1:8080 index.php
位于 mcp.sms8.io 的托管服务器是免费的,对大多数用户来说更简单。
什么是“vibe 编码”?
Vibe 编码是指通过用简单的英语向 AI 助手描述您想要什么来交付可工作的软件,而不是亲手编写每一行代码。SMS8 MCP 使得最常见的请求之一(“添加短信通知”)成为可能,而无需接触运营商门户或处理 A2P 文书工作。
安全与密钥
此仓库不包含任何密钥。所有凭据都存在于环境变量或您的 AI 工具的 MCP 配置中:
SMS8_API_KEY=sk_… # from app.sms8.io → Profile → API
SMS8_WEBHOOK_SECRET=… # from app.sms8.io → Webhook
有关完整的安全详细信息,请参阅上面的常见问题部分。可根据要求提供单独的安全审计摘要。
仓库布局
.
├── README.md this file
├── LICENSE MIT
├── index.php MCP server entry (JSON-RPC dispatcher)
├── landing.html marketing landing at mcp.sms8.io
├── .claude-plugin/plugin.json Claude Code plugin manifest
├── .mcp.json MCP server config referenced by the plugin
├── skills/send-sms/SKILL.md teaches Claude when to invoke SMS8 tools
├── npm-packages/ five published npm packages
│ ├── sms8-mcp/ MCP stdio bridge (sms8-mcp)
│ ├── sms8-cli/ universal CLI (sms8)
│ ├── sms-otp-using-myphone/ OTP-only brand of the CLI
│ ├── phone-sms-gateway/ phone-as-gateway brand of the CLI
│ └── send-sms-from-android/ Android-first brand of the CLI
├── lib/ Auth, JsonRpc, ToolRegistry
├── tools/ 7 tool implementations
└── examples/ PHP and JS drop-in samples
路线图
- HTTP MCP 服务器已在
mcp.sms8.io上线 - 带有每电话号码滥用上限的一次性密码 (OTP) 端点
- npm 软件包
sms8-mcp、sms8-cli、sms-otp-using-myphone、phone-sms-gateway、send-sms-from-android - Claude Code 插件和技能
- 彩信 (MMS) 支持
- 接收短信自动路由至 AI 以生成回复
- 可在仪表盘中配置的每工具速率限制
- Python、Go 和 Ruby 的代码示例
贡献
欢迎在 github.com/1fancy/sms8-sms-gateway 提交问题和拉取请求。在进行较大更改之前,请先发起讨论。
许可证
MIT。参见 LICENSE。
关键词
模型上下文协议, mcp 服务器, mcp 短信, claude code 短信, claude code mcp, cursor mcp, windsurf mcp, 短信 api, 一次性密码 api, 短信网关, android 短信网关, twilio 替代方案, vibe 编码, ai 短信集成, 短信通知, 从 claude 发送短信, 从 cursor 发送短信, 电话验证 api, 短信一次性密码, 双重认证短信, webhook 短信, 接收短信, 双向短信, 无限短信, 无按条计费, 无 A2P 10DLC, ai 编码工具, sms8