MrScraper MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | HTTP bind address; the Docker image uses 0.0.0.0. | 127.0.0.1 |
| PORT | No | HTTP listen port. | 8000 |
| TRANSPORT | No | Selects stdio or http transport. | stdio |
| MRSCRAPER_OAUTH | No | Accepts OAuth 2.1 access tokens alongside API keys. | 1 |
| MRSCRAPER_API_KEY | No | Primary stdio credential. | |
| MRSCRAPER_API_TOKEN | No | Alternative stdio credential, also used by the Python SDK. | |
| MRSCRAPER_HTTP_AUTH | No | Enables HTTP bearer verification. | 1 |
| MRSCRAPER_API_BASE_URL | No | Platform endpoint override for development and testing. | |
| MRSCRAPER_OAUTH_ISSUER | No | Authorization server issuer. | https://api.app.mrscraper.com |
| MRSCRAPER_SYNC_BASE_URL | No | Web search endpoint override. | |
| MRSCRAPER_FETCH_BASE_URL | No | Scraper API endpoint override. | |
| MRSCRAPER_MCP_PUBLIC_URL | No | Public origin; <origin>/mcp is the required token audience. | https://mcp.mrscraper.com |
| MRSCRAPER_OAUTH_JWKS_URL | No | Key set used to verify access tokens. | <issuer>/.well-known/jwks.json |
| MRSCRAPER_ALLOWED_ORIGINS | No | Comma-separated browser origins allowed to call the HTTP server. | |
| MRSCRAPER_LOG_HTTP_PAYLOAD | No | Enables trusted-environment request-body diagnostics. | off |
| MRSCRAPER_LOG_HTTP_PAYLOAD_MAX | No | Maximum diagnostic payload length. | 8192 |
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
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| scraperAPIA | Retrieves a known page through MrScraper's Scraper API as HTML, Markdown, a screenshot, or a combination. Matches the Python SDK's scraper_api options. Omit browser_rendering for automatic browser fallback; screenshot=true always enables it. super enables real-device routing independently. home_page maps to warmStart. Proxy, cookie, target-header, retry, and timeout options control page loading. Returns status_code, data, and sanitized headers. |
| webSearchA | Searches Google from query text or a Google search URL passed as url. Matches the Python SDK's web_search options. Set raw=false and format=json for parsed results; the SDK-compatible default raw=true returns HTML. Google URLs supply q, gl, hl, and start; explicit region, language, and page override URL-derived values. render_js enables dynamic features; timeout controls the local request deadline. Returns status_code, data, and sanitized headers. |
| statusA | Returns the connected MrScraper account's identity (name, email, and verification state), subscription status, token limit, token usage, remaining tokens, and rate limit. Use it to check the account and remaining quota, for example before a large batch of requests. It takes no input and reports account usage, not the progress of a request. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| serp | Google search results with titles, links, and snippets. |
| status | MrScraper subscription plan and token usage. |
TDQS
Scored across 3 tools
The three tools target distinct operations: scraping a known page, searching Google, and checking account status. There is mild overlap in that both scraperAPI and webSearch return web content, and 'scraperAPI' doesn't obviously signal 'fetch a known page,' but descriptions clarify the boundary.
scraperAPI and webSearch follow a camelCase verb+noun style, while 'status' is a bare noun, a minor deviation. The API suffix on scraperAPI is slightly unconventional but the set is still predictable and readable.
Three tools is on the thin side but each earns its place for a focused scraping service (fetch, search, account check). It's slightly under-scoped rather than bloated.
Core workflows — retrieving a page, running a web search, and checking quota — are covered with rich SDK-compatible options. There's no batch/crawl or structured-extraction tool, but agents can work around this with the existing scrape operation.