io.github.SolveGate/solvegate-mcp is an MCP server that inspect a page for Cloudflare Turnstile free, and clear Turnstile and WAF challenges. Its tool list has not been published yet over stdio, requires no API key, and scores 38/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-solvegate-solvegate-mcp": {
"command": "npx",
"args": [
"-y",
"solvegate-mcp"
]
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Inspect a page for Cloudflare Turnstile free, and clear Turnstile and WAF challenges.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'solvegate-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked solvegate-mcp against OSV.dev.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationBe the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in cloud / security
MCP Server for GCP environment for interacting with various Observability APIs.
Regression testing for MCP servers. Checks capabilities, invokes tools, detects schema drift.
AI-powered reverse engineering assistant that bridges IDA Pro with language models through MCP.
Proof primitive for AI agents on MultiversX. Anchor file hashes on-chain as verifiable proofs.
MCP Security Weekly
Get CVE alerts and security updates for io.github.SolveGate/solvegate-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An MCP server that lets an agent deal with Cloudflare Turnstile: check whether a page has one, and clear it when it does.
Three tools. One of them needs no account.
| Tool | What it does | Needs a key |
|---|---|---|
inspect_page | Fetch a URL and report whether Cloudflare Turnstile is on it, its sitekey, how it renders, its data-* configuration, and whether the page is a full-page WAF challenge instead of a widget | No |
solve_turnstile | Clear a Turnstile or Turnstile WAF challenge and return a token | Yes |
get_solve | Fetch a solve by id — free, never re-bills | Yes |
npx solvegate-mcp
Claude Desktop / any MCP client, in your config:
{
"mcpServers": {
"solvegate": {
"command": "npx",
"args": ["-y", "solvegate-mcp"],
"env": { "SOLVEGATE_API_KEY": "sk_test_…" }
}
}
}
Leave SOLVEGATE_API_KEY out and inspect_page still works. That is deliberate:
you should be able to see what the server does before deciding whether to sign
up for anything.
Get a key at solvegate.io. A free sk_test_ sandbox key
needs no card and returns a deterministic token instantly — right for wiring this
up, and it never clears a real gate.
inspect_page existsThe commonest wrong turn with a solver is calling it when you should have looked first. Three cases account for most of it:
inspect_page says so by name instead of letting you find out
from a 422.data-sitekey, because the challenge belongs to a zone rule rather than
to a widget you embed. There is nothing to read off the page, and the gate is
waf rather than turnstile.Inspecting is free, takes about a second, and is quite often the whole answer.
The widget mode. Managed, non-interactive and invisible are stored on the widget inside the Cloudflare account that owns the sitekey. The page carries only the key, so no tool can read the mode off the source — including this one, and including anything that claims otherwise.
It does not matter for solving: all three modes resolve to the same request. A sitekey, a page URL, and a token back.
The one exception is Cloudflare's five documented dummy sitekeys, whose widget
type Cloudflare publishes itself. inspect_page reports those, and finding one
on a page tells you something useful — you are looking at a staging build rather
than production.
| Variable | Default | What it does |
|---|---|---|
SOLVEGATE_API_KEY | — | Your key. sk_test_ for the sandbox, sk_live_ for real gates. |
SOLVEGATE_BASE_URL | https://api.solvegate.io | API base. |
SOLVEGATE_SITE_URL | https://solvegate.io | Where inspect_page runs. |
SOLVEGATE_TIMEOUT_MS | 30000 | Per-request timeout. |
SOLVEGATE_MAX_WAIT_MS | 60000 | How long solve_turnstile waits for a pending solve. |
The key is read from the environment and is never a tool argument — a tool argument is model-visible and ends up in transcripts.
Solving is async underneath. solve_turnstile creates the solve with
async: true and polls it, rather than hol