protogrid

Search / io.github.quantumproxies/quanticdata-mcp

quanticdata-mcp

R2· OAuth, once

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

v0.11.5 · active · repository · website · descriptor JSON · versions

An agent can connect after a one-time OAuth consent by a human.Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.
Quality89good
Trust96of 100
Uptime, 30 days97%
Latency p50382 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "quanticdata-mcp": {
      "type": "http",
      "url": "https://api.quanticdata.io/mcp",
      "headers": {
        "Authorization": "Bearer ${QUANTICDATA_MCP_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http quanticdata-mcp https://api.quanticdata.io/mcp --header "Authorization: Bearer ${QUANTICDATA_MCP_TOKEN}"
[mcp_servers.quanticdata-mcp]
url = "https://api.quanticdata.io/mcp"
bearer_token_env_var = "QUANTICDATA_MCP_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "quanticdata-mcp": {
      "type": "remote",
      "url": "https://api.quanticdata.io/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:QUANTICDATA_MCP_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "quanticdata-mcp": {
      "type": "http",
      "url": "https://api.quanticdata.io/mcp",
      "headers": {
        "Authorization": "Bearer ${QUANTICDATA_MCP_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=quanticdata-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLnF1YW50aWNkYXRhLmlvL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke1FVQU5USUNEQVRBX01DUF9UT0tFTn0ifX0%3D"
}
{
  "servers": {
    "quanticdata-mcp": {
      "type": "http",
      "url": "https://api.quanticdata.io/mcp",
      "headers": {
        "Authorization": "Bearer ${QUANTICDATA_MCP_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "quanticdata-mcp": {
      "httpUrl": "https://api.quanticdata.io/mcp",
      "headers": {
        "Authorization": "Bearer ${QUANTICDATA_MCP_TOKEN}"
      }
    }
  }
}
extensions:
  "quanticdata-mcp":
    enabled: true
    name: "quanticdata-mcp"
    type: streamable_http
    uri: "https://api.quanticdata.io/mcp"
    headers:
      "Authorization": "Bearer ${QUANTICDATA_MCP_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${QUANTICDATA_MCP_TOKEN}. The registry never accepts secret values.

Quality 89 / 100good

protocoln/a · weight 25
  • n/a
    protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)
authorization100 · weight 15
  • pass
    auth.prmProtected Resource Metadata (RFC 9728) published
  • pass
    auth.as_metadataauthorization server metadata reachable
  • pass
    auth.cimdClient ID Metadata Documents supported
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene79 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length2 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations28 of 28 tools declare readOnlyHint or destructiveHint
  • warn
    tools.directory_hints1 of 28 tools declare all four hints; missing: heal_parser_preset (idempotentHint); proxy_locations (destructiveHint); scrape (destructiveHint, idempotentHint); …
  • warn
    tools.token_costabout 19,908 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes3 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvabledeps.dev does not know [email protected]

28 tools, about 19,908 tokens to load them all · tool set 8f5428b2e6a9 · tools last changed 2026-09-29 · checked 2026-10-20 10:35 UTC

Tool changes

  • unlockadded

    Replay any HTTP request (method, headers, body) through a residential exit with a real browser TLS fingerprint, retrying on a fresh IP when the target blocks it and escalating a blocked GET to a real browser. A page that is still blocked is returned flagged (`blocked`, `blockClass`, `vendor`), never as a silent 200; interactive captchas are not solved and arrive with blockClass "captcha". Returns the raw response: status, headers, body (bodyBase64 for binary), finalUrl. Use it when you need the origin's own response (JSON API, form POST, a page as-is) rather than scrape's Markdown.

  • reportadded

    Send feedback to the QuanticData team: a bug (a result that is wrong or empty after a retry, a broken parser, a blocked page that should work), a missing tool, site, option or collector, or a question about behaviour or pricing. Works WITHOUT an API key. Call it when a tool clearly failed at its job, when the user needs something no tool here covers, or when the user asks you to report something. Do NOT call it for a missing, rejected or unset API key, for the no-key trial or the balance being used up, for a network timeout, or for your own wrong input: those are fixed by the user, not by the team, and the tool that failed already told you how. One report per issue, never one per retry. Every report is read by the people who build the product.

  • searchchangedinput schema

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance90
liveness99
freshness100
hygiene95

+repository +namespace-matches-repo +website +reachable +uptime-97% +updated-17d-ago -unpinned-packages(1)

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] npmthis version is not known to the dependency resolver

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.quanticdata.io/mcp streamable-httpoauth2 AS: https://app.quanticdata.ioyes97%382 ms–2026-10-20
packageregistryversionruntimesecrets
quanticdata-mcpnpm0.11.4–QUANTICDATA_API_KEY
https://github.com/quantumproxies/quanticdata-mcp-server/releases/download/v0.11.4/quanticdata-0.11.4.mcpbmcpbunpinned–QUANTICDATA_API_KEY

Tools (28)

ai_visibilityread-onlyAudit 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.
batchread-onlyScrape 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.
batch_statusread-onlyPoll 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.
collector_run_statusread-onlyFetch 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.
crawlread-onlyStart an asynchronous BFS crawl of a site from a seed URL, converting each page to Markdown. Returns a job id — poll with crawl_status.
crawl_statusread-onlyPoll 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).
create_datasetBuild 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.
dataset_statusread-onlyPoll 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.
generate_parserread-onlyLook 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.
generate_proxiesGenerate 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.
heal_parser_presetRegenerate 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.
list_collectorsread-onlyList 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.
list_parser_presetsread-onlyList your stored parser presets with their version, health stats and changelog.
list_proxiesread-onlyList 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.
mapread-onlyDiscover 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.
parser_preset_statsread-onlyHow 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).
proxy_locationsread-onlyDiscover 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.
reportSend feedback to the QuanticData team: a bug (a result that is wrong or empty after a retry, a broken parser, a blocked page that should work), a missing tool, site, option or collector, or a question about behaviour or pricing. Works WITHOUT an API key. Call it when a tool clearly failed at its job, when the user needs something no tool here covers, or when the user asks you to report something. Do NOT call it for a missing, rejected or unset API key, for the no-key trial or the balance being used up, for a network timeout, or for your own wrong input: those are fixed by the user, not by the team, and the tool that failed already told you how. One report per issue, never one per retry. Every report is read by the people who build the product.
run_collectorRun 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.
save_parser_presetStore 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.
scraperead-onlyScrape 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'.
searchread-onlyRun 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.
search_and_readread-onlySearch 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.
search_bulkread-onlyPaginate 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.
search_bulk_statusread-onlyPoll 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.
seo_auditread-onlyAudit 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.
unlockReplay any HTTP request (method, headers, body) through a residential exit with a real browser TLS fingerprint, retrying on a fresh IP when the target blocks it and escalating a blocked GET to a real browser. A page that is still blocked is returned flagged (`blocked`, `blockClass`, `vendor`), never as a silent 200; interactive captchas are not solved and arrive with blockClass "captcha". Returns the raw response: status, headers, body (bodyBase64 for binary), finalUrl. Use it when you need the origin's own response (JSON API, form POST, a page as-is) rather than scrape's Markdown.
whitelist_ipdestructiveManage 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.

Schemas: list_tools.

Similar MCP servers

More from io.github.quantumproxies

Official server.json
{
  "name": "io.github.quantumproxies/quanticdata-mcp",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.quanticdata.io/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "format": "string",
          "isSecret": true,
          "description": "Optional when your client supports MCP OAuth sign-in: it opens the QuanticData sign-in page and connects your account without a key. Otherwise 'Bearer <your API key>'."
        }
      ]
    }
  ],
  "version": "0.11.5",
  "packages": [
    {
      "version": "0.11.4",
      "transport": {
        "type": "stdio"
      },
      "identifier": "quanticdata-mcp",
      "registryType": "npm",
      "registryBaseUrl": "https://registry.npmjs.org",
      "environmentVariables": [
        {
          "name": "QUANTICDATA_API_KEY",
          "isSecret": true,
          "isRequired": true,
          "description": "API key from https://app.quanticdata.io/api-keys — $2 of free API usage every month, no card required"
        }
      ]
    },
    {
      "transport": {
        "type": "stdio"
      },
      "fileSha256": "23203479e91683f9113117323194d002fb6a98dce4c9c6f743652a87c61dbd62",
      "identifier": "https://github.com/quantumproxies/quanticdata-mcp-server/releases/download/v0.11.4/quanticdata-0.11.4.mcpb",
      "registryType": "mcpb",
      "environmentVariables": [
        {
          "name": "QUANTICDATA_API_KEY",
          "isSecret": true,
          "isRequired": true,
          "description": "API key from https://app.quanticdata.io/api-keys — $2 of free API usage every month, no card required"
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/quantumproxies/quanticdata-mcp-server",
    "source": "github"
  },
  "websiteUrl": "https://quanticdata.io/mcp-server/",
  "description": "Live web access for agents: scrape, SERP search, crawl/map, 100+ collectors, datasets, proxies."
}