capskip-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CAPSKIP_HOST | No | CapSkip host | 127.0.0.1 |
| CAPSKIP_PORT | No | API port from CapSkip settings | 8080 |
| CAPSKIP_API_KEY | No | Any string when key validation is off | capskip |
| CAPSKIP_TIMEOUT | No | Default timeout for capskip_solve_image_captcha, seconds | 120 |
| CAPSKIP_POLLING_INTERVAL | No | Max seconds between polls | 5 |
| CAPSKIP_RECAPTCHA_TIMEOUT | No | Default timeout for the reCAPTCHA / Turnstile / GeeTest tools, seconds | 300 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| capskip_statusA | Check whether the CapSkip desktop app is running and reachable. Call this first when a solve fails unexpectedly, to tell "CapSkip is not running" apart from "the sitekey was wrong". Takes no arguments. |
| capskip_solve_image_captchaA | Read the text out of a distorted-text captcha image. Returns the recognized text, which you type into the page's captcha field. Proxies are not supported for image captchas. |
| capskip_solve_recaptchaA | Solve a Google reCAPTCHA v2 or v3 widget, including invisible and Enterprise variants. Returns a token to place in the page's "g-recaptcha-response" field before submitting the form. Read the sitekey from the page first — a guessed sitekey fails. Note that reCAPTCHA v3 returns a score assigned by Google; no solver can raise it. |
| capskip_solve_turnstileA | Solve a Cloudflare Turnstile widget or interstitial challenge page. Returns a token for the page's "cf-turnstile-response" field. IMPORTANT: submit the token using the returned userAgent — Cloudflare rejects a token replayed under a different User-Agent. For an interstitial challenge page, also pass cdata and pagedata read from the page. |
| capskip_solve_geetestA | Solve a GeeTest v3 slide-puzzle captcha. Returns geetest_challenge, geetest_validate, and geetest_seccode to post back exactly as the site's own front-end would. IMPORTANT: the challenge value is single-use and expires in roughly a minute, so fetch gt and challenge from the page immediately before calling. A stale challenge is the most common failure. |
| capskip_solve_altchaA | Solve an ALTCHA proof-of-work challenge. ALTCHA is not a recognition captcha — there is nothing to read; the client brute-forces a number that satisfies a challenge, so a solve is deterministic and takes milliseconds. Give it either challenge_url (the endpoint the fetches from, which CapSkip will fetch) or challenge_json (the challenge document itself). Returns a token to put in the page's form field named |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct captcha type or provider (image, ALTCHA, GeeTest, reCAPTCHA, Turnstile) with no overlapping purposes. The status tool is clearly separate as a health check.
All tools follow the consistent `capskip_solve_<type>` pattern, with `capskip_status` as a clear utility verb. Snake_case is used uniformly, making the set predictable.
With 6 tools, the server is well-scoped for a captcha-solving MCP: five solver types plus a status check. Each tool has a clear purpose and none are redundant.
Covers the major captcha types (image, reCAPTCHA, Turnstile, GeeTest, ALTCHA) and includes a health-check tool, but hCaptcha and audio captchas are missing. This is a minor gap since the core workflows are covered.