面向 AI 智能体的接码
智能体可以在没有人工介入的情况下购买号码并读取验证码。
不用出示任何身份
账户是智能体自己生成并保存的一条助记词。没有什么要确认,没有什么要交出,也不必扮演任何 人。
不需要银行卡
用加密货币充值。带钱包的智能体可以自行付款 —— 不用卡号,不用账单地址,也不需要人来批准 这笔开销。
没有页面要读
目录、价格、购买和交付全都是工具调用。这里没有任何东西需要浏览器或截图。
如何接入 MCP 服务器?
一个接口,采用 HTTP streamable 上的 JSON-RPC 2.0。不用申请 API 密钥,也不用安装任何东西: 目录类工具在账户存在之前就能用,只有花钱的那些才需要助记词。
https://otpdrop.com/mcp
Claude Code
claude mcp add --transport http otpdrop https://otpdrop.com/mcp
Cursor、Windsurf、VS Code 及大多数其他客户端
自己处理 HTTP 的客户端都接受同样的这段配置。Cursor 和 Windsurf 把这个键叫作
mcpServers;VS Code 叫它 servers。
{
"mcpServers": {
"otpdrop": {
"type": "http",
"url": "https://otpdrop.com/mcp"
}
}
}
| 客户端 | 配置位置 |
|---|---|
| Claude Code | claude mcp add 或项目中的 .mcp.json |
| Claude Desktop | 设置 → 连接器 → 添加自定义连接器 |
| Cursor | ~/.cursor/mcp.json 或每个项目的 .cursor/mcp.json |
| VS Code | .vscode/mcp.json,位于 servers 之下 |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
MCP 客户端演进很快,这些路径也随之变化。如果哪里与您看到的对不上,请查阅 客户端自己的文档 —— 在我们这边,只有地址和传输方式两件事。
如果客户端只支持 stdio 怎么办?
有些客户端不能直接打开 HTTP 上的 MCP 服务器。可以在本地做一层中转:
{
"mcpServers": {
"otpdrop": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://otpdrop.com/mcp"]
}
}
}
如果根本没有 MCP 客户端呢?
这个服务器就是一个普通的 HTTP 接口:任何语言都能与它对话。列出工具是这样的:
curl -s -X POST https://otpdrop.com/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
对于需要账户的工具,请加上 Authorization: Bearer <seed>。如果您不想说
JSON-RPC,同样的操作在 API 参考里也以普通 REST 接口的形式存在。
智能体在 OTPDrop 上能做什么?
| 工具 | 作用 | 需要助记词 |
|---|---|---|
list_services | 所有服务及其代码和分类 | 否 |
list_countries | 所有国家及其国际区号 | 否 |
list_catalog | 含价格矩阵的完整目录 | 否 |
quote | 某个服务与国家组合的价格 | 否 |
agent_help | 本服务器的使用说明,直接进入上下文 | 否 |
create_account | 创建账户并取得助记词 | 否 |
topup | 取得某个币种的充值地址和金额 | 是 |
topup_status | 查看一笔充值是否已到账 | 是 |
buy_number | 从余额扣款购买号码 | 是 |
get_order | 订单详情及其当前状态 | 是 |
get_sms | 验证码一到就取回 | 是 |
对于更习惯这种方式的客户端,目录还通过三个只读资源暴露:
catalog://services、catalog://countries 和
catalog://pairs。
一次完整的流程是什么样的?
从头到尾五次调用。只有一步需要等待外部世界:网络对充值的确认。
- create_account —— 返回一条助记词。请保存好:这是回到账户的唯一路径,而且 无法重置。
- topup —— 指定币种和金额,取得地址、需要转入的精确金额和一个截止时间。用 智能体的钱包把钱转过去。
- topup_status —— 轮询直到充值计入余额。
- buy_number —— 指定服务和国家。余额会被扣除,号码立即交付:不用逐笔生成 地址,也不用第二次等待。
- get_sms —— 轮询直到验证码到达。如果它在订单到期前没有到达,价格会自动 退回余额。
充值一次,多次购买。一笔充值可以覆盖余额允许的任意数量的号码,因此一个会话中只有第一次购买 需要等待确认。
发现
集成所需的一切都是机器可读的,并且无需认证即可获取。
该告诉您的智能体什么?
- 助记词无法找回。生成了却没保存的智能体,等于把余额一起扔了。
- 充值要在网络确认之后才计入,而且不是瞬时的 —— 请轮询
topup_status,不要 默认已经成功。 - 只转入账单上标明的币种和网络。转错网络无法挽回。
- 验证码一旦到达,订单即告结束并计费,即使目标服务拒绝了它。见退款 说明。
- 退款进入 OTPDrop 余额,而不是钱包。
在写一个普通的集成?REST API 文档描述了各个接口、 认证方式和错误代码。