brightdata-mcp-plus
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | HTTP transport bind host. | 127.0.0.1 |
| PORT | No | HTTP transport port. | 3000 |
| TOOLS | No | Limit enabled tools. Default is all. Legacy web_data_* names map to the new tools. | all |
| GROUPS | No | Limit enabled tool groups. Default is all. | all |
| API_TOKEN | No | Bright Data API token. Without it, the server runs in free mode. | |
| CACHE_TTL | No | Response cache TTL in seconds. 0 disables caching. | 300 |
| LOG_LEVEL | No | Log level: debug, info, warn, error, or silent. | info |
| RATE_LIMIT | No | Local rate limit for all tools, e.g. 100/1h. Default is off. | off |
| CHROME_PATH | No | Browser executable path if Chrome or Edge is not in its standard location. | |
| BASE_TIMEOUT | No | Bright Data API timeout in seconds. | 90 |
| BROWSER_ZONE | No | Bright Data Browser zone name. | mcp_browser |
| CONTENT_GATE | No | Enable the prompt-injection content gate. | on |
| LOCAL_RENDER | No | Render JavaScript apps in local Chrome or Edge before using Bright Data. Set to off to disable. | on |
| PRICE_PER_1K | No | USD per 1K results, used for estimates only. | 1.5 |
| MCP_TRANSPORT | No | Transport to use: stdio or http. | stdio |
| DIRECT_TIMEOUT | No | Timeout in seconds for direct fetches. | 15 |
| FETCH_STRATEGY | No | Page-fetch strategy: auto, direct, or brightdata. | auto |
| LOCAL_RENDER_ON | No | Direct-fetch results that trigger a local render. | needs_javascript,empty |
| MAX_CONCURRENCY | No | Concurrent upstream requests per session. | 5 |
| BASE_MAX_RETRIES | No | Number of Bright Data API retries. | 2 |
| DIRECT_MAX_BYTES | No | Maximum size in bytes for direct fetches. | 10000000 |
| HTTP_AUTH_SECRET | No | Secret sent by HTTP clients as x-mcp-auth when using a shared API_TOKEN on a non-loopback address. | |
| MAX_OUTPUT_CHARS | No | Default maximum page size for content tools. | 60000 |
| AUTO_CREATE_ZONES | No | Create missing Bright Data zones at startup. | true |
| CACHE_MAX_ENTRIES | No | Maximum number of response cache entries. | 200 |
| DIRECT_USER_AGENT | No | User-Agent used for direct fetches. | Chrome UA |
| LOCAL_RENDER_IDLE | No | Close the local browser after this many idle seconds. | 120 |
| WEB_UNLOCKER_ZONE | No | Bright Data Web Unlocker zone name. | mcp_unlocker |
| BUDGET_MAX_REQUESTS | No | Maximum billable units per session. 0 means off. | 0 |
| MAX_RECORDS_PER_RUN | No | Refuse scraper runs that could return more billed records. | 200 |
| BROWSER_CDP_ENDPOINT | No | Use your own Chromium via a CDP endpoint, e.g. ws://.../devtools/browser/... | |
| BROWSER_IDLE_TIMEOUT | No | Browser idle timeout in seconds. | 300 |
| CONTENT_GATE_TIMEOUT | No | Content gate timeout in seconds. | 120 |
| DIRECT_ALLOW_PRIVATE | No | Allow direct fetches and renders of localhost or LAN addresses. | false |
| LOCAL_RENDER_TIMEOUT | No | Per-render timeout in seconds for local rendering. | 25 |
| MAX_BROWSER_SESSIONS | No | Maximum number of concurrent browser sessions. | 3 |
| LOCAL_RENDER_CONCURRENCY | No | Number of parallel local renders. | 2 |
| BROWSER_FILTERED_SNAPSHOT | No | Always filter browser snapshots. | off |
| HTTP_SESSION_IDLE_TIMEOUT | No | HTTP session idle timeout in seconds. | 1800 |
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
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| scrape_as_markdownA | Fetch one web page and return it as compact Markdown. Pages are fetched directly for free when the site allows it, rendered in a local headless browser (also free) when they need JavaScript, and fetched through Bright Data Web Unlocker (billed) only when the site blocks; a note after the result says which. Long pages are paginated: when truncated, call again with the returned offset. Use format=raw for the unprocessed Markdown. |
| scrape_batchA | Fetch up to 10 pages in parallel and return [{url, ok, source, content | error}] as JSON. Each page is capped (max_chars_per_url); fetch a single page with scrape_as_markdown to read past the cap. Pages are fetched directly for free when the site allows it, rendered in a local headless browser (also free) when they need JavaScript, and fetched through Bright Data Web Unlocker (billed) only when the site blocks; source says which. |
| scrape_as_htmlA | Fetch one page and return its raw HTML, paginated with offset/max_chars. Prefer scrape_as_markdown unless you need markup, attributes or embedded JSON. Pages are fetched directly for free when the site allows it, rendered in a local headless browser (also free) when they need JavaScript, and fetched through Bright Data Web Unlocker (billed) only when the site blocks; a note after the result says which. |
| extractA | Fetch a page and turn it into JSON using your own model via MCP sampling (no extra Bright Data cost beyond the page fetch). Pass extraction_prompt and optionally a JSON Schema in schema to shape the output. |
| session_statsA | Usage this session: calls, errors, latency (p50/p95) and cache hits per tool, billable units, estimated cost, free direct fetches and savings, remaining budget, zone status and open browser sessions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| web_scraping_strategy | Decision guide for picking the right Bright Data tool (scraper -> unlocker -> browser). |
| diagnose_scraping_approach | Step-by-step check of which Bright Data product works for a site. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: single-page Markdown, single-page HTML, parallel batch fetching, structured extraction, and session statistics. The descriptions explicitly distinguish when to use HTML versus Markdown and when to use batch versus single-page calls. There is little risk of misselection.
Three scraping tools use a consistent scrape_* pattern, but extract and session_stats deviate from that prefix. All names are readable snake_case and descriptive, so the inconsistency is minor rather than confusing.
Five tools is well-scoped for a web scraping server. Each tool earns its place by covering a distinct access mode or operational need.
The surface covers single-page Markdown, raw HTML, batch fetching, structured extraction, and usage monitoring, which is strong lifecycle coverage for scraping. Minor gaps could include explicit cache management or site-status checks, but core workflows are covered.