OpenBrowser (9K+ stars) gives AI agents a real browser with 2-6x fewer tokens than competitors. But when that browser hits a Cloudflare Turnstile or reCAPTCHA, it stops. Here's how to add automatic CAPTCHA solving with GateSolve's MCP server — no custom code, 100 free solves.
The Problem
OpenBrowser excels at navigating web pages, filling forms, and extracting data. But ~20% of the web is behind Cloudflare, and many of those sites serve CAPTCHAs to automated browsers. When your OpenBrowser agent hits one, it has no built-in way to solve it.
CapSolver published an OpenBrowser integration guide that requires installing their SDK, writing custom detection code, and managing polling loops. There's a simpler way.
The MCP Approach
Both OpenBrowser and GateSolve are MCP servers. Register them side by side and your agent gets browser control AND CAPTCHA solving as discoverable tools. No SDK installation. No custom code. The agent figures out when to use each tool.
Step 1: Get a Free API Key
# Get a free API key (100 solves, no credit card):
curl -X POST https://gatesolve.dev/api/waitlist \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com"}'
# Response:
# { "apiKey": "gs_abc123...", "freeLimit": 100 }Step 2: Add Both MCP Servers
# Install OpenBrowser
npm install openbrowser
# Add GateSolve MCP server alongside OpenBrowser
# In your MCP config (claude_desktop_config.json or equivalent):
{
"mcpServers": {
"openbrowser": {
"command": "npx",
"args": ["openbrowser"]
},
"gatesolve": {
"command": "npx",
"args": ["@gatesolve/mcp-server"],
"env": {
"GATESOLVE_API_KEY": "gs_your_key"
}
}
}
}Step 3: Let the Agent Handle It
With both servers registered, your agent has access to OpenBrowser's navigation tools and GateSolve's CAPTCHA tools. When it encounters a CAPTCHA, it detects the type and solves it automatically:
// Agent workflow when it hits a CAPTCHA:
// 1. OpenBrowser navigates to target page
// Agent: "Navigate to https://example.com/dashboard"
// OpenBrowser: loads page, encounters Cloudflare Turnstile
// 2. Agent detects the block using GateSolve
{
"tool": "detect_block",
"arguments": {
"url": "https://example.com/dashboard"
}
}
// Returns: { "classification": "captcha", "type": "turnstile", "siteKey": "0x4AAAA..." }
// 3. Agent solves the CAPTCHA
{
"tool": "solve_captcha",
"arguments": {
"url": "https://example.com/dashboard",
"type": "turnstile",
"sitekey": "0x4AAAA..."
}
}
// Returns: { "status": "solved", "token": "0.xxx..." }
// 4. OpenBrowser injects the token and continuesGateSolve MCP vs CapSolver SDK
| Feature | GateSolve MCP | CapSolver SDK |
|---|---|---|
| Setup | Add to MCP config | npm install + custom code |
| Integration code | Zero lines | 20+ lines |
| Free tier | 100 solves | None |
| Tool discovery | Automatic via MCP | Manual imports |
| Block detection | detect_block tool included | Write your own |
| Polling | Handled by server | Write your own loop |
| CAPTCHA types | Turnstile, reCAPTCHA, hCaptcha | Turnstile, reCAPTCHA, hCaptcha + more |
Supported CAPTCHAs
- Cloudflare Turnstile — Most common on modern sites. Invisible or managed challenge.
- reCAPTCHA v2/v3 — Google's checkbox and invisible challenges.
- hCaptcha — Privacy-focused alternative used by Cloudflare and others.
Pricing
- Free tier: 100 solves, no credit card required
- Turnstile: $0.02/solve
- reCAPTCHA: $0.03/solve
- hCaptcha: $0.03/solve
Get Started
- Get a free API key at gatesolve.dev/docs
- Add the MCP config above
- Tell your agent: "Navigate to [site] and solve any CAPTCHAs"
MCP Server: npx @gatesolve/mcp-server | PyPI: pip install gatesolve | npm: npm i @gatesolve/puppeteer-plugin