# io.github.quantumproxies/quanticdata-mcp (remote · api.quanticdata.io)

Live web access for agents: scrape, SERP search, crawl/map, 74 collectors, datasets, proxies.

- Trust score: 61/100 (medium)
- Change this week: −5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- remote · `api.quanticdata.io`: 61/100 (this document), [markdown](https://verifymcp.io/servers/quantumproxies-quanticdata-mcp/api.md), [page](https://verifymcp.io/servers/quantumproxies-quanticdata-mcp/api)
- mcpb · `quanticdata-0.9.1.mcpb`: 56/100, [markdown](https://verifymcp.io/servers/quantumproxies-quanticdata-mcp/https-github-com-quantumproxies-quanticdata-mcp-server-releases-download-v0-9-1.md), [page](https://verifymcp.io/servers/quantumproxies-quanticdata-mcp/https-github-com-quantumproxies-quanticdata-mcp-server-releases-download-v0-9-1)
- npm · `quanticdata-mcp`: 79/100, [markdown](https://verifymcp.io/servers/quantumproxies-quanticdata-mcp/quanticdata-mcp.md), [page](https://verifymcp.io/servers/quantumproxies-quanticdata-mcp/quanticdata-mcp)

## Channel facts

- Endpoint: `https://api.quanticdata.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.9.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (whitelist_ip).
  - HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 58/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 12842 tokens (~493/item across 26 items; 26 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability check failed: schema churn in the 23 days we've observed: 0 tool removals, 25 breaking changes, 0 auth/transport breaks, 1 additions.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 26 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 26 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the io.github.quantumproxies/quanticdata-mcp server?

io.github.quantumproxies/quanticdata-mcp is a hosted endpoint at https://api.quanticdata.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http quantumproxies-quanticdata-mcp 'https://api.quanticdata.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "quantumproxies-quanticdata-mcp": {
      "url": "https://api.quanticdata.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "quantumproxies-quanticdata-mcp": {
      "type": "http",
      "url": "https://api.quanticdata.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.quantumproxies-quanticdata-mcp]
url = "https://api.quanticdata.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "quantumproxies-quanticdata-mcp": {
      "type": "remote",
      "url": "https://api.quanticdata.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add quantumproxies-quanticdata-mcp --url 'https://api.quanticdata.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  quantumproxies-quanticdata-mcp:
    url: "https://api.quanticdata.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "quantumproxies-quanticdata-mcp": {
      "Transport": "http",
      "Url": "https://api.quanticdata.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add quantumproxies-quanticdata-mcp -t streamable-http -u 'https://api.quanticdata.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "quantumproxies-quanticdata-mcp": {
      "type": "http",
      "url": "https://api.quanticdata.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-20 (score 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27.

### 2026-09-18 (score 60, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20.

### 2026-09-16 (score 59, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13.

### 2026-09-14 (score 58, −8)

- [security regression] Stability: 0.53 → fail
- [functional regression] Schema quality: 267 → 493
- [functional regression] “crawl” added a required parameter “context”, so existing callers break
- [functional regression] “crawl” added a required parameter “llm_model”, so existing callers break
- [functional regression] “crawl_status” added a required parameter “context”, so existing callers break
- [functional regression] “crawl_status” added a required parameter “llm_model”, so existing callers break
- [functional regression] “create_dataset” added a required parameter “context”, so existing callers break
- [functional regression] “create_dataset” added a required parameter “llm_model”, so existing callers break
- [functional regression] “dataset_status” added a required parameter “context”, so existing callers break
- [functional regression] “dataset_status” added a required parameter “llm_model”, so existing callers break
- [functional regression] “generate_parser” added a required parameter “context”, so existing callers break
- [functional regression] “generate_parser” added a required parameter “llm_model”, so existing callers break
- [functional regression] “generate_proxies” added a required parameter “context”, so existing callers break
- [functional regression] “generate_proxies” added a required parameter “llm_model”, so existing callers break
- [functional regression] “heal_parser_preset” added a required parameter “context”, so existing callers break
- [functional regression] “heal_parser_preset” added a required parameter “llm_model”, so existing callers break
- [functional regression] “list_collectors” added a required parameter “context”, so existing callers break
- [functional regression] “list_collectors” added a required parameter “llm_model”, so existing callers break
- [functional regression] “list_parser_presets” added a required parameter “context”, so existing callers break
- [functional regression] “list_parser_presets” added a required parameter “llm_model”, so existing callers break
- [functional regression] “list_proxies” added a required parameter “context”, so existing callers break
- [functional regression] “list_proxies” added a required parameter “llm_model”, so existing callers break
- [functional regression] “map” added a required parameter “context”, so existing callers break
- [functional regression] “map” added a required parameter “llm_model”, so existing callers break
- [functional regression] “parser_preset_stats” added a required parameter “context”, so existing callers break
- [functional regression] “parser_preset_stats” added a required parameter “llm_model”, so existing callers break
- [functional regression] “proxy_locations” added a required parameter “context”, so existing callers break
- [functional regression] “proxy_locations” added a required parameter “llm_model”, so existing callers break
- [functional regression] “run_collector” added a required parameter “context”, so existing callers break
- [functional regression] “run_collector” added a required parameter “llm_model”, so existing callers break
- [functional regression] “save_parser_preset” added a required parameter “context”, so existing callers break
- [functional regression] “save_parser_preset” added a required parameter “llm_model”, so existing callers break
- [functional regression] “scrape” added a required parameter “context”, so existing callers break
- [functional regression] “scrape” added a required parameter “llm_model”, so existing callers break
- [functional regression] “search” added a required parameter “context”, so existing callers break
- [functional regression] “search” added a required parameter “llm_model”, so existing callers break
- [functional regression] “search_and_read” added a required parameter “context”, so existing callers break
- [functional regression] “search_and_read” added a required parameter “llm_model”, so existing callers break
- [functional regression] “search_bulk” added a required parameter “context”, so existing callers break
- [functional regression] “search_bulk” added a required parameter “llm_model”, so existing callers break
- [functional regression] “search_bulk_status” added a required parameter “context”, so existing callers break
- [functional regression] “search_bulk_status” added a required parameter “llm_model”, so existing callers break
- [functional regression] “seo_audit” added a required parameter “context”, so existing callers break
- [functional regression] “seo_audit” added a required parameter “llm_model”, so existing callers break
- [functional regression] “whitelist_ip” added a required parameter “context”, so existing callers break
- [functional regression] “whitelist_ip” added a required parameter “llm_model”, so existing callers break
- [functional regression] “batch” added a required parameter “context”, so existing callers break
- [functional regression] “batch” added a required parameter “llm_model”, so existing callers break
- [functional regression] “batch_status” added a required parameter “context”, so existing callers break
- [functional regression] “batch_status” added a required parameter “llm_model”, so existing callers break
- [functional regression] “collector_run_status” added a required parameter “context”, so existing callers break
- [functional regression] “collector_run_status” added a required parameter “llm_model”, so existing callers break
- [functional] Server version: 0.9.0 → 0.9.1
- [functional] New tool “ai_visibility”

### 2026-09-13 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-11 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-09 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-07 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (26)

### `scrape` (~1681 tokens)

Scrape a single web page through a residential proxy and return it as clean Markdown (or HTML/text). Uses a real Chrome TLS fingerprint by default and only spins up a headless browser if the page is bot-challenged. Optionally run structured extraction (CSS selectors) or AI extraction (natural-language prompt). Markdown keeps the complete page by default (content_mode 'smart': everything except nav/footer/cookie chrome, with GFM tables and absolutized links); to inspect a page's raw no-JS/SEO fallback use format 'html'.

Input parameters:

- `actions` (array): Ordered browser interactions before capture (forces a render). Each is one object: {"click":"#sel"}, {"clickText":"Accept"} (click by visible text — dismiss a consent wall without knowing its CSS), {…
- `ai_prompt` (string): Natural-language instruction — the LLM turns the page into structured JSON
- `ai_schema` (object): JSON Schema for deterministic AI extraction; returned under payload.ai.data
- `app_state`: Mine the page's own hydration state (Next.js __NEXT_DATA__, Nuxt, embedded JSON islands) into payload.metadata.appState. This is where SPAs keep the real data — prices behind a picker, stock, downloa…
- `chunk` (object): Segment the output into payload.chunks[] for RAG/vector-DB ingestion — each chunk carries its heading path and token count. Fences and tables are never split.
- `content_mode` (string): smart (default): whole page minus nav/footer/cookie chrome. article: Readability main article only (news/blogs). full: entire body as-is.
- `content_modes` (array): Return several content scopes from ONE fetch under payload.contents (e.g. compare smart vs full)
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `cookies` (object): Cookies to send as name→value — the simple way to scrape behind a login
- `country` (string): ISO country code for the proxy exit, e.g. 'us'
- `engine` (string): auto (default): TLS tier, escalate to browser on block. tls: never escalate — exactly what a pure HTTP bot (no JS) sees, right for SEO checks. render: force browser.
- `extract` (object): Structured-extraction schema: { field: "css selector" | { selector, attr, all, fns } }. `fns` is a transform pipeline run on the value — e.g. { "price": { "selector": ".price", "fns": ["amount_from_s…
- `fetch_resource` (string): Regex matched against the page's network requests: the first matching response's BODY becomes the result instead of the page HTML (e.g. '/api/products' to get an SPA's JSON directly). Forces a render…
- `format` (string): Output format (default markdown)
- `formats` (array): Additional formats to return together in payload.formats, e.g. ['markdown','text']
- `frontmatter` (boolean): Prepend YAML front-matter (title, url, canonical, description, author, date) so the markdown is self-contained for RAG/Obsidian pipelines
- `highlights` (integer): With `query`: also return the N most relevant passages in payload.highlights
- `html` (string): Convert HTML you already have instead of fetching: no proxy bandwidth is used, and the full parser pipeline still applies. Pass `url` too if you want relative links absolutized.
- `images_mode` (string): inline (default) keeps ![alt](url); 'alt' keeps only alt text; 'strip' removes images
- `include_links` (boolean): Return all de-duplicated absolute page links in payload.links
- `links_mode` (string): Link rendering. inline (default): [text](url). footnote: URLs moved to a numbered reference list at the end. strip: keep only the link text — cuts 30-48% of the tokens on link-dense pages when you on…
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `max_tokens` (integer): Cap the markdown at ~this many tokens, cutting at a section boundary (never inside a table or code block) and noting how much was omitted
- `mode` (string): summary: return only metadata (title, description, canonical, contentLength, status, engine, bytes) with no page content — use this when auditing pages instead of reading them
- `parser` (object): Your own parsing rules, as CSS selector lists — use these when you know the page and don't want to rely on heuristics. include: keep ONLY these subtrees (targeted extraction, e.g. ['article.post']).…
- `preset_id` (string): Run a stored parser preset (see save_parser_preset) instead of passing `extract` selectors. Results land in payload.data exactly the same way, and the run is scored so the preset can detect decay and…
- `query` (string): What you are looking for on the page. Keeps only the relevant sections (BM25 scoring over blocks, headings preserved) — the way to read one fact off a huge page without spending its whole token budge…
- `render` (boolean): Force the headless browser (JS execution)
- `reveal_hidden` (boolean): Render tier only: before capturing, open <details>/accordions and click through every tab, appending each revealed panel to the page. Use it for tabbed code samples or spec accordions where a plain r…
- `summary_sections` (boolean): Append 'Links on this page' / 'Images on this page' sections — handy when deciding the next hop
- `toc` (boolean): Prepend a table of contents built from the page headings
- `url` (string): The page URL to scrape (optional only when you pass `html` to convert)
- `xhr` (boolean): Record the page's XHR/fetch traffic (URL, method, status, response body) into payload.xhr. Forces a browser render. An SPA's own JSON API is usually far cleaner than its DOM — use this to DISCOVER th…

### `generate_parser` (~472 tokens)

Look at a page ONCE with an LLM and get back CSS selectors that extract the fields you asked for. Pass the returned `parser` as the `extract` argument on every later scrape of that same layout and no AI runs again — it becomes a plain, free, deterministic extraction. Use this instead of ai_prompt whenever you will scrape more than a couple of pages of the same shape. Every selector is run against the page before being returned, so `report`/`coverage` tell you which fields are actually reliable.

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `country` (string): ISO country code for the proxy exit
- `fields` (object): What to extract, as { field_name: "plain-English description" } — e.g. { "price": "the product price", "specs": "every spec bullet, as a list" }. Max 25.
- `html` (string): Markup you already have, instead of fetching a URL (no proxy bandwidth used)
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `prompt` (string): Free-text alternative to `fields` — the model picks and names the fields itself
- `render` (boolean): Learn from the browser-rendered DOM instead of the raw HTML (needed for SPA pages)
- `url` (string): The page to learn the layout from

### `save_parser_preset` (~427 tokens)

Store a generated parser under a name so it can be reused by id. Scrape later with scrape's `preset_id` instead of repeating the selectors, and every run is scored per field — when the recent success rate decays (the site redesigned), the preset regenerates itself from `source_url` and bumps a version. Give it a source_url whenever you can: without one it can never self-heal.

Input parameters:

- `auto_heal` (boolean): Regenerate automatically on decay (default true when source_url is set)
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `fields` (object): The original field descriptions, so a self-heal regenerates the same shape
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `name` (string, required): A name you'll recognise, e.g. 'amazon product page'
- `parser` (object, required): The parser to store — normally the `parser` object returned by generate_parser
- `render` (boolean): The page needs a browser render to show its content
- `source_url` (string): Page to relearn from when the parser decays — required for self-healing

### `list_parser_presets` (~232 tokens)

List your stored parser presets with their version, health stats and changelog.

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…

### `parser_preset_stats` (~272 tokens)

How well a stored parser is still working: success rate per field, mean coverage over the recent runs, and whether it now counts as decayed (i.e. the site probably changed).

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `preset_id` (string, required): The preset id returned by save_parser_preset

### `heal_parser_preset` (~292 tokens)

Regenerate a preset's selectors now (the manual trigger for the automatic repair). Refetches the source page and adopts new selectors ONLY if they extract more than the current ones — a heal that finds nothing better leaves the preset untouched and is not billed.

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `force` (boolean): Bypass the cooldown between heals
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `preset_id` (string, required): The preset id

### `seo_audit` (~364 tokens)

Audit a URL's SEO in one call: fetches it twice — as a pure HTTP bot (no JS) and fully rendered — and returns both views (title, description, canonical, h1, word count) plus the diff (JS-only content, changed title/description, canonical missing without JS) and bot-facing meta (robots, Open Graph, JSON-LD types). Use this instead of scraping manually when checking how a page indexes.

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `country` (string): ISO country code for the proxy exit, e.g. 'us'
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `no_render` (boolean): Skip the rendered pass (cheaper — returns the no-JS view only, no diff)
- `url` (string, required): The page URL to audit

### `ai_visibility` (~988 tokens)

Audit whether AI assistants (ChatGPT, Claude, Perplexity, Google AI Overview, Bing Copilot) can read and cite a page, and optionally ask them. On-page pass (always): the live robots.txt resolved for 24 AI crawlers per RFC 9309 with the deciding line, Content-Signal, a fetch that identifies as GPTBot to catch WAFs filtering on user-agent, noindex/nosnippet/noai/data-nosnippet, text present without JavaScript, JSON-LD types and resolvable Organization/Person entities, heading outline, question-shaped headings, answer-first paragraph, lists/tables, numeric facts and quotes, chunk-sized sections, dateModified with age, author, outbound sources. Also readability grade, paragraph length, definitional openers, named-entity density, keyword stuffing, first-hand content, images/video, paywall and retired robots tokens. Retrievability first: where Google ranks the page for its own H1 question and whether it is indexed (2 SERPs) — a page that is not retrievable is not cited whatever its on-page score. Google AI Overview and Bing Copilot report brand MENTIONS only: their no-JS SERP exposes no sources. Returns a 0-100 score per pillar (retrievability, access, readability, structure, answerability, trust, plus offsite when requested), blockers that cap the score, every check with evidence and fix, and topFixes. Citation panel (when `queries` is set): asks each engine, reports cited / mentioned / rank per (query × engine), share of voice across all cited domains, and the domains winning the questions where the page is absent. Use this instead of seo_audit when the question is AI answers rather than Google rankings.

Input parameters:

- `brand` (string): Brand name to look for in the answer text ('mentioned' even when not cited). Defaults to the page's og:site_name / Organization name.
- `competitors` (array): Competitor domains to flag in the share of voice, e.g. ['brightdata.com']
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `country` (string): ISO country code for the proxy exit, e.g. 'us' — also the locale of the AI Overview / Copilot SERP
- `engines` (array): Engines to ask (default: all). aio = Google AI Overview read from a live SERP, copilot = Bing's generative answer, openai/anthropic = the vendors' APIs with web search (an approximation of ChatGPT/Cl…
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `no_bot_fetch` (boolean): Skip the extra request that identifies itself as GPTBot
- `no_render` (boolean): Skip the rendered pass (cheaper — the two JS-parity checks are reported as skipped)
- `no_retrieval` (boolean): Skip the retrievability probe (2 SERPs: Google rank of the page for its own H1 question, and whether it is indexed). On by default — it is the strongest single predictor of citation and a blocker whe…
- `offsite` (boolean): Also measure the brand OFF the page with five searches ("brand" site:youtube.com / reddit.com / wikipedia.org / linkedin.com / review sites) — the signals studies rank above anything on-page for whet…
- `queries` (array): Questions to ask the AI engines (max 10). Omit for the on-page audit only — each (query × engine) pair is a billed engine call.
- `url` (string, required): The page URL to audit

### `search` (~1208 tokens)

Run structured Google, Bing or DuckDuckGo searches through a residential proxy. Bing supports web, shopping, images, news, videos, places/maps and autocomplete over HTTP, including Copilot AI answers and citations when Bing returns them. Google web search also parses rich blocks directly from its HTTP response.

Input parameters:

- `accommodation_type` (string): Hotels: property kind (default hotels)
- `adults` (integer): Hotels: number of adults
- `arrival_id` (string): Flights: arrival airport IATA code, e.g. 'LAX'
- `browser` (string): TLS/browser identity for the fetch path
- `check_in_date` (string): Hotels: check-in date YYYY-MM-DD
- `check_out_date` (string): Hotels: check-out date YYYY-MM-DD
- `children_ages` (array): Hotels: children's ages, e.g. [5, 7]
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `country` (string): ISO country code, e.g. 'us'
- `currency` (string): Hotels/Flights: price currency, e.g. 'EUR'
- `data_id` (string): Maps data id, hex fid '0x…:0x…' (from maps/place_details results) — required for reviews
- `departure_id` (string): Flights: departure airport IATA code, e.g. 'JFK'
- `device` (string): SERP device shape (default desktop)
- `engine` (string): Search engine (default google)
- `exact_matches` (boolean): Lens: return the exact-matches tab (pages using this exact image) instead of visual matches
- `filter` (string): Reviews: only reviews whose text contains this keyword
- `free_cancellation` (boolean): Hotels: only offers with free cancellation
- `google_params` (object): Additional Google query parameters not modeled above
- `gps_coordinates` (string): Maps: center the search on 'lat,lon' or 'lat,lon,zoom' (zoom 3-21)
- `image_url` (string): Lens: publicly reachable image URL to reverse-search
- `lang` (string): Search UI language, e.g. 'en' or 'it'
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `location` (string): Search from this location, e.g. 'Milan, Italy' (encoded to Google's uule server-side)
- `next_page_token` (string): Reviews: continuation token from the previous response's serpapi_pagination
- `nfpr` (boolean): Disable Google spelling correction
- `num` (integer): How many organic results to aim for (default 10, max 100). Google serves ~10 per page, so a larger num is satisfied by fetching consecutive pages and merging them — it is NOT ignored. `search_metadat…
- `outbound_date` (string): Flights: outbound date YYYY-MM-DD
- `page` (integer): Result page, 1-based (default 1). The response's pagination.available_pages lists which pages exist; use search_bulk to fetch many pages at once.
- `place_id` (string): Google Maps place id (from maps/places results) for place_details
- `product_id` (string): Google Shopping product id for product details
- `query` (string): The search query (optional for place_details/product/flights/lens/reviews, which are ID/URL-addressed)
- `render` (boolean): Force browser rendering where supported; Google/Bing web search rich blocks are parsed over HTTP
- `return_date` (string): Flights: return date YYYY-MM-DD (omit for one-way)
- `safe` (string): Google SafeSearch setting
- `search_type` (string): Vertical (default search). Bing supports shopping/images/news/videos/places/maps/autocomplete. Google additionally supports scholar/jobs/place_details/hotels/flights/events/product/lens/reviews; maps…
- `sort_by` (string): Reviews: sort order (default relevance)
- `start` (integer): Result offset alias (0, 10, 20…)
- `timeframe` (string): Trends only: Google timeframe token — 'today 12-m' (default), 'now 7-d', or an explicit 'YYYY-MM-DD YYYY-MM-DD' range
- `uule` (string): Geo token: encoded uule, or raw coordinates 'lat,lon' / 'lat,lon,radius_m' (encoded server-side)
- `wait_for` (string): Rendered path: wait for this CSS selector before parsing late panels

### `search_and_read` (~395 tokens)

Search the live web, fetch the top organic pages as clean Markdown, and return citation-ready numbered sources plus one token-bounded `context` string ready for an AI prompt. Use this when the goal is answering/researching, and use `search` when raw SERP structure or a specialized vertical is needed.

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `country` (string): ISO country code for search and proxy geo
- `engine` (string): Search engine (default google)
- `fetch_content` (boolean): False returns snippet-only context without fetching result pages
- `lang` (string): Search UI language, e.g. 'en' or 'it'
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `max_tokens` (integer): Maximum estimated tokens in the assembled context (default 8000)
- `query` (string, required): The research/search query
- `top_n` (integer): Top organic pages to fetch (default 3, max 5)

### `map` (~421 tokens)

Discover a site's URLs fast (robots.txt sitemaps + /sitemap.xml + homepage links) without a full crawl. Returns up to `limit` URLs (default 100) plus the site-wide `total` and a per-section `summary` (e.g. '/blog': 1988) so you see the site's shape without the full list. Narrow with `search` (substring filter — the primary way to find specific pages) or set group_by 'path' for the path tree with counts instead of URLs.

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `group_by` (string): path: return the path tree with per-prefix counts instead of the flat URL list
- `includeSubdomains` (boolean): Include subdomains of the seed host
- `limit` (integer): Max URLs returned (default 100). `total`/`summary` always cover the whole site.
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `search` (string): Only return URLs containing this substring — use this to narrow before raising limit
- `url` (string, required): The site URL to map

### `crawl` (~342 tokens)

Start an asynchronous BFS crawl of a site from a seed URL, converting each page to Markdown. Returns a job id — poll with crawl_status.

Input parameters:

- `content_mode` (string): Per-page content scope: smart (default) | article | full
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `country` (string): ISO country code for the proxy exit
- `depth` (integer): Max link depth (default 3)
- `exclude` (array): URL substrings/globs to exclude
- `include` (array): URL substrings/globs to include
- `limit` (integer): Max pages (default 50)
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `url` (string, required): Seed URL

### `crawl_status` (~348 tokens)

Poll a crawl job for progress and the pages crawled so far. Polls are incremental: pass the previous response's `nextCursor` as `since` to receive only the pages crawled since your last poll. Pages omit their content by default — set include_content true only when you actually need the text (a large crawl's full content can be hundreds of KB).

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `include_content` (boolean): Include each page's full content (default false — metadata only)
- `jobId` (string, required): The crawl job id returned by crawl
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `since` (integer): Page cursor from the previous poll's `nextCursor` — returns only newer pages

### `batch` (~359 tokens)

Scrape many URLs asynchronously with shared options. Returns a job id — poll with batch_status. For SEO/status audits over many pages set mode 'summary': items carry metadata only (title, description, canonical, contentLength) instead of full page content.

Input parameters:

- `content_mode` (string): Per-URL content scope: smart (default) | article | full
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `country` (string): ISO country code for the proxy exit
- `engine` (string): Fetch engine (default auto)
- `format` (string): Output format (default markdown)
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `mode` (string): summary: per-URL metadata only, no page content — the light mode for audits
- `urls` (array, required): URLs to scrape

### `batch_status` (~333 tokens)

Poll a batch job for progress and per-URL results. Polls are incremental: pass the previous response's `nextCursor` as `since` to receive only the items completed after your last poll. Items omit page content by default — set include_content true only when you actually need the text.

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `include_content` (boolean): Include each item's full page content (default false — metadata only)
- `jobId` (string, required): The batch job id returned by batch
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `since` (integer): Item cursor from the previous poll's `nextCursor` — returns only newer items

### `search_bulk` (~503 tokens)

Paginate ONE search query asynchronously and merge deduplicated organic results. Page-one AI Overview/PAA/Knowledge Graph/answer enrichments are retained; set render:true to request those Google JS blocks. Billed per page actually fetched, with unavailable pages refunded.

Input parameters:

- `browser` (string): Fetch-path browser identity
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `country` (string): ISO country code, e.g. 'us'
- `device` (string): SERP device shape
- `engine` (string): Search engine (default google)
- `google_params` (object): Additional Google query parameters
- `lang` (string): UI language, e.g. 'en'
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `location` (string): Search location, e.g. 'Milan, Italy'
- `max_pages` (integer): Max pages to fetch (1-10, default 5). Stops early when Google has no more pages.
- `nfpr` (boolean): Disable Google spelling correction
- `query` (string, required): The search query to paginate
- `render` (boolean): Force rendering to capture page-one Google JS enrichments
- `safe` (string): Google SafeSearch setting
- `search_type` (string): Vertical to paginate (default search)
- `uule` (string): Encoded geo token or raw coordinates
- `wait_for` (string): Rendered path CSS selector for late panels
- `webhook` (string): Public URL to POST the finished job to

### `search_bulk_status` (~298 tokens)

Poll a bulk search job for progress and merged organic results. Polls are incremental: pass the previous response's `nextCursor` as `since` to receive only the organic results gathered after your last poll.

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `jobId` (string, required): The bulk search job id returned by search_bulk
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `since` (integer): Organic cursor from the previous poll's `nextCursor` — returns only newer results

### `create_dataset` (~402 tokens)

Build a structured dataset from a plain-language prompt. Quantic AI plans the search queries, searches Google/Bing/DuckDuckGo, maps the sites it finds and scrapes them into validated rows (CSV/JSON). Returns a job id — poll with dataset_status. Billed per delivered, validated record (email/phone fields cost extra, only when found); the run never exceeds limits.max_cost_usd, and the unspent budget is refunded.

Input parameters:

- `columns` (array): Columns to extract; omit to let the planner infer them
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `country` (string): ISO country code for the proxy exit geo
- `limits` (object)
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `prompt` (string, required): What dataset you want, in plain language (e.g. 'coffee roasters in Portland with email and phone')
- `sources` (object): Domain allow/deny lists
- `webhook` (string): Public URL to POST the finished dataset to

### `dataset_status` (~350 tokens)

Poll a dataset job for progress, the collection trace (steps) and the rows so far. Polls are incremental: pass the previous response's `nextCursor` as `since` to receive only rows delivered after your last poll. Set mode 'summary' to omit rows and get only progress + steps (light poll). When status is completed, the response includes signed CSV/JSON download URLs.

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `jobId` (string, required): The dataset job id returned by create_dataset
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `mode` (string): summary: progress + steps only, no rows
- `since` (integer): Row cursor from the previous poll's `nextCursor` — returns only newer rows

### `list_proxies` (~354 tokens)

List the account's proxy services of every type — Residential Basic/Premium/Private, Mobile, Mobile V2, Datacenter (static or traffic-based), ISP, IPv6 — with plan type, bandwidth left, expiry, whitelisted IPs and the orderId to pass to generate_proxies. Call this first to see which proxy plans are available.

Input parameters:

- `active` (boolean): true: only non-expired services (recommended). false: only expired. Omit for all.
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `limit` (integer): Max services returned (default 50)
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `offset` (integer): Pagination offset (default 0)
- `planType` (string): Only services of this plan type

### `generate_proxies` (~670 tokens)

Generate ready-to-use proxy endpoint strings (credentials included) from one of the account's active proxy services — any type: residential, mobile, datacenter, ISP, IPv6. Supports geo targeting (country/state/city, ISP or ASN where the plan allows it), rotating or sticky sessions, HTTP or SOCKS5, and several output formats. Use list_proxies first to get the orderId, and proxy_locations for valid targeting codes. The returned strings plug straight into any HTTP client, e.g. curl -x.

Input parameters:

- `asn` (string): ASN for Residential/Datacenter Basic targeting, e.g. 'AS12345'
- `city` (string): City (slug from proxy_locations where applicable; 'all' for any)
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `country` (string): Country code for geo targeting, lowercase, e.g. 'us'
- `filter` (string): Residential Premium / Mobile V2 pool filter (omit for the full pool)
- `format` (string): Output string format (default user:pass@host:port)
- `gateway` (string): Mobile V2 region gateway (default ww)
- `ip` (string): Mobile V2 only: a whitelisted IP (see whitelist_ip) to fetch the IP-auth proxy list instead of user:pass proxies
- `isp` (string): ISP code for Residential Premium / Mobile V2 targeting (from proxy_locations tree, e.g. 'tmobile')
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `orderId` (string, required): The proxy service's orderId (from list_proxies)
- `protocol` (string): Proxy protocol (default http)
- `quantity` (integer): Number of proxy strings (default 10)
- `rotation` (string): rotating (default): new IP per request. sticky: keep the IP for sessionTime. static: IPv6 only, fixed session with no TTL.
- `sessionTime` (integer): Sticky session duration in minutes (default 10; Residential Basic/Datacenter minimum 3)
- `state` (string): State/region (Residential Premium & Mobile V2: use the slug from proxy_locations; 'all' for any)
- `strict` (boolean): Residential/Datacenter Basic: true allows fallback to nearby locations when the exact target has no IPs

### `proxy_locations` (~390 tokens)

Discover valid geo-targeting values for a proxy plan type before calling generate_proxies: countries, states, cities, ASNs, or the full location tree (countries → regions → cities → ISPs). Use level 'tree' for Residential Premium / Mobile V2 slugs and ISP codes, or for the static datacenter gateway list; note the tree can be large.

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `country` (string): Country code, required for states/cities, optional filter for asns
- `level` (string): countries (default) | states (needs country) | cities (needs country) | asns | tree (full location tree: residentialpremium, mobile/mobile_v2, datacenter)
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `planType` (string, required): The plan type to look up (same value as list_proxies planType)
- `state` (string): Cities only: filter by state

### `whitelist_ip` (~465 tokens)

Manage IP-auth whitelisting on a proxy service (Residential Basic, Datacenter, ISP, IPv6, Mobile): add or remove an IP, or list the current entries. A whitelisted machine uses the proxies without username/password — required for the Mobile V2 IP-auth proxy list. Residential Premium/Private use user:pass auth and don't need this.

Input parameters:

- `action` (string, required): What to do with the order's whitelist
- `city` (string): Mobile add: city slug
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `country` (string): Mobile add: geo targeting for the ports, e.g. 'us'
- `ip` (string): The IP to add/remove (required for add and remove)
- `isp` (string): Mobile add: ISP code, e.g. 'tmobile'
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `orderId` (string, required): The proxy service's orderId (from list_proxies)
- `ports_count` (integer): Mobile add: number of ports to allocate
- `protocol` (string): Mobile add: protocol for the allocated ports
- `region` (string): Mobile add: region slug
- `sticky` (boolean): Mobile add: keep the same IP per port
- `ttl` (integer): Mobile add: sticky session TTL in seconds

### `list_collectors` (~611 tokens)

List the ready-made Collectors: paid, versioned scrapers you run with a semantic input (keyword + location, place id, product id, domain…) instead of URLs — e.g. web_search, search_images, search_videos, keyword_ideas, amazon_search, amazon_product, ebay_search, aliexpress_search, linkedin_jobs, indeed_jobs, reddit_posts, youtube_search, youtube_channel, instagram_profile, tiktok_profile, tiktok_video, linkedin_profile, linkedin_company, zillow_search, zillow_property, app_store_apps, app_store_reviews, google_play_apps, google_maps_places, place_reviews, google_jobs, google_news, google_shopping, product_offers, hotels, google_flights, google_events, google_trends, google_autocomplete, google_lens, youtube_video, ebay_product, flipkart_search, idealista_search, kleinanzeigen_search, autotrader_search, github_repos, hacker_news, coingecko_coins, wikipedia_articles, yahoo_finance, stackoverflow, steam, npm_packages, sec_filings, defillama, wayback_machine, clinical_trials, certificate_transparency, wikidata, nvd_cve, openfda, openalex, pypi_packages, exchange_rates, gleif_lei, docker_hub, crates_io, world_bank, openlibrary_books, arxiv_papers, weather_forecast, whois_domain, dns_records, itunes_search, local_business_leads, site_contacts, company_profile, business_directory. Returns each collector's slug, input/output schema, example input, price per delivered result and current health. Billing is pay-per-success: only delivered rows are charged.

Input parameters:

- `category` (string): Optional category filter (e.g. 'local', 'ecommerce', 'jobs', 'news', 'travel', 'leads', 'finance', 'dev', 'gaming', 'osint', 'research', 'classifieds', 'knowledge')
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…

### `run_collector` (~362 tokens)

Run a Collector by slug with a semantic input (see list_collectors for each collector's inputSchema and example). Short runs return the rows inline; long runs return 202 with a run_id + statusUrl — poll with collector_run_status. Results are billed per delivered row (never for failures). Set `async` true to force background execution.

Input parameters:

- `async` (boolean): Force background execution and return a run_id to poll
- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `input` (object, required): Input fields matching the collector's inputSchema (e.g. { keyword: 'dentist', location: 'Austin, TX', max_results: 20 })
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `slug` (string, required): Collector slug from list_collectors, e.g. 'google_maps_places'

### `collector_run_status` (~303 tokens)

Fetch a Collector run by run_id: status (queued|running|done|failed), result count, cost, partial flag and the result rows. Use after run_collector returned 202/async. Pass format 'csv' to get the rows as CSV text.

Input parameters:

- `context` (string, required): Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include,…
- `format` (string): Return rows as JSON (default) or CSV text
- `llm_model` (string, required): The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model…
- `run_id` (string, required): The run id returned by run_collector

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/quantumproxies-quanticdata-mcp/api#diagnostics

## Score history

- 2026-09-20: 61
- 2026-09-19: 60
- 2026-09-18: 60
- 2026-09-17: 59
- 2026-09-16: 59
- 2026-09-15: 58
- 2026-09-14: 58
- 2026-09-13: 66
- 2026-09-12: 65
- 2026-09-11: 65
- 2026-09-10: 64
- 2026-09-09: 64
- 2026-09-08: 63
- 2026-09-07: 63
- 2026-09-06: 62
- 2026-09-05: 62
- 2026-09-04: 61
- 2026-09-03: 61
- 2026-09-02: 60
- 2026-09-01: 60
- 2026-08-31: 60
- 2026-08-30: 59
- 2026-08-29: 59
- 2026-08-28: 58

## Common questions

### What is the io.github.quantumproxies/quanticdata-mcp server?

io.github.quantumproxies/quanticdata-mcp is listed in the public MCP registry as io.github.quantumproxies/quanticdata-mcp. Live web access for agents: scrape, SERP search, crawl/map, 74 collectors, datasets, proxies. This page covers its hosted endpoint (https://api.quanticdata.io/mcp).

### Is the io.github.quantumproxies/quanticdata-mcp server safe to use?

io.github.quantumproxies/quanticdata-mcp scores 61 out of 100 on VerifyMCP. 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 io.github.quantumproxies/quanticdata-mcp server expose?

io.github.quantumproxies/quanticdata-mcp exposes 26 tools: scrape, generate_parser, save_parser_preset, list_parser_presets, parser_preset_stats, and 21 more. Their descriptions and schemas cost roughly 12,842 tokens of context every time the server is loaded.

### Does the io.github.quantumproxies/quanticdata-mcp server require authentication?

No. We connected to io.github.quantumproxies/quanticdata-mcp without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the io.github.quantumproxies/quanticdata-mcp server still maintained?

io.github.quantumproxies/quanticdata-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://api.quanticdata.io/mcp
- Repository: https://github.com/quantumproxies/quanticdata-mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/quantumproxies-quanticdata-mcp/api.xml
- Changelog JSON feed: https://verifymcp.io/servers/quantumproxies-quanticdata-mcp/api.json
- HTML version of this page: https://verifymcp.io/servers/quantumproxies-quanticdata-mcp/api
