# webscraping-ai/webscraping-ai-mcp-server [Health: Active]

**Category:** 🔎 Search & Data Extraction  
**Repository:** https://github.com/webscraping-ai/webscraping-ai-mcp-server  
**GitHub Stars:** 45  
**npm Downloads (last month):** 1085  
**Views:** 5  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/webscraping-ai-webscraping-ai-mcp-server

## Description
Interact with WebScraping.ai for web data extraction and scraping.

## Tools
Capabilities this server exposes over MCP:

- **engine** — `google`, the default.
- **gl** — two-letter country code. Defaults to the country of `location`, `lat`/`lon` or `uule`, otherwise `us`.
- **hl** — two-letter language code, `en` by default.
- **page** — integer 1–100, `1` by default; the API rejects values above 100 with a 400.
- **pages** — integer, number of consecutive pages to fetch starting at `page`, 1–5 (`1` by default). Duplicates across pages are removed, `position` counts through the combined list (1..N) and each result gets a `page` field.
- **location** — where the search runs from: a canonical name (`Austin,Texas,United States`), a looser name (`Austin, TX`, or a local name of a large city such as `Москва`), or an `id` from `webscraping_ai_serp_locations`. Sent as-is. An unknown name returns a 400 that is not charged.
- **uule** — Google-encoded location (`w+CAIQICI…` or `a+…`).
- **radius** — integer, meters around `location` or `lat`/`lon`, 1–1000.
- **country** — Two-letter country code of the proxy used to fetch the page, `us` by default.
- **transcript_language** — With `transcript: true`. Caption language to pick, e.g. `en` or `de`. Without it, English is preferred, then the first available track. If the video has no captions in that language, `data.transcript` is null.
- **params** — object of extra query parameters (string, number or boolean values) sent as-is, for site-specific parameters added after this release. Keys must match `[A-Za-z0-9_-]{1,64}` and must not be `url`, `api_key`, `key`, one of the parameters above, or a `from_*` marker; any of those is rejected with an e…

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "webscraping-ai-mcp-server": {
    "command": "npx",
    "args": ["-y","webscraping-ai-mcp"],
    "env": {
      "WEBSCRAPING_AI_API_KEY": "",
      "WEBSCRAPING_AI_CONCURRENCY_LIMIT": "",
      "WEBSCRAPING_AI_DEFAULT_PROXY_TYPE": "",
      "WEBSCRAPING_AI_DEFAULT_JS_RENDERING": "",
      "WEBSCRAPING_AI_DEFAULT_TIMEOUT": "",
      "WEBSCRAPING_AI_DEFAULT_JS_TIMEOUT": "",
      "WEBSCRAPING_AI_ENABLE_CONTENT_SANDBOXING": ""
    }
  }
}
```

**Requires environment variables:** `WEBSCRAPING_AI_API_KEY`, `WEBSCRAPING_AI_CONCURRENCY_LIMIT`, `WEBSCRAPING_AI_DEFAULT_PROXY_TYPE`, `WEBSCRAPING_AI_DEFAULT_JS_RENDERING`, `WEBSCRAPING_AI_DEFAULT_TIMEOUT`, `WEBSCRAPING_AI_DEFAULT_JS_TIMEOUT`, `WEBSCRAPING_AI_ENABLE_CONTENT_SANDBOXING` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What webscraping-ai/webscraping-ai-mcp-server does

WebScraping.AI exposes web data extraction functions through MCP. The server connects an MCP client to the WebScraping.AI API, which can retrieve public pages with headless Chrome or Chromium, apply proxy settings, and process page content.

Available operations include asking a question about a page, extracting named fields into structured data, retrieving rendered HTML, obtaining visible text, and selecting one or multiple elements with CSS selectors. It also provides parsed Google search results, structured JSON extraction from a page URL, and account usage monitoring. Content sandboxing can wrap retrieved pages and search results in boundaries that identify them as external content.

## How it works

The local package runs as an MCP stdio process. An MCP client starts the process and supplies the `WEBSCRAPING_AI_API_KEY` environment variable. Requests are sent to WebScraping.AI, where JavaScript rendering, proxy selection, timeouts, device emulation, and custom page scripts can be applied according to the selected operation and configuration.

Google search requests use the `google` engine by default. They can specify language, country, location, Google-encoded location, proxy country, radius, page number, and a page count from one to five. When multiple pages are fetched, duplicate results are removed and each result includes its source page.

## Setup and configuration

Run the package directly with npx:

```bash
env WEBSCRAPING_AI_API_KEY=your_api_key npx -y webscraping-ai-mcp
```

For a local checkout, clone the repository, run `npm install`, and start it with `npm start`. A WebScraping.AI API key is required for every operation; the service offers a free trial without a credit card.

Optional environment variables control request behavior:

- `WEBSCRAPING_AI_CONCURRENCY_LIMIT` sets the maximum number of simultaneous requests and defaults to 5.
- `WEBSCRAPING_AI_DEFAULT_PROXY_TYPE` selects `datacenter`, `residential`, or `stealth` proxies; the default is `residential`.
- `WEBSCRAPING_AI_DEFAULT_JS_RENDERING` controls JavaScript rendering, enabled by default.
- `WEBSCRAPING_AI_DEFAULT_TIMEOUT` sets page retrieval time in milliseconds, with a maximum of 30,000.
- `WEBSCRAPING_AI_DEFAULT_JS_TIMEOUT` sets the JavaScript rendering limit.
- `WEBSCRAPING_AI_ENABLE_CONTENT_SANDBOXING` enables security boundaries around scraped content and search results.

Cursor can load the server from a project or global `mcp.json` file, and Claude Desktop can start it through `claude_desktop_config.json`. Cursor configuration requires version 0.45.6 or newer.

## Tools and capabilities

The extraction tools cover several output styles:

- Ask natural-language questions about page content.
- Map extraction instructions to fields such as product title, price, and description.
- Return full rendered HTML or visible page text.
- Extract one CSS-selected element or multiple selector matches.
- Run Google searches with location-aware results and up to five pages per call.
- Use country-specific proxies, JavaScript rendering, custom JavaScript, and desktop, mobile, or tablet emulation.

Search requests accept additional site-specific query parameters through `params`. Keys must use letters, numbers, underscores, or hyphens and cannot override reserved request fields such as `url` or `api_key`.

_Full upstream README: https://allmcps.com/mcp/webscraping-ai-webscraping-ai-mcp-server/readme_

