Skip to main content
Glama
quantumproxies

QuanticData MCP server

QuanticData MCP Server

Connect QuanticData to Claude, Cursor, Cline, and any MCP client. Gives an AI agent live web access — scrape, search, map, and crawl — through residential proxies with real-browser TLS fingerprints, so pages that block ordinary bots come back clean. It also hands the agent raw proxy endpoints of every type (residential, mobile, datacenter, ISP, IPv6) from your active plans, ready to plug into any HTTP client.

It calls the public QuanticData Scraper API with your own qd_live_ key, so there are no internal secrets and you run it locally.

Tools

Tool

What it does

scrape

Scrape one URL → Markdown/HTML/text, including PDF/Office documents. Supports multi-format output, absolute link collection, JSON-LD metadata, structured CSS extraction, AI prompt/JSON-schema extraction, and mode: summary.

seo_audit

Fetch a URL as a no-JS bot and fully rendered, return both SEO views + the diff (JS-only content, changed title/description, missing canonical) and bot-facing meta (robots, OG, JSON-LD).

search

Structured Google/Bing/DuckDuckGo results. Set render: true for Google AI Overview, PAA, Knowledge Graph and other JS enrichments.

search_and_read

SERP → fetch top pages → numbered citation-ready sources and one token-bounded context string ready for an AI prompt.

search_bulk / search_bulk_status

Async multi-page pagination with merged organic results and page-one AI/zero-click enrichments.

map

Fast URL discovery (sitemaps + homepage links), no full crawl. Compact by default: up to limit URLs (100) plus site-wide total and per-section summary; group_by: path for the path tree.

crawl / crawl_status

Async BFS site crawl → Markdown per page; poll for progress.

batch / batch_status

Scrape many URLs asynchronously; mode: summary for metadata-only items. Incremental polling via since cursor; page content only with include_content.

create_dataset / dataset_status

Prompt-driven structured dataset collection with budget and row limits.

list_collectors / run_collector / collector_run_status

Ready-made Collectors: run a versioned scraper with a semantic input (keyword + location, place id, product id, domain…) instead of URLs — Google Maps places, place reviews, Google Jobs/News/Shopping, product offers, hotels, local business leads, site contacts, company profile. Priced per delivered row; async runs poll by run_id, rows exportable as CSV.

list_proxies

List your proxy services of every type — Residential Basic/Premium/Private, Mobile, Mobile V2, Datacenter, ISP, IPv6 — with bandwidth left, expiry and the orderId used to generate.

generate_proxies

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

proxy_locations

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

whitelist_ip

Manage IP-auth whitelisting (add/list/remove) for plans that support it, including the Mobile V2 IP-auth proxy list.

Related MCP server: Spider MCP Server

Quick start

No install needed — npx fetches quanticdata-mcp on demand (Node.js 18+).

Claude Code (one command):

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

Claude Desktop / Cursor / Cline / any MCP client (claude_desktop_config.json, .cursor/mcp.json, Cline's MCP settings, or .mcp.json):

{
  "mcpServers": {
    "quanticdata": {
      "command": "npx",
      "args": ["-y", "quanticdata-mcp"],
      "env": { "QUANTICDATA_API_KEY": "qd_live_your_key_here" }
    }
  }
}

Hosted endpoint (remote MCP)

The same server also runs as a hosted Streamable HTTP endpoint, for clients that prefer a URL over a local package:

https://api.quanticdata.io/mcp

Your key travels per request in the Authorization header, so nothing is stored server-side and one endpoint serves every account:

curl -X POST https://api.quanticdata.io/mcp \
  -H "Authorization: Bearer qd_live_your_key_here" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

The endpoint accepts either header — Authorization: Bearer qd_live_your_key_here (preferred) or X-Api-Key: qd_live_your_key_here — so clients that can't set an Authorization header can send the key directly.

In a client that supports remote MCP servers, add it as an HTTP server with that URL and your key. For Cline (and any client that defaults to legacy SSE), set the transport type explicitly to streamableHttp:

{
  "mcpServers": {
    "quanticdata": {
      "type": "streamableHttp",
      "url": "https://api.quanticdata.io/mcp",
      "headers": { "Authorization": "Bearer qd_live_your_key_here" }
    }
  }
}

initialize and tools/list answer without a key so directories and inspectors can introspect the server; tool calls need one.

Self-hosting the endpoint is a second binary in this same package:

QUANTICDATA_API_KEY=qd_live_… PORT=9310 npx -y quanticdata-mcp-remote

Run from source (development)

npm install
npm run build

Then point the client at the local build instead of npx:

{
  "mcpServers": {
    "quanticdata": {
      "command": "node",
      "args": ["/absolute/path/to/quanticdata-mcp-server/dist/index.js"],
      "env": {
        "QUANTICDATA_API_KEY": "qd_live_your_key_here"
      }
    }
  }
}

Env

Var

Default

Notes

QUANTICDATA_API_KEY

Required. Your qd_live_ key.

QUANTICDATA_API_BASE

https://api.quanticdata.io/v1

Override for staging/self-host.

Example prompts

  • "Scrape the pricing page at example.com and give me the plans and prices."

  • "Search Google Shopping for 'nintendo switch oled' in the US and list the cheapest 5."

  • "Map docs.example.com, then crawl only the /guides/ pages and summarize them."

  • "List my proxy plans and generate 5 sticky US residential proxies as socks5 URLs."

  • "Get me a rotating mobile proxy in Germany and whitelist my server IP 203.0.113.7."

Privacy Policy

Full policy: https://quanticdata.io/privacy

What this server sends. It runs on your machine and talks only to the public QuanticData API at https://api.quanticdata.io/v1, authenticated with your own qd_live_ key. Each call carries the arguments you (or your agent) passed — the target URL or query, and any extraction prompt. Nothing else on your machine is read or transmitted: the server has no filesystem, shell or clipboard access.

What we collect. Account data you give us (name, email, billing details) and a request log kept for billing, abuse prevention and support: target URL or query, timestamp, response status, bytes transferred and the API key used. We do not retain scraped page content beyond what is needed to return your result.

Data you collect through the service. You decide what public web data to collect and you are the controller of that data — we process it on your behalf only to fulfil your request. You are responsible for using the service lawfully, for respecting the terms of the sites you access, and for any personal data you collect through it.

Sharing. We do not sell personal data. We share it only with the processors that run the service — payment providers, email delivery, hosting, CDN and analytics — under contracts that bind them to protect it, and with the upstream proxy networks that route your traffic (connection metadata only, never your account details). We may disclose data where required by law.

Retention. Account data for as long as the account exists; request logs on a rolling window for billing and abuse investigation. You can request deletion at any time.

Your key. Claude Desktop stores it in the OS keychain and passes it to this server as an environment variable. It is never written to the bundle and never sent anywhere except the QuanticData API. Revoke or rotate it at https://app.quanticdata.io/api-keys.

Contact. support@quanticdata.io

Available Tools

9 tools
collector_run_statusAInspect

Fetch one Collector run and its delivered rows by run_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYesThe run_id returned by run_collector.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It explicitly states the operation is a 'fetch', implying a read-only, non-destructive behavior. It does not disclose response format or edge cases, but the simple nature of the operation and the clear 'fetch' wording provide sufficient transparency for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with zero filler. It immediately states what the tool does and how, leaving no wasted words. It earns full marks for conciseness and clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema) and the absence of annotations, the description provides all essential information: what it fetches, what it returns (run and delivered rows), and how to identify the run. Nothing critical is missing for a tool of this scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so runId is already documented. The description adds value by specifying that the run_id is the one returned by run_collector, establishing the provenance and correct value source. This extra context meaningfully aids correct invocation beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action (fetch), the resource (one Collector run and its delivered rows), and the method (by run_id). This distinguishes it from siblings like crawl_status and run_collector, making its purpose unambiguous without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through the parameter note 'returned by run_collector', signaling this is meant to be called after run_collector to retrieve results. It does not explicitly list alternatives or when-not-to-use scenarios, but for a simple status-like fetch the implicit linkage is adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

crawlAInspect

Start an asynchronous BFS crawl from a seed URL; each page comes back as Markdown. Returns a job id immediately — poll with crawl_status. $0.0003 per page, unfetched budget refunded. Prefer map + batch when you can filter the URL list first.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesSeed URL.
depthNoMax link depth from the seed, default 3, cap 10.
limitNoMax pages, default 50, cap 500.
renderNoRender every page with the browser (much slower).
countryNoISO country code for the proxy exit.
excludeNoURL substrings to skip.
includeNoURL substrings to include.
contentModeNoContent scope per page.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the burden. It discloses async behavior, immediate job id return, per-page cost, budget refund, and output format (Markdown). Does not mention potential side effects like rate limits or data retention, but covers the key operational traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Concise single paragraph, front-loaded with action and resource, then key details on costs and alternatives. No fluff, but could be slightly more structured (e.g., separating usage guidance).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description covers the async nature, job id, cost, and alternative tools. It does not explain parameter semantics, but schema does. No output schema provided; description mentions 'poll with crawl_status' so return behavior is clear. For a complex tool, it's reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema already provides full descriptions for all 8 parameters (100% coverage). The description does not add parameter-specific meaning; it only clarifies the overall outcomeщаться, which is adequate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it starts an asynchronous BFS crawl from a seed URL, returns Markdown, and explicitly contrasts with map/batch for filtered URL lists, distinguishing it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises 'Prefer map + batch when you can filter the URL list first,' and notes the async nature with polling via crawl_status. Clear when-to-use and alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

crawl_statusAInspect

Poll a crawl job: status, pagesCrawled, pagesQueued and the pages fetched so far.

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYesThe id returned by crawl.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the disclosure burden. 'So far' does convey that results may be incremental and that polling may need to be repeated, and it lists the returned progress data. However, it does not describe error cases, status value vocabulary, or how the output evolves between polls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The entire description is one dense, front-loaded sentence. It names the action, the resource, and the expected output fields with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read-only poll with high schema coverage and no output schema, the description covers purpose and the main return fields adequately. It falls slightly short by not giving exact output field names for the pages fetched or the possible status values, but it is still sufficient for an agent to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and jobId is already documented as 'The id returned by crawl', which orients the agent well. The description adds no additional parameter meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Poll a crawl job', and it names the key monitored fields (status, pagesCrawled, pagesQueued, pages fetched). It is clear, but it does not explicitly differentiate from sibling tools such as collector_run_status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The verb 'Poll' implies the tool is used after starting a crawl and to monitor progress, but the description never explicitly states when to use it instead of alternatives, nor does it mention any exclusions or related tools like crawl or collector_run_status.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_collectorsAInspect

List the 31 ready-made Collectors: versioned scrapers you run with a semantic input (keyword + location, ASIN, domain, handle…) instead of URLs — web_search, keyword_ideas, amazon_search, amazon_product, ebay_search, aliexpress_search, google_maps_places, place_reviews, google_jobs, linkedin_jobs, indeed_jobs, google_news, google_shopping, product_offers, hotels, youtube_search, youtube_channel, reddit_posts, instagram_profile, tiktok_profile, tiktok_video, zillow_search, app_store_apps, google_play_apps, linkedin_profile, linkedin_company, company_profile, site_contacts, local_business_leads, search_images, search_videos. Each entry carries its input and output schema, examples, health and your price per delivered row. Free to call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since there are no annotations, the description carries the full burden. It discloses that the tool is free ('Free to call'), and it details what each entry contains (input/output schema, examples, health, price). It does not mention rate limits, caching, or that it's a read-only operation, but for a listing tool these are minor. The description goes beyond a simple 'list' by explaining the structure of the response.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is somewhat long because it enumerates all 31 Collectors, but that list is arguably useful for an agent to know the available options upfront. The first sentence states the purpose, followed by a definition and the list. Each sentence adds value. It's not overly verbose given the need to identify the Collectors.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless listing tool with no output schema, the description is complete. It tells the agent what the response will contain (schema, examples, health, price) and that it's free. There are no missing pieces an agent needs to know before calling it, given its simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes no parameters, and the input schema is empty. The description doesn't need to explain parameter meaning. The baseline for zero parameters is 4, and the description adds context about what the tool returns, which is beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the exact purpose: listing 31 ready-made Collectors. It clearly differentiates them from the sibling tools (run_collector, collector_run_status) by describing what a Collector is and that this tool only lists them, not runs them. The verb 'List' and the resource 'Collectors' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While it's evident that this tool is meant to be called before running a Collector (given the siblings run_collector and collector_run_status), the description does not explicitly state 'use this to see available Collectors before running one' or contrast it with alternatives. It only implies usage by listing capabilities. No explicit guidance on when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mapAInspect

Discover every URL of a site in one call: robots.txt sitemaps + /sitemap.xml (including nested indexes) + same-domain homepage links, de-duplicated. Returns the list plus a site-wide total and a per-section summary. Always cheaper than crawling to find out how big a site is. $0.0005.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesSeed URL.
limitNoMax URLs returned, default 100, cap 5000. Discovery always scans the whole site.
searchNoOnly return URLs containing this substring.
countryNoISO country code for the proxy exit.
group_byNoSet to "path" for the path tree with counts instead of the URL list.
includeSubdomainsNoInclude URLs on subdomains of the seed host.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden and discloses the data sources, deduplication, output contents (list, total, per-section summary), and pricing. It does not mention error behavior or rate limits, but for a read-only discovery call these are minor gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences front-load the core behavior, then return shape, cost comparison, and price. No filler or redundant restatement of the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema or annotations, the description covers sources, deduplication behavior, return contents, pricing, and the main use case, while the schema covers params. This is enough for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all six parameters are already documented in the input schema. The description adds output context but no new parameter-level semantics, which meets the high-coverage baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening 'Discover every URL of a site in one call' names the action and resource, and the following colon specifies the exact discovery sources (robots.txt sitemaps, /sitemap.xml, nested indexes, same-domain homepage links). This clearly distinguishes map from siblings like crawl and search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Always cheaper than crawling to find out how big a site is' gives a concrete use case and names crawl as the alternative. It does not explicitly address when to prefer search or seo_audit, but the context makes the primary selection criterion clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_collectorAInspect

Run one Collector with its semantic input. Short runs return the rows directly; long runs return a run_id to poll with collector_run_status. Billed per delivered row — zero rows costs zero.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesCollector slug, e.g. google_maps_places. Call list_collectors first if unsure.
asyncNoForce background processing and return a run_id immediately.
inputYesThe collector's input, matching its published input_schema.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden. It discloses billing per delivered row (zero rows cost zero), and the sync/async behavior with run_id. It doesn't mention error handling or rate limits, but the key behaviors are covered. No contradiction with annotations since none exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earns its place: the core action, the sync/async distinction, and the billing model. Front-loaded with the key action and then important behavior. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and 100% param schema coverage, the description covers the essential behaviors: sync vs async, billing, and how to poll. It could mention error conditions or rate limits, but for a run tool it's reasonably complete. The sibling list_collectors is hinted for slug discovery.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema documents the parameters well. The description adds meaning for the 'async' parameter (force background processing), and explains the input is semantic and matches the collector's published input_schema. It provides value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states clearly it runs a Collector with its semantic input, and distinguishes the sync vs async behavior. It also names the sibling collector_run_status for polling, which helps differentiate from other tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives context on when to use synchronous vs asynchronous (short vs long runs), and implicitly suggests using list_collectors first if unsure about the slug. It doesn't explicitly say when not to use this tool or mention alternatives beyond the polling tool, so a slight gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scrapeAInspect

Fetch one URL and return it as Markdown (default), HTML or plain text, through residential proxies with real-browser TLS fingerprints. Set render:true only when the content is genuinely absent from the raw HTML. Use extract for CSS-selector JSON, or ai_prompt to have the page turned into structured data by an LLM. $0.0002 per page; a failed fetch is free.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe page to fetch (http/https).
modeNosummary returns metadata only, no page content.
formatNoOutput format.markdown
renderNoRun a stealth headless browser (JS execution). Slower and pricier.
countryNoISO 3166-1 alpha-2 code for the proxy exit, e.g. us, de, jp.
extractNoCSS extraction schema, e.g. {"price": ".price", "title": "h1"}. Returns payload.data.
ai_promptNoNatural-language extraction instruction; result lands in payload.ai.data.
contentModeNoHow much of the page to keep.smart
waitForSelectorNoRender mode: wait until this CSS selector appears.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses that fetches go through residential proxies with real-browser TLS fingerprints (implying anti-blocking), the cost per page ($0.0002), and that failed fetches are free. This goes beyond obvious behavior, though it doesn't mention rate limits, auth, or detailed error handling. Still, it provides meaningful operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero wasted words. The main purpose is front-loaded; then usage guidance, alternatives, and cost are presented logically. The pricing note is a useful addition without bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 9 parameters and no output schema, the description covers the critical decision points (render, extract, ai_prompt, cost) enough for an agent to call correctly. Some parameters (country, contentMode, waitForSelector) are not elaborated, but they are well-described in the schema with 100% coverage. The description adds sufficient contextual guidance for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining when to set render (only if absent from raw HTML), and how extract and ai_prompt are used for structured data. It also clarifies that summary mode returns metadata only via schema description. This enriches the schema's parameter meanings.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool fetches a single URL and returns it as Markdown, HTML, or plain text. This is a specific verb+resource, and it implicitly distinguishes from siblings like crawl (which implies multiple pages) by saying 'one URL'. The mention of extract and ai_prompt for structured data further clarifies the tool's scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides concrete guidance for when to use render (only if content absent from raw HTML) and when to use extract/ai_prompt for structured data. However, it does not explicitly contrast with sibling tools (e.g., crawl for multi-page) or state when not to use this tool. The guidance is clear for parameter usage but not tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

seo_auditAInspect

Fetch a URL twice — as a no-JS bot and fully rendered — and return both views, the diff between them (contentOnlyInJs, canonicalMissingNoJs, titleChanged…) and the bot-facing meta (robots, OG, JSON-LD types). The fastest way to answer 'is this page indexable without JavaScript'. $0.0012.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesThe page to audit.
countryNoISO country code for the proxy exit.
no_renderNoSkip the rendered pass — cheaper, bot view only.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It describes the dual fetch behavior, the returned diff types, the meta extraction, and even the cost per call. It does not explicitly state whether the operation is read-only, but the language (fetch, return) implies a safe audit. The level of detail about internal mechanics is strong for a tool of this type.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact—two sentences—and every element earns its place: the action, the outputs, example diff types, the use case, and the cost. It front-loads the core behavior and then answers 'why use this' with a clear value proposition. There is no filler or redundant phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description does a good job of indicating what will be returned (both views, diff items, meta types). It names specific diff categories, making the output shape imaginable. However, it does not detail the structure of the returned views/meta or explain each diff type, which leaves some ambiguity for an agent attempting precise invocation. Still, for a tool with three simple parameters and a clear output sketch, it is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all three parameters (url, country, no_render) already have descriptions. The tool description adds minimal parameter-level detail beyond the schema—it mentions the rendered vs no-JS contrast, which implicitly relates to no_render, but does not elaborate on country or additional constraints. Per the rubric, baseline 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (fetch), the resource (URL twice, bot vs rendered), and the resulting outputs (views, diff, meta). It also names concrete diff types, making the tool's purpose unmistakable. This clearly distinguishes it from siblings like scrape or crawl, which focus on general data extraction rather than SEO indexability analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly frames the tool as 'The fastest way to answer is this page indexable without JavaScript', giving a clear target scenario. However, it does not explicitly state when not to use this tool or mention alternative siblings, so it stops short of full exclusionary guidance. The context is clear enough for an agent to select it over other tools in many situations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv1.0.0
    • First observedcollector_run_status
    • First observedcrawl
    • First observedcrawl_status
    • First observedlist_collectors
    • First observedmap
    • First observedrun_collector
    • First observedscrape
    • First observedsearch
    • First observedseo_audit

TDQS

A4.1/5.0
Disambiguation5/5

Each tool addresses a distinct operation: single-URL fetch (scrape), web search (search), site discovery (map), large-scale crawl (crawl + crawl_status), SEO analysis (seo_audit), and collector management (list_collectors, run_collector, collector_run_status). There is no overlap in purpose, and descriptions clearly reinforce their boundaries.

Naming Consistency4/5

Tool names use a consistent lowercase underscore style: single verbs for actions (scrape, search, map, crawl) and compound nouns for status/management (crawl_status, seo_audit, list_collectors, run_collector). Minor variations like seo_audit (acronym) and collector_run_status vs crawl_status slightly break the pattern but remain readable and predictable.

Tool Count5/5

Nine tools is well within the ideal range and perfectly scoped for the platform's purpose: individual fetches, search, discovery, crawling, SEO audit, and pre-built collectors. Each tool earns its place with no redundancy or bloat.

Completeness4/5

The set covers the full workflow from URL discovery (map) to fetching (scrape/crawl), analysis (seo_audit), and structured extraction (collectors). The only minor gap is lack of job cancellation or list-all-jobs tools, but agents can work around this by relying on status polling.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to access real-time web data through search, markdown scraping, and browser automation while bypassing anti-bot protections. It provides tools for web research, e-commerce monitoring, and data extraction from across the globe.
    4
    8,754
    5
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to perform web searches, extract webpage content, and conduct end-to-end search-and-extract operations using multiple search providers and content extraction methods.
    -
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to perform web searches, fetch and extract page content, and crawl sites with caching, rate limiting, and robots.txt compliance, all without needing API keys.
    11
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/quantumproxies/quanticdata-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server