guru.cap/capguru-mcp
PYPI · CAPGURU-MCP
AI captcha solver for agents: reCAPTCHA, hCaptcha, Turnstile, FunCaptcha, GeeTest, SmartCaptcha
Available components
Last scanned (4 hours ago)
Scores higher than 45% of PyPI servers
Category Browser Automation
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security50
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs setuptools.build_meta at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
- 1 of 36 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency6
- Repository check failed: no source repository is declared. See how to fix → View diagnostics → Fail
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 1 days ago).Pass
- Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability65
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1581 tokens (~93/item across 17 items; 17 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
- Structured output schemas are declared (94% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 −15
- Malware scan: pass → unverified ▼ security
- 4 Nov 26 +16
- Malware scan: unverified → pass ▲ security
- 3 Nov 26 −12
- Malware scan: pass → unverified ▼ security
- Stability: unverified → 0.20 ▲ functional
- Package version: 0.3.4 → 0.3.5 functional
- 29 Oct 26 +15
- Malware scan: unverified → pass ▲ security
- 28 Oct 26 43
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed pypi/capguru-mcp@0.3.5
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | setuptools.build_meta |
Background: Why install scripts are a supply-chain risk →
Dependencies 36 packages
| Packages resolved | 36 |
|---|---|
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
click ~32
Click an element by CSS selector (or Playwright selector such as text=Sign in).
| Name | Type | Req | Description |
|---|---|---|---|
| selector | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
close_browser ~23
Close the browser opened by open_browser (or disconnect from a connected one).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
connect_browser ~54
Connect to an already running Chrome started with --remote-debugging-port and attach the solver to its first tab. Use this to solve captchas in a browser controlled by another tool.
| Name | Type | Req | Description |
|---|---|---|---|
| cdp_url | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
detect_captcha ~46
Detect which captcha is visible on the page without solving it. Returns recaptcha2, hcaptcha, yandex, geetest, funcaptcha, tiktok, aws or 'none'.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
fill ~30
Type text into an input found by selector.
| Name | Type | Req | Description |
|---|---|---|---|
| selector | string | yes | – |
| text | string | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
goto ~49
Open a URL in the browser page. wait_until: load | domcontentloaded | networkidle.
| Name | Type | Req | Description |
|---|---|---|---|
| timeout | integer | – | – |
| url | string | yes | – |
| wait_until | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_tabs ~27
List open tabs with their index, URL and title; the active tab is marked with *.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
open_browser ~106
Launch a new Chromium browser with one page and attach the captcha solver to it. headless: run without a visible window. channel: 'chrome' or 'msedge' to use an installed browser instead of bundled Chromium. proxy: 'http://login:password@host:port' or 'login:password@host:port' (socks5:// also works).
| Name | Type | Req | Description |
|---|---|---|---|
| channel | string | – | – |
| headless | boolean | – | – |
| proxy | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
page_info ~18
Return the current URL and title of the page.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
page_text ~46
Return the visible text of the page (or of an element) so the page can be read without a screenshot.
| Name | Type | Req | Description |
|---|---|---|---|
| max_chars | integer | – | – |
| selector | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
press ~45
Press a keyboard key (Enter, Tab, Escape, ArrowDown, Control+A ...), optionally focusing an element first.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | – |
| selector | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
screenshot ~23
Take a screenshot of the current page.
| Name | Type | Req | Description |
|---|---|---|---|
| full_page | boolean | – | – |
No output schema declared.
No examples provided.
solve_captcha ~103
Solve the captcha on the current page through the Cap.Guru service. captcha_type: auto | recaptcha2 | hcaptcha | yandex (alias: other) | geetest | funcaptcha | tiktok | aws. timeout: how many seconds to wait for the captcha to appear on the page. Solving with clicks can take several minutes; progress notifications are sent every 10 s.
| Name | Type | Req | Description |
|---|---|---|---|
| captcha_type | string | – | – |
| timeout | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
solve_image_captcha ~337
Recognize a text (image) captcha through Cap.Guru (method base64) and return the text. Image source, one of: selector: the captcha image element on the open page (a screenshot of the element is sent), image_base64: image in base64 (a data: URL is also accepted), image_path: path to a local image file (png, jpg, gif, bmp, webp up to 5 MB), image_url: image URL (downloaded without cookies; use_page_cookies=true sends the page cookies). vernet: captcha kind; 0 (default) = not sent, the service chooses. Pick the kind that matches the site: 2 General v1, 6 General v2 (try 2 or 6 for distorted text), 22 Arithmetic (the service returns the expression as it is, e.g. 27+15=, and this server calculates the result), 12 Rambler, 18 General Yandex, 20 Yandex 6 characters, 16 VKontakte, 14 SolveMedia, 13 Gibdd, 9 Ok.ru, 17 World of Tanks, 5 Microsoft Hotmail. fill_selector: if set and a page is open, the answer is typed into this input.
| Name | Type | Req | Description |
|---|---|---|---|
| fill_selector | string | – | – |
| image_base64 | string | – | – |
| image_path | string | – | – |
| image_url | string | – | – |
| selector | string | – | – |
| use_page_cookies | boolean | – | – |
| vernet | integer | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
solve_recaptcha_token ~313
Get a reCAPTCHA token from Cap.Guru (method userrecaptcha) without solving images. version: v2 (with invisible=true for v2 Invisible) or v3. For v3: action (the site's action name, 'verify' if not set), min_score and enterprise=true for reCAPTCHA v3 Enterprise (sends enterprise=1). domain: google.com or recaptcha.net if the site loads reCAPTCHA from recaptcha.net. sitekey: the k / data-sitekey value. pageurl: full URL of the page. If a browser page is open, empty sitekey, pageurl, user_agent, invisible, action, enterprise and domain are taken from it; with apply_to_page=true a v2 token is put into g-recaptcha-response and the site callback is called. proxy: same format as in open_browser ('http://login:password@host:port' or 'login:password@host:port').
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | – | – |
| apply_to_page | boolean | – | – |
| cookies | string | – | – |
| data_s | string | – | – |
| domain | string | – | – |
| enterprise | boolean | – | – |
| invisible | boolean | – | – |
| min_score | number | – | – |
| pageurl | string | – | – |
| proxy | string | – | – |
| proxytype | string | – | – |
| sitekey | string | – | – |
| user_agent | string | – | – |
| version | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
solve_turnstile_token ~134
Get a Cloudflare Turnstile token from Cap.Guru (method turnstile). sitekey: the data-sitekey value (e.g. 0x4AAAA...). pageurl: URL of the page with Turnstile. If a browser page is open, empty sitekey/pageurl are taken from it, and with apply_to_page=true the token is put into cf-turnstile-response and the Turnstile callback is called. Usually 10-30 seconds.
| Name | Type | Req | Description |
|---|---|---|---|
| apply_to_page | boolean | – | – |
| pageurl | string | – | – |
| sitekey | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
switch_tab ~34
Make the tab with this index (see list_tabs) the active page for all other tools.
| Name | Type | Req | Description |
|---|---|---|---|
| index | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
How do I install the guru.cap/capguru-mcp server?
guru.cap/capguru-mcp runs locally as a PyPI package, launched with uvx capguru-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · capguru-mcp
claude mcp add guru-cap-capguru-mcp -- uvx capguru-mcp
What is the guru.cap/capguru-mcp server?
guru.cap/capguru-mcp is listed in the public MCP registry as guru.cap/capguru-mcp. AI captcha solver for agents: reCAPTCHA, hCaptcha, Turnstile, FunCaptcha, GeeTest, SmartCaptcha. This page covers its PyPI package (capguru-mcp).
Is the guru.cap/capguru-mcp server safe to use?
guru.cap/capguru-mcp scores 47 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the guru.cap/capguru-mcp server expose?
guru.cap/capguru-mcp exposes 17 tools: open_browser, connect_browser, goto, detect_captcha, solve_captcha, and 12 more. Their descriptions and schemas cost roughly 1,420 tokens of context every time the server is loaded.
Is the guru.cap/capguru-mcp server still maintained?
guru.cap/capguru-mcp is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.