WebScraping-AI MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WEBSCRAPING_AI_API_KEY | Yes | Your WebScraping.AI API key, required for all operations | |
| WEBSCRAPING_AI_DEFAULT_TIMEOUT | No | Maximum web page retrieval time in ms (max: 30000) | 15000 |
| WEBSCRAPING_AI_CONCURRENCY_LIMIT | No | Maximum number of concurrent requests | 5 |
| WEBSCRAPING_AI_DEFAULT_JS_TIMEOUT | No | Maximum JavaScript rendering time in ms | 2000 |
| WEBSCRAPING_AI_DEFAULT_PROXY_TYPE | No | Type of proxy to use (datacenter or residential) | residential |
| WEBSCRAPING_AI_DEFAULT_JS_RENDERING | No | Enable/disable JavaScript rendering | true |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| webscraping_ai_questionA | 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 |
| webscraping_ai_fieldsA | Scrape a web page and have an LLM extract named values from it, using only the page's own content. Returns JSON of the form {"result": {: }} with exactly the requested keys; each value is a string, or null when the page doesn't contain it. Values are never nested objects or arrays, so request a list as a single delimited string. The LLM step is billed on top of the scrape's normal cost. API docs: https://webscraping.ai/docs#ai-fields |
| webscraping_ai_htmlC | Get the full rendered HTML of a web page (with JavaScript execution by default). API docs: https://webscraping.ai/docs#html |
| webscraping_ai_textA | Get a web page's main content as Markdown, with boilerplate stripped and structure (headings, lists, tables, links) kept. Best for reading a page or passing it to an LLM. API docs: https://webscraping.ai/docs#text |
| webscraping_ai_selectedB | Get the HTML of the first page element matching a CSS selector. API docs: https://webscraping.ai/docs#selected |
| webscraping_ai_selected_multipleB | Get the HTML of all page elements matching a list of CSS selectors. API docs: https://webscraping.ai/docs#selected |
| webscraping_ai_serpA | Search Google and get parsed results as JSON: organic_results (position, title, link, domain, displayed_link, snippet, date), related_searches, search_information (including spelling corrections) and pagination. 10 results per page; position restarts at 1 on every page. Every search runs from one fixed location (location, lat and lon, or uule; otherwise the capital of the gl country), so repeats and later pages stay consistent. pages fetches up to 5 consecutive pages in one call as one de-duplicated list. Priced per results page returned (see https://webscraping.ai/docs#serp); failed searches are not charged. Use it to find pages, then read them with webscraping_ai_text or the other tools. |
| webscraping_ai_serp_locationsA | Look up names for the location parameter of webscraping_ai_serp. Returns up to 10 matching locations as JSON, most populous first, each with id, name, canonical_name (pass it as location), country_code, target_type (e.g. City, State, Country), reach (approximate population) and gps ([longitude, latitude]). Matches English names, e.g. petersburg. Free. API docs: https://webscraping.ai/docs#serp-locations |
| webscraping_ai_dataA | Get structured JSON for any public web page from its normal URL. Returns {request_parameters: {url, provider, type}, parse_status, data}: provider is the site and type the kind of page, parse_status is ok, parse_failed or not_found, and data holds snake_case fields whose names stay the same for every page of that kind on that site (null for values the page doesn't expose; data itself can be null when parsing fails). Some sites have dedicated parsers; for others, the first request for a new kind of page also learns its structure and can take up to about 45 seconds. When learning takes longer, it returns an error result with status_code 503 and body.error_code "structure_processing" (not charged): retry after body.retry_after seconds. A 422 "structure_unavailable" means no structured data was found (not charged); use webscraping_ai_fields to name the values you want instead. On those sites, redirects to another site aren't followed: they return a 500 with body.error_code "target_redirect" naming the target (not charged). Priced per request (see https://webscraping.ai/docs#data), including parse_failed and not_found results; failed fetches are not charged. |
| webscraping_ai_accountA | Get your WebScraping.AI account status: email, remaining API credits, and concurrency. API docs: https://webscraping.ai/docs#account |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Each tool has a clearly distinct operation and output: HTML vs. Markdown vs. selected-element HTML vs. structured data vs. AI Q&A vs. AI field extraction. The descriptions explicitly disambiguate the closest overlaps, especially question/fields/text and selected/selected_multiple.
All tools consistently use snake_case with the same webscraping_ai_ prefix. The names are predictable resource/action labels, and selected_multiple clearly extends selected.
Ten tools is well-scoped for a web scraping API surface. Each tool maps to a distinct capability, with no obvious filler tools.
The surface covers account status, multiple page-fetching formats, CSS selection, AI extraction, SERP search and location lookup, and structured data parsing. A screenshot/PDF or generic custom-request tool is not exposed, but core scraping workflows are well covered.