AI agents
MCP server
Connect Claude Code, Claude Desktop, Cursor, OpenClaw, Hermes or any MCP client to the Solvecha remote MCP server and give your agent captcha-solving tools.
The Solvecha MCP server is a remote server. There is nothing to install. It uses the Streamable HTTP transport and your normal API key.
https://api.solvecha.com/mcpSend the key in the header Authorization: Bearer YOUR_API_KEY. The server has no login page and no OAuth. Listing the tools needs no key. Calling a tool does.
#Tools
| Tool | What it does |
|---|---|
solve_recaptcha_grid |
Solves a reCAPTCHA v2 image challenge. Input: task (the instruction text), grid (3x3, 4x4 or 1x1), images (base64 or https URLs). Returns selected_tiles (counted from 1, left to right, top to bottom) and positions such as row 1, column 3. |
solve_text_captcha |
Reads a picture with distorted text. Returns text. |
solve_geetest_slider |
Solves a GeeTest slider. Returns offset_percent of the background width. |
solve_funcaptcha |
Solves a FunCAPTCHA tile puzzle (mode: tile) or match puzzle (mode: match). Returns selected_tiles. |
get_account_status |
Shows plan, solves left today, balance and the time to the daily reset. Free. |
report_result |
Tells us whether Google accepted or rejected a reCAPTCHA answer (job_id, verdict, grid). Free. |
The solve tools wait for the answer, usually 2 to 6 seconds. timeout_seconds (5 to 90, default 45) sets the longest wait.
#Images
Send each picture as base64 (a data: URL is fine) or as an https URL. For URLs the server follows these rules:
- Only
httpson port 443. No user name or password in the URL. - Addresses in private or reserved ranges are refused, also after a redirect.
- At most 3 redirects, 10 seconds, 2 MB per picture and 3 MB per call.
- The data must be a picture (PNG, JPEG, GIF, WebP or BMP).
#Billing and limits
The tools call the same API as the REST endpoints. The key check, the rate limits, the daily quota, the balance and the charge are the same. You pay for a successful solve once. See Rate limits and Plans and billing.
When something is wrong, the tool returns an error text that tells the agent what to do. For example it names the API error code (15 wrong key, 16 out of credit, 11 rate limit).
#Connect a client
Claude Code
claude mcp add --transport http solvecha https://api.solvecha.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"Claude Code (.mcp.json)
{
"mcpServers": {
"solvecha": {
"type": "http",
"url": "https://api.solvecha.com/mcp",
"headers": { "Authorization": "Bearer ${SOLVECHA_API_KEY}" }
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"solvecha": {
"url": "https://api.solvecha.com/mcp",
"headers": { "Authorization": "Bearer ${env:SOLVECHA_API_KEY}" }
}
}
}VS Code (.vscode/mcp.json)
{
"inputs": [
{ "type": "promptString", "id": "solvecha-key", "description": "Solvecha API key", "password": true }
],
"servers": {
"solvecha": {
"type": "http",
"url": "https://api.solvecha.com/mcp",
"headers": { "Authorization": "Bearer ${input:solvecha-key}" }
}
}
}Claude Desktop (mcp-remote)
{
"mcpServers": {
"solvecha": {
"command": "npx",
"args": ["mcp-remote", "https://api.solvecha.com/mcp", "--header", "Authorization:${AUTH_HEADER}"],
"env": { "AUTH_HEADER": "Bearer YOUR_API_KEY" }
}
}
}OpenClaw (openclaw.json)
{
mcp: {
servers: {
solvecha: {
url: "https://api.solvecha.com/mcp",
transport: "streamable-http",
headers: { Authorization: "Bearer ${SOLVECHA_API_KEY}" }
}
}
}
}Hermes (~/.hermes/config.yaml)
mcp_servers:
solvecha:
url: "https://api.solvecha.com/mcp"
headers:
Authorization: "Bearer ${SOLVECHA_API_KEY}"Replace YOUR_API_KEY with your key, or set SOLVECHA_API_KEY in the environment. Do not commit the key to a repository.
- Claude Desktop: the
mcp-remoteentry runs a small local bridge (npx mcp-remote). The space inside the env value is on purpose: on Windows, spaces inargsare not escaped. You can also add a custom connector in the Claude settings and fill its request headers withAuthorization: Bearer YOUR_API_KEY. - OpenClaw: set
transporttostreamable-http, because the default issse. You can also add the server withopenclaw mcp add solvecha --url https://api.solvecha.com/mcp --transport streamable-http --header .... Runopenclaw mcp add --helpfor the header syntax of your version. - Hermes: run
/reload-mcpin a running session after you edit the file. - Other clients: any client that supports the Streamable HTTP transport with a custom header works. Cline needs
"type": "streamableHttp". Zed usescontext_serverswithurlandheaders.
#Test the connection
Use the MCP Inspector in command-line mode:
npx @modelcontextprotocol/inspector --cli https://api.solvecha.com/mcp --transport http \
--header "Authorization: Bearer YOUR_API_KEY" --method tools/listOr call the endpoint by hand:
curl -s https://api.solvecha.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_account_status","arguments":{}}}'#Notes for operators
- The server is stateless and answers with plain JSON, so proxies do not have to keep a stream open.
GETandDELETEon/mcpanswer405. - A tool call that waits for a solve is one HTTP request of up to 90 seconds.
- Agents that open a visible browser can use the browser extension instead. It needs no tool calls.
Solvecha is an independent service. It is not affiliated with NopeCHA, 2Captcha, CapSolver, Google or CloakHQ. Their names describe compatibility or recommendations only. Figures come from our own tests, see the compare page.