CaptchaNo

io.github.DishantSinghDev2由 GitHub 账号 DishantSinghDev2 发布v1.0.0更新于 Oct 26, 2026

Solve reCAPTCHA v2/v3/Enterprise, Turnstile, DataDome and image captchas from AI agents.

发布方自己的服务:captcha.cc Human Verification

已验证STDIO仅桌面浏览器自动化安全与监控

概览

AI 生成的概览

CaptchaNo MCP 服务器让 AI 助手通过付费打码服务解决 reCAPTCHA v2/v3/Enterprise、Turnstile、DataDome 和图片验证码。

可以做什么
  • 解决验证码:提交页面 URL、sitekey 和类型,取回页面所需的 token、cookie 或文本,可选代理与 User-Agent。
  • 续查与重读任务:任务仍在求解时按 id 查询,或再次读取已保存的结果。
  • 查询账户余额与本次会话的花费。
  • 列出支持的验证码类型及其必填字段和 sitekey 的查找位置。
适用场景
适用于获得授权的浏览器或 HTTP 自动化:自有站点、已获自动化许可的站点,或条款允许的站点,例如自有表单的 QA、无障碍检查或自有资产的监控。
运行要求
通过 npx 在本地运行,需要 Node.js 20.3 或更高版本。需要 CaptchaNo 账户和 API 密钥,通过环境变量 CAPTCHANO_API_KEY 提供,并需有余额。可选配置包括 CAPTCHANO_MAX_SPEND_USD、CAPTCHANO_WAIT、CAPTCHANO_TOOL_TIMEOUT 和 CAPTCHANO_API_BASE。需要访问 CaptchaNo API 的网络。
安装前请注意
每次成功求解都会从 CaptchaNo 余额扣费,建议设置 CAPTCHANO_MAX_SPEND_USD 并使用余额较少的专用密钥;上限按进程计算,重启后重置。API 密钥是仅从环境读取的机密。代理凭据和页面数据会发送给 CaptchaNo。访问的页面可能诱导助手去解决其他站点的验证码,对意外的求解调用应人工确认。仅用于获准自动化的站点。

安装

在 SourceWeft 中

  1. 打开 控制台中的 CaptchaNo,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

CaptchaNo MCP server

[npm] [License: MIT]

The official Model Context Protocol server for CaptchaNo. It lets AI agents (Claude, Cursor, VS Code Copilot and any other MCP client) solve reCAPTCHA v2 / v3 / Enterprise, Cloudflare Turnstile, DataDome and image captchas while running a browser or HTTP automation.

Solves run on CaptchaNo's own solving infrastructure and are billed to your CaptchaNo balance. Failed solves are never billed.

Use it only for authorised automation. Solve captchas only on sites you own, sites you have permission to automate, or sites whose terms allow it (QA of your own forms, accessibility, monitoring your own properties, research with permission). You are responsible for how you use it.

Quick start

  1. Create an API key at https://captchano.com/dashboard. Keys start with cn-.
  2. Add the server to your MCP client (snippets below). It runs with npx -y captchano-mcp. Node.js 20.3 or newer is required.
  3. Ask your agent something like "Open the signup page, solve the captcha and submit the form."

Claude Code

bash
claude mcp add captchano -e CAPTCHANO_API_KEY=cn-... -- npx -y captchano-mcp

Add --scope user to make it available in every project.

Claude Desktop

Edit claude_desktop_config.json (Settings → Developer → Edit Config):

json
{  "mcpServers": {    "captchano": {      "command": "npx",      "args": ["-y", "captchano-mcp"],      "env": {        "CAPTCHANO_API_KEY": "cn-...",        "CAPTCHANO_MAX_SPEND_USD": "1.00"      }    }  }}

Cursor

~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

json
{  "mcpServers": {    "captchano": {      "command": "npx",      "args": ["-y", "captchano-mcp"],      "env": { "CAPTCHANO_API_KEY": "cn-..." }    }  }}

VS Code (GitHub Copilot agent mode)

.vscode/mcp.json. VS Code asks for the key the first time and stores it securely:

json
{  "inputs": [    {      "type": "promptString",      "id": "captchano-api-key",      "description": "CaptchaNo API key (cn-...)",      "password": true    }  ],  "servers": {    "captchano": {      "type": "stdio",      "command": "npx",      "args": ["-y", "captchano-mcp"],      "env": { "CAPTCHANO_API_KEY": "${input:captchano-api-key}" }    }  }}

Windsurf, Cline, Zed and other clients

Use the same command / args / env as above: command npx, args ["-y", "captchano-mcp"], env CAPTCHANO_API_KEY.

Docker

bash
docker build -t captchano-mcp .docker run -i --rm -e CAPTCHANO_API_KEY=cn-... captchano-mcp

Configuration

All configuration is read from environment variables. The API key is never accepted as a tool argument.

VariableRequiredDefaultDescription
CAPTCHANO_API_KEYyes–Your API key (cn-...).
CAPTCHANO_MAX_SPEND_USDnounlimitedSpend ceiling for this server process, in USD. See Budget.
CAPTCHANO_WAITno45Seconds the API blocks on each solve request (?wait=N, max 120) before the server switches to polling.
CAPTCHANO_TOOL_TIMEOUTno50Max seconds one solve_captcha call takes before returning a resumable solving result. Many MCP clients cancel tool calls at 60 s; raise this only if yours allows longer.
CAPTCHANO_API_BASEnohttps://api.captchano.comAPI base URL.
CAPTCHANO_MCP_HTTP_TOKENno–In --http mode, require Authorization: Bearer <token> on /mcp.
CAPTCHANO_LOG_LEVELnoinfodebug, info, warn, error or silent. Logs go to stderr only.

Tools

solve_captcha

Solves a captcha and returns the value the page needs. Billed per successful solve.

ArgumentTypesNotes
typeallrecaptcha_v2, recaptcha_v3, recaptcha_enterprise, turnstile, datadome, image
urlall except imageFull URL of the page that shows the captcha
sitekeyrecaptcha_*, turnstileFrom data-sitekey, the k= iframe parameter or the render= script parameter
actionrecaptcha_v3, recaptcha_enterprise, turnstileThe action name the page uses
minScorerecaptcha_v30.1–0.9
invisiblerecaptcha_v2, recaptcha_enterprisetrue for invisible widgets
cData, pageDataturnstiledata-cdata; pageData for Cloudflare challenge pages
challengeUrldatadome (required)Full captcha URL from the blocked response
proxydatadome (required), optional for token types"http://user:pass@host:port" (http, socks4, socks5) or { scheme, host, port, username, password }
bodyimage (required)Base64 image. A data:image/...;base64, prefix is accepted
userAgentall except imageThe User-Agent of the client that will use the solution

How a call runs: the server sends POST /v1/solve?wait=N. If the API answers 202 (still solving), the server polls GET /v1/task/{id} every 5 seconds, for up to 50 seconds in total by default (CAPTCHANO_TOOL_TIMEOUT). If the task is still solving after that, the result has status: "solving" and the task id, and the agent should call get_task with that id rather than solving again.

The result comes back as text (token, cookie or text, userAgent, cost, solveTime and the next step) and as structuredContent:

json
{  "id": "…",  "type": "recaptcha_v2",  "status": "ready",  "token": "03AFcWeA…",  "cost": "…",  "solveTime": "…",  "sessionSpend": { "spentUsd": "…", "limitUsd": "1.0000", "remainingUsd": "…" }}

get_task

{ id } → the same object. Use it to resume a solve that is still solving, or to read a result again. Solutions are kept for 10 minutes. Read-only and free.

get_balance

Returns { balance, currency, sessionSpend }. Read-only and free.

list_captcha_types

A static list of every supported type: its required and optional fields, which solution field it returns, and a one-line hint on where to find the sitekey (or other inputs) on the page. It makes no network call.

Errors

API errors come back as tool results with isError: true. Each one includes the error code, the API's message and a hint for what to do next. For example:

Error insufficient_balance: Insufficient balanceHint: The CaptchaNo account has no balance left. Ask the user to top up at https://captchano.com/dashboard/topup, then retry. Failed solves are never billed.

API codes: invalid_api_key, insufficient_balance, unsupported_type, invalid_sitekey, proxy_required, proxy_unreachable, score_not_met, unsolvable, capacity_unavailable, rate_limited, task_not_found, upstream_error. Codes from this server: invalid_arguments (caught before any request is sent), budget_exhausted, network_error, timeout, cancelled, http_error.

Budget

Set CAPTCHANO_MAX_SPEND_USD to cap what one server process can spend. The server adds up the cost the API returns for every task it submitted, counting each task once. Once the total reaches the limit, solve_captcha returns budget_exhausted without contacting the API. get_task, get_balance and list_captcha_types keep working.

Notes:

  • The cap applies to each process. Restarting the server or the MCP client resets it. For a hard account-wide cap, keep only a small balance on the key.
  • The cap is checked before each solve. A solve that starts just under the limit can finish slightly over it, by at most the cost of the solves already in flight.

HTTP mode

bash
CAPTCHANO_API_KEY=cn-... CAPTCHANO_MCP_HTTP_TOKEN=$(openssl rand -hex 24) \  npx -y captchano-mcp --http --port 8080            # serves http://127.0.0.1:8080/mcp
  • Stateless Streamable HTTP at /mcp, plus GET /healthz.
  • Binds to 127.0.0.1 by default. Use --host 0.0.0.0 only behind TLS and with CAPTCHANO_MCP_HTTP_TOKEN set: anyone who can reach the endpoint can spend your balance.
  • The key always comes from the server's environment, never from callers.

Security

  • Keys: CAPTCHANO_API_KEY is read from the environment only. It is never a tool argument, never included in tool results, and never logged. Log lines are also scrubbed of anything that looks like a cn- key, a bearer token or proxy credentials.
  • stdout is the protocol channel. All logging goes to stderr.
  • Spending: every successful solve_captcha is billed. Use CAPTCHANO_MAX_SPEND_USD and a dedicated key with a small balance for autonomous agents. The tool is annotated as a non-read-only, open-world tool, so clients that ask for confirmation will ask before it runs.
  • Proxies: proxy credentials are sent to the CaptchaNo API only, over HTTPS, and are never repeated in results or logs.
  • Prompt injection: a page an agent visits can try to make it solve captchas on other sites. Keep a human in the loop for solve calls you did not expect, and use the spend cap.
  • Report vulnerabilities to [email protected].

Development

bash
npm installnpm test          # unit tests (node:test, mocked fetch)npm run e2e       # builds, then drives dist/ over stdio and HTTP with the official MCP clientnpm run check     # typecheck + tests + build

npm run e2e calls get_balance against the real API with a dummy key and expects a clean invalid_api_key result. If CAPTCHANO_TEST_API_KEY is set, it also runs one live solve of the public reCAPTCHA v2 demo, with a $0.05 cap.

License

MIT © DishIs Technologies LLC

来源:README.md,提交 3cb7156

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Oct 19, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Captcha 集成