Documentation Python quickstart Blog Free tools Enterprise solutions hello@quanticdata.ioLog in

The web scraping MCP server for AI agents

A web scraping MCP server exposes web-data tools to an AI agent over the Model Context Protocol, so the model fetches live pages itself. QuanticData's gives it search, scrape, crawl, map, batch and seo_audit over residential proxies, billed only on success. Add https://api.quanticdata.io/mcp to your client and sign in with OAuth: no API key to copy.

$2 free every month · No card required · Pay per success

mcp · agent session
# the agent picks each tool on its own
tool call · search
  { "query": "best vector db 2026", "engine": "google" }
→ organic[10] · related_questions[4] · ai_overview
tool call · scrape
  { "url": "https://acme.dev/pricing", "format": "markdown" }
→ "# Acme — from $49/mo" · engine tls · 1 attempt
tool call · crawl
  { "url": "https://docs.acme.dev", "depth": 2 }
→ job started · 48 pages · poll crawl_status
An AI agent calling QuanticData tools over MCP: search, scrape and crawl requests in the conversation, each answered in the same envelope with its usage, and failed tool calls billed at $0.
One call in, one envelope out — and the usage block tells you exactly what it cost.
8 MCP toolssearch · scrape · map · crawl · batch · seo_audit
Every AI clientClaude · Cursor · Windsurf · VS Code · Cline
Proxies underneathevery call exits a residential IP
Pay per successblocks, timeouts & retries are free

What is an MCP server?

An MCP server is a program that exposes tools and data to an AI client over the Model Context Protocol — an open standard for connecting models to the outside world. The server declares each tool with a typed schema; the model reads those schemas and decides when to call one. Connect a server once and the agent gains its capabilities, with no per-framework glue code.

A web scraping MCP server puts the open web behind those tools. Instead of guessing about a page it has never seen, the agent calls a tool, gets clean content back, and reasons over it in the same turn. QuanticData's server does that for search, single pages and whole sites — over a residential proxy network, so bot walls stay the server's problem, not the model's.

AI Overview

What is a web scraping MCP server?

A web scraping MCP server is a Model Context Protocol server that hands an AI agent tools to fetch, search and read live web pages autonomously. QuanticData exposes twenty-eight of them from one server, so a model can run a search, scrape a page, or crawl a whole site mid-conversation — and get back token-efficient Markdown or structured JSON.

  • One server, every tool: search, scrape, map, crawl, batch and seo_audit — not just single-page fetching.
  • Proxies built in: every call routes through residential, mobile, datacenter or IPv6 exits with anti-bot handling.
  • LLM-shaped output: clean Markdown, SerpApi-compatible SERP JSON, and fetch diagnostics (engine, attempts) on every response.
  • Pay per success: failed calls and internal retries are never billed; $2 of free usage every month, no card.

Every web-data tool, one MCP server

Competitors expose scraping alone. QuanticData gives your agent the whole surface — search, scrape, crawl, map, batch, audit, parsers, datasets, Collectors and proxies — behind twenty-eight tools with the real names and parameters from the quanticdata-mcp package (0.11.4, as tools/list returns them). Every one runs over the proxy network beneath it. Long jobs return an id and a _status tool polls it.

Scrape

scrape — One URL to clean Markdown, HTML or text (PDF and Office documents too) through a residential IP with a real-browser TLS fingerprint. Optional CSS, preset or AI extraction, mode: summary, browser actions.

Key params: url, format, formats, include_links, content_mode

Search

search — Structured Google, Bing or DuckDuckGo results across 17 verticals (web, images, news, shopping, maps, jobs, flights, hotels, lens and more). render: true adds AI Overview, People Also Ask and Knowledge Graph.

Key params: query, engine, search_type, country, lang

search_and_read — Search, fetch the top organic pages as clean Markdown and return numbered citation-ready sources plus one token-bounded context string for the prompt.

Key params: query, engine, country, lang, top_n

search_bulk — Async multi-page SERP pagination with merged organic results and page-one AI and zero-click enrichments. Returns a job id.

Key params: query, engine, search_type, max_pages, country

search_bulk_status — Poll a bulk search job; since returns only the pages collected after the previous poll.

Key params: jobId, since

Map & Crawl

map — Fast URL discovery from sitemaps and homepage links, no full crawl: up to limit URLs plus a site-wide total and a per-section summary; group_by: path for the tree.

Key params: url, limit, search, group_by, includeSubdomains

crawl — Start an async breadth-first crawl from a seed URL, every page converted to Markdown. Depth control, include and exclude globs. Returns a job id.

Key params: url, limit, depth, content_mode, include

crawl_status — Poll a crawl job for progress and the pages gathered so far. The since cursor and include_content keep polls light.

Key params: jobId, since, include_content

Batch

batch — Scrape up to 1,000 URLs asynchronously with shared options; mode: summary for metadata-only items. Returns a job id.

Key params: urls, format, content_mode, engine, mode

batch_status — Poll a batch job incrementally with the since cursor; page content only with include_content.

Key params: jobId, since, include_content

Unlock

unlock — Web Unlocker: replay any HTTP request (method, headers, body) through a residential exit, retry on a fresh IP, escalate a blocked GET to a real browser. A still-blocked page comes back flagged, never as a silent 200.

Key params: url, method, headers, body, country

AI visibility

ai_visibility — Can ChatGPT, Claude, Perplexity, Google AI Overview and Bing Copilot read and cite a page? On-page audit scored per pillar with blockers, evidence and fixes, plus an optional citation panel that asks the engines.

Key params: url, queries, engines, competitors, brand

SEO

seo_audit — Fetch a URL as a no-JS bot and fully rendered, return both SEO views plus the diff (JS-only content, changed title or description, missing canonical) and bot-facing meta (robots, Open Graph, JSON-LD).

Key params: url, country, no_render

Collectors

list_collectors — Catalog of the ready-made Collectors (slug, category, price per delivered row, required input), or one collector's full schema and example with slug.

Key params: category, slug

run_collector — Run a Collector by slug with a semantic input (keyword + location, place id, product id, domain) instead of URLs. Short runs return rows inline, long runs a run_id.

Key params: slug, input, async

collector_run_status — Poll a collector run by run_id; rows as JSON or CSV, billed per delivered row only.

Key params: run_id, format

Datasets

create_dataset — Prompt-driven structured dataset collection with columns, sources, budget and row limits. Returns a job id.

Key params: prompt, columns, country, sources, limits

dataset_status — Poll a dataset job: rows so far, cost, and signed CSV and JSON downloads when done.

Key params: jobId, since, mode

Parser presets

generate_parser — Learn the CSS selectors of a page layout once with an LLM and get back a deterministic parser to reuse for free.

Key params: url, html, fields, prompt, render

save_parser_preset — Store a generated parser as a named preset that scrape runs by preset_id, with optional self-healing.

Key params: name, parser, source_url, fields, render

list_parser_presets — List this account's parser presets with their ids.

parser_preset_stats — Health of one preset: success rate, recent runs, empty fields, whether it needs healing.

Key params: preset_id

heal_parser_preset — Regenerate a preset's selectors after the site layout changed (force heals a healthy one).

Key params: preset_id, force

Proxies

list_proxies — Your proxy services of every type (Residential Basic, Premium and Private, Mobile, Mobile V2, Datacenter, ISP, IPv6) with bandwidth left, expiry and the orderId used to generate.

Key params: active, planType, limit, offset

generate_proxies — Ready-to-use proxy strings (credentials included) from any active plan: country, state, city, ISP or ASN targeting, rotating or sticky sessions, HTTP or SOCKS5, several output formats.

Key params: orderId, protocol, format, quantity, country

proxy_locations — Valid geo-targeting values per plan type: countries, states, cities, ASNs, or the full location tree with ISP codes.

Key params: planType, level, country, state

whitelist_ip — Add, list or remove IP-auth whitelist entries for the plans that support it, including the Mobile V2 IP-auth proxy list.

Key params: action, orderId, ip, ports_count, protocol

Feedback

report — Send feedback to the team from inside the agent: a bug, a missing feature or collector, a question. Works without an API key.

Key params: kind, message, tool, expected, actual

MCP for proxies, too — every call exits a residential IP

Each tool call routes through QuanticData's own residential, mobile, datacenter and IPv6 networks, with browser escalation when a target fights back. Add country to any call to pin the exit. Want raw transport instead of finished data? The same networks are sold as plain proxies under one account.

See the proxy networks

Works in every AI client and framework

Any MCP-capable client connects natively — Claude Desktop, Claude Code, Cursor, Windsurf, VS Code and Cline pick up all twenty-eight tools the moment you add the config. Clients that add a remote server by URL, such as a Claude custom connector, sign in with OAuth instead of pasting a key. Or wrap the tools in an agent framework: LangChain, LlamaIndex, CrewAI and the OpenAI Agents SDK take a few lines each. Local models in Ollama, LM Studio and Open WebUI connect the same way, with a smaller tool set.

Prefer no code? n8n and Zapier call the same REST endpoints from an HTTP node — one JSON envelope throughout, so what you prototype in Claude behaves identically in production. Need just one capability? The SERP API and the web scraping API stand alone, and the web data API for AI covers the full agent surface.

Give local models web access: Ollama, LM Studio, Qwen, Open WebUI

A model running on your own machine has no browser and no network of its own. Connect it to this MCP server and it can search, read pages and cite them, while the fetching happens on our side over residential IPs. Watch the tool list: all twenty-eight definitions measured 13,947 tokens on 2 October 2026, more than Ollama's 4,096-token default. Add ?tools=lite to the URL and the model sees one tool for 356 tokens; ?tools=web gives it search, search-and-read and scrape for 4,215.

Ollama

Ollama runs the model, it does not run tools. Put the ollmcp terminal client in front of it and add the server in one command with --transport http and your key as a Bearer header. Give Ollama internet access.

LM Studio

An MCP host since version 0.3.17. One block in mcp.json: the URL with ?tools=web and an Authorization header, or npx quanticdata-mcp with the key in env. LM Studio MCP web search.

Qwen

Serve Qwen3 with Ollama and use Qwen-Agent as the MCP client. Set "type": "streamable-http" next to the URL, or Qwen-Agent tries SSE and fails. Qwen web search with MCP.

Open WebUI

Native MCP since v0.6.31. An admin adds an External Tool Server of type MCP (Streamable HTTP) with a Bearer key, and every chat can switch the tools on. Open WebUI MCP server setup.

What fits in 4K to 64K

Measured token costs for every tool set and for real search and scrape results, with a budget per context size: one tool and capped results leave 1,882 tokens to answer on a 4K model. Local LLM web search with MCP.

New · OAuth 2.1

Connect with OAuth: sign in, no API key to copy

The hosted MCP server at https://api.quanticdata.io/mcp supports OAuth 2.1 sign-in, as defined by the MCP authorization spec. Any MCP client that supports MCP authorization can connect this way; a Claude custom connector is the common one.

1. Add the server URL

In your MCP client, add a remote server (in Claude: a custom connector) with the URL https://api.quanticdata.io/mcp. Leave any key field empty.

2. Sign in and allow access

The client opens the QuanticData sign-in page. Sign in to your account, then click Allow access on the consent screen.

3. The tools appear

You are connected. Behind the scenes a dedicated key named MCP · <client name> appears on your dashboard API keys page. To disconnect that client, click Disconnect under Connected clients on the dashboard MCP page; delete the key to remove it for good.

Usage through an OAuth connection is billed to your account balance exactly like any API key, pay per success. Without credentials the endpoint answers 401 and your client starts the sign-in.

OAuth or API key: which one to use

OAuth sign-inAPI key
How you connectpaste the URL, sign in, click Allow accesscopy a qd_live_ key into the config
Best forclients with MCP authorization, such as Claude custom connectorsconfig files, CI, scripts and the local npx package
Endpointhosted https://api.quanticdata.io/mcphosted endpoint or local npx quanticdata-mcp
Credential1-hour access token, rotating 30-day refresh tokenlong-lived key until you delete it
How it is sentbound to the MCP endpoint, never forwarded to other servicesAuthorization: Bearer or X-Api-Key header
DisconnectDisconnect under Connected clients on the dashboard MCP page; delete the key named MCP · <client name> to remove it for gooddelete the key
Billingyour account balance, pay per successyour account balance, pay per success

Under the hood: PKCE with S256 is required, clients can register through Dynamic Client Registration (RFC 7591) or a Client ID Metadata Document, and tokens are issued for the MCP endpoint only (RFC 8707 resource indicators). Discovery follows RFC 9728 and RFC 8414, with the authorization server at https://app.quanticdata.io.

Setup

Add the MCP server in one command

Prefer a config file? The server is also a small local package launched with npx — it talks to the hosted API with your key, so there are no internal secrets and nothing to deploy. Set QUANTICDATA_API_KEY and restart the client. The hosted endpoint takes the same key, or OAuth sign-in.

claude mcp add quanticdata \
  -e QUANTICDATA_API_KEY=qd_live_your_key_here \
  -- npx -y quanticdata-mcp

# 28 tools appear: search, scrape, map, crawl, batch,
# seo_audit, parsers, datasets, collectors, proxies…
The official MCP Inspector calling the search_and_read tool on the hosted endpoint: three pages read, each with its token count, plus one prompt-ready context string. Real request on 4 October 2026, the 30-second wait is shortened.

Not using MCP? Every tool is also a plain REST endpoint with the same JSON envelope — see the web data API for AI for the REST shape.

Agent Skills

Skills for AI agents

Five SKILL.md files teach Claude Code, Claude.ai, Codex, Cursor, Gemini CLI and any agent that reads the open Agent Skills format how to use QuanticData correctly. Install them once; the agent loads the right one when the task needs it. Published at /.well-known/agent-skills/. Source and Claude Code plugin: github.com/quantumproxies/quanticdata-skills.

# one command, 70+ agents (Claude Code, Codex, Cursor, Gemini CLI…)
npx skills add https://quanticdata.io
# or from GitHub:
npx skills add quantumproxies/quanticdata-skills

# Claude Code by hand: copy a skill folder into ~/.claude/skills/
# Codex, Cursor, Gemini CLI, OpenCode: ~/.agents/skills/

use-data-api

Call the REST Data API: authentication, response envelope, async jobs, references

use-mcp-server

Connect any MCP client: hosted OAuth endpoint or local npm package, tool presets

scrape-to-markdown

One URL to clean Markdown or structured fields; batch, map and crawl for many

generate-proxies

Proxy strings from your plans: geo-targeting, sticky sessions, IP whitelists

find-business-leads

Business lists and datasets: Collectors, AI Places Finder, dataset builder

Pricing

Pay-per-success, priced for agents

Agents probe, retry and dead-end by design — so failed tool calls are never billed, and every response tells the agent what it just spent. The server itself is free and open.

$0.0002per page scraped$0.001 with JS rendering
$0.0005per SERP search$0.002 with JS rendering
$0.0003per crawled pageasync, auto-refund on unused
$0.0002per batch URLup to 1,000 URLs per job
Free & open server packageUsage cost in every responseFailed calls never billedAsync jobs auto-refund failuresOne key for tools and proxies

QuanticData MCP vs a typical scraping MCP

QuanticData MCPTypical scraping MCP
Tools exposed8 — search, scrape, map, crawl, batch, seo_audit1–3 — single-page fetch
Search / SERPnative search tool, 3 engines & 17 verticalsnone
Whole-site jobsasync crawl, map & batch (up to 1,000 URLs)one page at a time
Proxy network4 in-house networks, country targetingopaque or none
Billingpay per success, failed calls freecredits per call
Outputone JSON envelope, SerpApi-compatible SERPper-tool formats
Free tier$2 every month, renews foreverone-time trial credits
An agent turning one scrape into an MCP batch job of 10,000 URLs, polled with batch_status from queued to done; at $0.0002 per batch URL the job costs $2.00.
The same request, sent once or ten thousand times: one job id, one poll loop, and a bill you can work out before you run it.

FAQ

The short answers on pricing, formats and setup.

Something else? Ask us

What is an MCP server?

An MCP server is a program that exposes tools and data to an AI client over the Model Context Protocol, an open standard. It declares each tool with a typed schema; the model decides when to call it. Connect one server and the agent gains those capabilities with no glue code.

What is a web scraping MCP server?

A web scraping MCP server gives an AI agent tools to fetch and read live web pages on its own. QuanticData exposes twenty-eight, from search, scrape, map, crawl and batch to parser generation, dataset building, the 100+ ready-made Collectors and proxy management, so the model can search, read a page, crawl a whole site, or pull a dataset mid-conversation.

How do I add the MCP server to Claude or Cursor?

Two ways. For a client that adds remote servers by URL, such as a Claude custom connector, enter https://api.quanticdata.io/mcp and sign in with OAuth. For config files, add one mcpServers block with the npx command and your QUANTICDATA_API_KEY in claude_desktop_config.json or .cursor/mcp.json, or run one claude mcp add command in Claude Code.

Which AI clients and frameworks are supported?

Any MCP-capable client connects natively: Claude Desktop, Claude Code, Cursor, Windsurf, VS Code and Cline. Frameworks like LangChain, LlamaIndex, CrewAI and the OpenAI Agents SDK wrap the tools in a few lines, and n8n or Zapier call the same REST endpoints from an HTTP node.

What tools does the MCP server expose?

Twenty-eight, from the real package: search (Google, Bing, DuckDuckGo across 17 verticals), scrape, unlock, map, crawl, batch and seo_audit, plus search_and_read, search_bulk, ai_visibility, generate_parser with self-healing presets, create_dataset, the Collector tools over 100+ ready-made scrapers, proxy tools to list plans, generate endpoints, browse geo targets and manage IP whitelists, and report to send feedback to the team.

Is the MCP server free?

The server package is free and open, and every account gets $2 of usage each month with no card, enough for thousands of scrapes or searches. Beyond that you pay per successful call from $0.0002 per page. Blocked pages, captchas and retries are never billed.

MCP server vs API — what is the difference?

They are two front doors to the same platform. The REST API is called by your backend code; the MCP server lets the AI agent call the same tools itself, with typed schemas the model reads. Prototype through MCP, ship through REST, or use both — one key covers everything.

Is there a remote MCP server, or only the local package?

Both. The local package runs through npx and talks to the API with your key. The hosted endpoint at https://api.quanticdata.io/mcp speaks Streamable HTTP: sign in with OAuth, or send your key in the Authorization or X-Api-Key header. Without credentials it answers 401 and your client starts the sign-in. It carries all 28 tools; add ?tools=lite or ?tools=web to the URL to load a smaller set for local models.

Does the MCP server support OAuth?

Yes. The hosted endpoint at https://api.quanticdata.io/mcp supports OAuth 2.1 sign-in per the MCP authorization spec. Add the URL in a client that supports MCP authorization, such as a Claude custom connector, sign in to QuanticData and click Allow access. You are connected with no API key to copy.

OAuth or API key: which should I use?

Use OAuth when your client adds remote servers by URL and supports MCP authorization: you sign in once and tokens renew on their own. Use an API key for config files, scripts, CI and the local npx package. Both reach the same tools on the same endpoint and bill the same account balance.

How do I disconnect an MCP client?

Open the MCP page of your dashboard and click Disconnect next to the client under Connected clients. That client loses access while your other keys and connections keep working; allowing it again reconnects it. To remove it for good, delete its key, named MCP · <client name>, on the API keys page. Access tokens last one hour and refresh tokens rotate, so nothing long-lived stays in the client.

Can I self-host the MCP server, or is it hosted?

The MCP server runs locally as a small package you launch with npx, talking to the hosted QuanticData API with your key — no internal secrets and nothing to deploy. The heavy work (browsers, proxy rotation, retries, parsing) happens on our infrastructure, so your machine only carries the transport.

How is the MCP server billed?

Pay per success: each tool call is charged only when it returns a usable result. List prices are $0.0002 per scraped page, $0.0005 per search and $0.0003 per crawled page. Async crawl and batch jobs auto-refund unused pages.

Give your agent the whole web

$2 free every month, no card. Add the MCP server and let it search, scrape and crawl.

Get my free API key

From the blog