The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Capmonster MCP Captcha Solver listing page.
An Model Context Protocol (MCP) server for CapMonster Cloud, available as a Python package
and as a TypeScript port (ts/).
This server is the solve brain: it lists supported captcha types, serves CapMonster's live
docs, and creates/polls solve tasks against the CapMonster Cloud REST API. It has no browser of
its own — pair it with a browser-driving MCP (e.g.
capmonster-mcp-patchright) that does
the page work (navigation, interaction, reading the live DOM/network, and injecting the solved
token back into the page). See capmonster_agent/SKILL.md for the
full step-by-step procedure for analyzing a captcha-protected page and solving it this way.
👉 Get your Free API Key and Start Bypassing CAPTCHAs
Your AI Agent will be able to automatically bypass, among others:
cf_clearance)The authoritative, current list is served live from CapMonster's OpenAPI spec via the
get_supported_tasks tool — hCaptcha is not currently supported, despite appearing in some
of CapMonster's own marketing copy.
Requires Python 3.11+ and a valid CapMonster API Key. Run it with uvx (no local clone needed):
Prefer TypeScript/Node? See ts/README.md for the npm-published port — same
tools, same behavior.
Add the following to your MCP client's config (e.g. claude_desktop_config.json):
The server only runs over stdio, so there are no HTTP headers to carry a per-request key —
CM_API_KEY is read once from the environment and shared by every tool call in the session.
Pair it with a browser-automation MCP server (e.g.
capmonster-mcp-patchright) so your
agent can both see the page and solve what's on it — see mcp.example.json
for a config with both servers wired up together.
Once connected, your LLM will have access to the following tools:
get_supported_tasks: Lists captcha task types CapMonster supports, from the live OpenAPI spec.get_task_parameters(task_type): Required/optional fields, variant notes, and the solution
schema for a task type.get_docs(url, offset, limit, section): Fetches a CapMonster documentation page
(docs.capmonster.cloud / api.capmonster.cloud only), with section-jump and pagination.create_task(task): Submits a captcha task and returns a taskId.get_task_result(task_id): Polls a task once.get_task_result_wait(task_id, timeout_seconds, poll_interval_seconds): Polls a task to
completion (preferred over driving the poll loop yourself).get_actual_user_agent(): Fetches a current Windows User-Agent to use as one consistent
fingerprint across the browser and the solve task.get_balance(): Checks your current CapMonster Cloud API balance.