> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scrapeunblocker.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server

> Connect ScrapeUnblocker to Claude, ChatGPT and any other MCP client so the assistant can fetch any web page through your own API key.

The official **MCP server** lets [Claude](https://claude.ai) (Desktop, Code, and the web app), [ChatGPT](/sdks/chatgpt), and any other [Model Context Protocol](https://modelcontextprotocol.io) client fetch **any web page's HTML** - or AI-parsed JSON, or Google results - through ScrapeUnblocker, bypassing anti-bot protection (Cloudflare, DataDome, PerimeterX, Akamai, Shape).

You bring your **own** API key. Nothing is proxied through a shared account.

```bash theme={null}
npx -y scrapeunblocker-mcp
```

Requires Node.js 18+. Published on npm as [`scrapeunblocker-mcp`](https://www.npmjs.com/package/scrapeunblocker-mcp).

<Note>
  Using **Claude Code**? The [Claude Code plugin](/sdks/claude-code) installs this
  same server with two commands, prompts for your API key and keeps it in your OS
  keychain, and adds a `/scrape-url` command plus reference skills.
</Note>

## Tools

| Tool            | What it does                                                                                    |
| --------------- | ----------------------------------------------------------------------------------------------- |
| `fetch_html`    | Fetch the fully rendered HTML of any URL.                                                       |
| `fetch_parsed`  | Fetch a page and return AI-parsed structured JSON.                                              |
| `google_search` | Run a Google search and return organic results as JSON.                                         |
| `list_elements` | List a page's interactive elements (buttons, inputs, links, forms) with ready-to-use selectors. |

## Get an API key

Grab your key from the [dashboard](https://app.scrapeunblocker.com). The server reads it from the `SCRAPEUNBLOCKER_KEY` environment variable, so each user runs it with their own key.

## Install

<Tabs>
  <Tab title="Claude Code">
    ```bash theme={null}
    claude mcp add scrapeunblocker \
      --env SCRAPEUNBLOCKER_KEY=YOUR_API_KEY \
      -- npx -y scrapeunblocker-mcp
    ```
  </Tab>

  <Tab title="Claude Desktop">
    Add this to your `claude_desktop_config.json`
    (Settings → Developer → Edit Config), then restart Claude Desktop:

    ```json theme={null}
    {
      "mcpServers": {
        "scrapeunblocker": {
          "command": "npx",
          "args": ["-y", "scrapeunblocker-mcp"],
          "env": {
            "SCRAPEUNBLOCKER_KEY": "YOUR_API_KEY"
          }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Any MCP client">
    The server speaks MCP over stdio. Start it with your key in the environment:

    ```bash theme={null}
    SCRAPEUNBLOCKER_KEY=YOUR_API_KEY npx -y scrapeunblocker-mcp
    ```
  </Tab>
</Tabs>

Once connected, the four tools appear automatically and the assistant calls them when it needs to reach a page that would otherwise be blocked.

## Hosted connector (claude.ai web & mobile)

Don't want to run anything locally? Use the hosted server. It works across
**claude.ai** (web and mobile), Claude Desktop, and Claude Code - no install.

There are two ways to connect: **sign in with OAuth** (no key to copy) or put
**your API key in the URL**.

### Sign in with OAuth (recommended on claude.ai)

Connect with your ScrapeUnblocker login - no key to paste, and it bills your own
account.

1. On **claude.ai**: Customize → Connectors → **+** → **Add custom connector**.
2. **URL:** `https://mcp.scrapeunblocker.com/mcp` (no `?key=`).
3. Open **Advanced settings** and set **OAuth Client ID** to:
   ```
   5BM5Wk2dE4ABkDITmuKfemPLnn3QQ8jd
   ```
   Leave **OAuth Client Secret** empty.
4. **Add**, then sign in with your ScrapeUnblocker account and **Authorize**.

The tools then appear everywhere you use Claude. You need a ScrapeUnblocker
account for the email you sign in with - [create a free one](https://app.scrapeunblocker.com)
first if you don't have it.

### Or use your API key in the URL

Simplest for Claude Code and other MCP clients - your key goes in the URL:

```
https://mcp.scrapeunblocker.com/mcp?key=YOUR_API_KEY
```

**claude.ai:** Customize → Connectors → **+** → **Add custom connector**, paste the URL above
(with your key), Save.

**Claude Code:**

```bash theme={null}
claude mcp add --transport http scrapeunblocker \
  "https://mcp.scrapeunblocker.com/mcp?key=YOUR_API_KEY"
```

The key can also be sent as an `Authorization: Bearer YOUR_API_KEY` header instead of
the query parameter.

## ChatGPT

ChatGPT connects to the same hosted server as a custom connector, with your API key
in the URL. Set it up in **ChatGPT on the web** ([chatgpt.com](https://chatgpt.com) -
not the desktop app) under **Settings → Plugins → Developer mode**.

See the full, screenshot-by-screenshot [ChatGPT setup guide](/sdks/chatgpt).

## Example prompts

* "This page keeps blocking me: `https://example-shop.com/product/123`. Use `fetch_html` to get it and list the price."
* "Fetch the parsed data for `https://www.amazon.com/dp/B08N5WRWNW` and summarise the product."
* "Search Google for `best running shoes 2026` and give me the top 5 links, then fetch the first one."

## Configuration

| Environment variable       | Required | Description                                                                |
| -------------------------- | -------- | -------------------------------------------------------------------------- |
| `SCRAPEUNBLOCKER_KEY`      | Yes      | Your API key. `SCRAPEUNBLOCKER_API_KEY` is also accepted.                  |
| `SCRAPEUNBLOCKER_BASE_URL` | No       | Override the API base URL (defaults to `https://api.scrapeunblocker.com`). |

<Note>
  The MCP server is a thin wrapper over the [Node.js SDK](/sdks/nodejs) and the same [getPageSource](/guides/page-source) endpoint. Anything the tools return is exactly what the API returns - see the [guides](/guides/page-source) for response shapes.
</Note>

## Source

* npm: [`scrapeunblocker-mcp`](https://www.npmjs.com/package/scrapeunblocker-mcp)
* GitHub: [ScrapeUnblocker/scrapeunblocker-mcp](https://github.com/ScrapeUnblocker/scrapeunblocker-mcp)
