Skip to main content
Glama
webscraping-ai

WebScraping-AI MCP Server

Official

Ask a Question About a Page

webscraping_ai_question
Read-only

Scrape a web page and get an LLM to answer a question using only that page's content. Returns plain text; unavailable answers error out and refund credits.

Instructions

Scrape a web page and have an LLM answer a question about it, using only the page's own content. Returns the answer as plain text. If the page lacks the information or the question can't be answered from it, the tool returns an error result whose body.error starts with "Invalid page or question", and the credits are refunded. The LLM step is billed on top of the scrape's normal cost. Suited to a single fact or short answer; use webscraping_ai_fields for several named values at once, or webscraping_ai_text to read or reason over the whole page yourself. API docs: https://webscraping.ai/docs#ai-question

Input Schema

NameRequiredDescriptionDefault
jsNoExecute on-page JavaScript using a headless browser (false by default).
urlYesURL of the target page.
proxyNoType of proxy: datacenter, residential, or stealth (datacenter by default). Residential and stealth requests cost more than datacenter — see the pricing page.datacenter
deviceNoType of device emulation.
countryNoCountry of the proxy to use (US by default).
timeoutNoMaximum web page retrieval time in ms (20000 by default, maximum is 30000).
questionYesQuestion or instructions to ask the LLM model about the target page.
wait_forNoCSS selector to wait for before returning the page content.
js_scriptNoCustom JavaScript code to execute on the target page.
js_timeoutNoMaximum JavaScript rendering time in ms (3000 by default).
custom_proxyNoYour own proxy URL in "http://user:password@host:port" format.
error_on_404NoReturn error on 404 HTTP status on the target page (false by default).
error_on_redirectNoReturn error on redirect on the target page (false by default).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.4.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • changedInput schema / properties / proxy / description
      Previous value: -"Type of proxy: datacenter, residential, or stealth (datacenter by default). Use residential if the site restricts datacenter traffic, or stealth for the most heavily protected sites with advanced anti-bot detection. Residential and stealth requests cost more than datacenter — see the pricing page."New value: +"Type of proxy: datacenter, residential, or stealth (datacenter by default). Residential and stealth requests cost more than datacenter — see the pricing page."
  2. Changed1 schema field changedv1.2.2
    • addedInput schema / additionalProperties
      Added value: +false
  3. Changed1 schema field changedv1.0.5
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "us",
      -  "gb",
      -  "de",
      -  "it",
      -  "fr",
      -  "ca",
      -  "es",
      -  "ru",
      -  "jp",
      -  "kr",
      -  "in"
      -]New value: +[
      +  "us",
      +  "gb",
      +  "de",
      +  "it",
      +  "fr",
      +  "ca",
      +  "es",
      +  "ru",
      +  "jp",
      +  "kr",
      +  "in",
      +  "hk",
      +  "tr"
      +]
  4. Changed2 schema fields changedv1.0.4
    • changedInput schema / properties / proxy / description
      Previous value: -"Type of proxy, datacenter or residential (datacenter by default)."New value: +"Type of proxy: datacenter, residential, or stealth (datacenter by default). Use residential if the site restricts datacenter traffic, or stealth for the most heavily protected sites with advanced anti-bot detection. Residential and stealth requests cost more than datacenter — see the pricing page."
    • changedInput schema / properties / proxy / enum
      Previous value: -[
      -  "datacenter",
      -  "residential"
      -]New value: +[
      +  "datacenter",
      +  "residential",
      +  "stealth"
      +]
  5. Addedv1.0.2

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint, destructiveHint=false) and open-world access, so the bar is lower, yet the description adds non-obvious operational facts: the LLM step is billed on top of the scrape cost, failed answers return an error whose body.error starts with 'Invalid page or question', and credits are refunded in that case. That is genuinely useful error-handling context an agent cannot get from the schema. It stops short of covering pagination/latency or how long the LLM step takes, so it is strong rather than complete.

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 sentences, front-loaded with purpose, then failure/billing semantics, then sibling routing, then a docs URL. Every sentence carries distinct information and there is no restatement of the title or name.

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 13-parameter, annotation-backed tool with no output schema, the description supplies the return format (plain text), the failure shape (error with a specific body.error prefix), the billing model, and routing to alternatives. Nothing an agent needs to invoke it correctly is missing.

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 13 parameters including the required url and question are already documented in structured fields; the baseline is 3. The description reinforces the question parameter's intent ('using only the page's own content') but adds no syntax, format, or example for any parameter 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 opening sentence names a concrete verb chain (scrape a page, have an LLM answer a question about it) and constrains it to the page's own content, which is a real semantic distinction. It is immediately distinguishable from siblings like webscraping_ai_text or webscraping_ai_html, which are named explicitly.

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?

It states both the fit ('suited to a single fact or short answer') and the alternatives with the condition that selects each: webscraping_ai_fields for several named values, webscraping_ai_text for reading/reasoning over the whole page. That is an explicit when/when-not/alternative mapping.

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