Skip to content

AI 智能体与 MCP

通过通用 MCP 服务器或直接调用 SDK,在任意 AI 编码智能体(Claude Code、Antigravity、Cursor、Windsurf、n8n)中使用 CaptchaSonic。

CaptchaSonic 为 AI 智能体原生设计。任何智能体都可以通过我们的 MCP 服务器 来解决验证码——这是一个单一的 stdio 二进制程序,通过 Model Context Protocol 暴露三个工具(health_checkget_balancesolve_captcha)。由于 MCP 是通用标准,同一个服务器可以接入 Claude Code、Antigravity、Cursor、Windsurf 以及任何其他兼容 MCP 的客户端。如果你的智能体无法使用 MCP,也始终可以直接调用 SDK

Golden Path for Agents

把下面的片段交给任何智能体,它就能在一次往返内解决验证码:

# Claude Code(或任意 MCP 客户端):一次性注册服务器
claude mcp add sonic --env SONIC_API_KEY=sonic_xxx -- npx -y @captchasonic/mcp-server
# 无 MCP 时——同样的三调用生命周期,使用 curl(createTask 后替换 TASK_ID):
curl -s https://api.captchasonic.com/createTask  -H 'content-type: application/json' -d '{"clientKey":"sonic_xxx","task":{"type":"AntiTurnstileTaskProxyLess","websiteURL":"https://example.com","websiteKey":"0x4AAAAAAA..."}}'
curl -s https://api.captchasonic.com/getTaskResult -H 'content-type: application/json' -d '{"clientKey":"sonic_xxx","taskId":"TASK_ID"}'

NOTE

MCP 服务器在 npm 上发布为 @captchasonic/mcp-server(二进制:sonic-mcp);Python MCP 包即将推出。它们与 SDK 包(PyPI / npm 上的 captchasonic)不同。安装前请务必对照最新的注册表确认确切的包名。


Claude Code

使用 claude mcp add 命令添加 MCP 服务器。通过环境变量传递你的 API 密钥,避免其进入源代码管理:

claude mcp add sonic --env SONIC_API_KEY=sonic_xxx -- npx -y @captchasonic/mcp-server

该命令通过 npx 运行 @captchasonic/mcp-server 包——无需单独安装。想要固定的全局安装?运行一次 npm install -g @captchasonic/mcp-server,然后改用 -- sonic-mcp 作为命令。

添加后,智能体即可使用三个工具:

  • health_check —— 验证 API 服务器是否正常运行(无需 API 密钥)。
  • get_balance —— 返回账户当前余额(美元)。
  • solve_captcha —— 提交验证码(图片、网格、滑块、OCR、Geetest、TikTok、Binance 等)并返回类型化的解答。

你还可以安装 /sonic:* 技能插件,通过斜杠命令工作流使用同一个 SDK。先添加一次市场,然后安装插件:

claude plugin marketplace add captchasonic/sonic-sdk
claude plugin install sonic@captchasonic

安装后即可使用三个斜杠命令:

/sonic:solve      # 通过图片路径或 URL 解决验证码
/sonic:balance    # 查询账户额度
/sonic:test-sdk   # 对线上服务器进行 SDK 冒烟测试

TIP

在批量解题前用 get_balance 做一次检查,这样当额度不足时智能体可以提前停止。


Antigravity

Antigravity 使用标准 MCP 协议,因此在其 MCP 配置中将 CaptchaSonic 注册为通用 stdio 服务器。添加以下条目:

{
  "mcpServers": {
    "sonic": {
      "command": "npx",
      "args": ["-y", "@captchasonic/mcp-server"],
      "env": {
        "SONIC_API_KEY": "sonic_xxx"
      }
    }
  }
}

保存后,重新加载 Antigravity 的 MCP 服务器,health_checkget_balancesolve_captcha 工具就会出现在智能体的工具列表中。


Cursor

在 Cursor 中打开 Settings → MCP(或编辑 ~/.cursor/mcp.json),添加 stdio 服务器:

{
  "mcpServers": {
    "sonic": {
      "command": "npx",
      "args": ["-y", "@captchasonic/mcp-server"],
      "env": {
        "SONIC_API_KEY": "sonic_xxx"
      }
    }
  }
}

重启 Cursor 的 MCP 连接。三个 CaptchaSonic 工具现在即可被智能体调用。


Windsurf

在 Windsurf 中打开 Settings → Cascade → MCP Servers(或编辑 ~/.codeium/windsurf/mcp_config.json),添加相同的 stdio 配置块:

{
  "mcpServers": {
    "sonic": {
      "command": "npx",
      "args": ["-y", "@captchasonic/mcp-server"],
      "env": {
        "SONIC_API_KEY": "sonic_xxx"
      }
    }
  }
}

刷新服务器列表,CaptchaSonic 的工具便可在 Cascade 中使用。


Generic MCP (stdio)

任何 MCP 客户端都接受相同的原始 stdio 配置。将 command 指向二进制程序,并通过 env 传入 SONIC_API_KEY。Node 运行时现已发布;Python 运行时即将推出。

Node(@captchasonic/mcp-server):

{
  "mcpServers": {
    "sonic": {
      "command": "npx",
      "args": ["-y", "@captchasonic/mcp-server"],
      "env": {
        "SONIC_API_KEY": "sonic_xxx"
      }
    }
  }
}

Python —— 即将推出。 通过 uvx 安装的 Python MCP 包正在开发中。目前请使用上面的 Node 运行时,或直接调用 SDK

NOTE

在同一个 env 块中设置 SONIC_BASE_URL,即可指向自托管或预发布环境(默认:https://api.captchasonic.com)。


n8n

CaptchaSonic 提供了一个 n8n 社区节点。在你的 n8n 实例中进入 Settings → Community Nodes,安装 n8n-nodes-captchasonic,然后用你的 API 密钥创建 CaptchaSonic 凭证。该节点提供解题和余额查询操作,可加入任意工作流。


Without MCP (direct SDK)

如果你的智能体无法运行 MCP 服务器,可以直接调用 SDK。令牌类验证码只需一次函数调用。

Python:

from captchasonic import CaptchaSonic

solver = CaptchaSonic("YOUR_API_KEY")
result = solver.solve_turnstile(
    website_url="https://example.com",
    website_key="0x4AAAAAAA...",
)
print(result["token"])

Node:

import { CaptchaSonic } from "captchasonic"

const solver = new CaptchaSonic("YOUR_API_KEY")
const result = await solver.solveTurnstile({
  websiteURL: "https://example.com",
  websiteKey: "0x4AAAAAAA...",
})
console.log(result.token)

完整方法列表请参阅 Python SDKNode.js SDK 页面,原始的三次调用生命周期请参阅 REST API 参考