Brightdata MCP vs MCP SearXNG
A side-by-side look at the Brightdata MCP and MCP SearXNG MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Brightdata MCP for search & data extraction work as a local process; choose MCP SearXNG for search & data extraction as a local process. You can also run both side by side in one mcpServers block.
Which MCP server should you choose?
Choose Brightdata MCP when
- You need dedicated capabilities in the Search & Data Extraction domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: API key required.
- You have the keys it needs:
API_TOKEN. - You want tools like
search_engine, scrape_as_markdown, search_engine_batch.
Choose MCP SearXNG when
- You need dedicated capabilities in the Search & Data Extraction domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: No auth required.
- You have the keys it needs:
SEARXNG_URL. - You want tools like
searxng_web_search, searxng_search_suggestions, searxng_instance_info.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Search & Data Extraction | Search & Data Extraction |
| Quality signal | 73/100 · Great | 67/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | API key required | No auth required |
| Pricing | Freemium | Free |
| Required env vars | API_TOKEN | SEARXNG_URL |
| Verified owner | Community listing | Community listing |
| GitHub stars | 2,684 | 1,320 |
| Directory activity | 4 views 0 installs 0 upvotes | 4 views 0 installs 0 upvotes |
| Tools | 11 | 4 |
| Full listing | View Brightdata MCP | View MCP SearXNG |
Tools & capabilities
Brightdata MCP tools 11
search_engineScrape search results from Google, Bing or Yandex. Returns SERP results in JSON or Markdown (URL, title, description),Ideal forgathering current information, news, and detailed search results.scrape_as_markdownScrape a single webpage URL with advanced options for content extraction and get back the results in MarkDown language. This tool can unlock any webpage even if it uses bot detection or CAPTCHA.search_engine_batchRun multiple search queries simultaneously. Returns JSON for Google, Markdown for Bing/Yandex.scrape_batchScrape multiple webpages URLs with advanced options for content extraction and get back the results in MarkDown language. This tool can unlock any webpage even if it uses bot detection or CAPTCHA.discoverSearch the web and rank results by AI-driven relevance. Returns scored results with title, description, and URL. Supports intent-based ranking, geo-targeting, date filtering, and keyword filtering.search_scrapersFind a Bright Data pre-built scraper (Web Scraper API, 1,200+ sites) for a site or data type, e.g. "amazon reviews" or "linkedin.com". Returns dataset_id, name, domain and collection_methods. Next: call get_scraper_details with a dataset_id and one method.get_scraper_detailsShow the scraper description, input fields, example input and main output fields for one method. Call before run_scraper and build the input from sample_input or input_fields. Records may contain more fields than output_fields lists.run_scraperRun a scraper method. input is a list of objects shaped like sample_input from get_scraper_details, one per URL or query. collect_by_url returns one record per input; discover_by_* methods return up to limit_per_input records per input, and every record is billed. Waits up to 45 seconds; if still running it returns snapshot_id with status "running": then poll get_scraper_progress and call get_scraper_results when ready. Records with an "error" field explain failed inputs.get_scraper_progressStatus of a run: starting, running, ready, failed or canceled.get_scraper_resultsRecords of a finished run. Returns status "running" if not ready yet.refresh_scrapersReload the scraper list now instead of waiting for the daily refresh.
MCP SearXNG tools 4
searxng_web_searchSearches the web using SearXNG and returns a list of results, each with a title, URL, and content snippet. CRITICAL: The required parameter name is exactly `query` (not `prompt`, `q`, or any other name). Calls an external SearXNG instance; availability depends on the `SEARXNG_URL` configuration. Use `pageno` to paginate results; combine `time_range` and `language` to narrow scope. When `engines` and `time_range` are both provided, every selected engine must explicitly advertise time-range support via SearXNG /config; otherwise the request is rejected before search. To read the full text of a result URL, follow up with `web_url_read`.searxng_search_suggestionsReturns autocomplete suggestions from the configured SearXNG instance. Use this to refine vague or partial queries before searching.searxng_instance_infoDiscovers capabilities from all reachable configured SearXNG instances via /config, including categories.common/available, engines.common/available, defaults, locales, and plugins.web_url_readFetches a URL and returns readable content as markdown. Content-type aware: HTML is converted to markdown; JSON is pretty-printed; plain text, YAML, TOML, and XML are returned as fenced readable text. PDF text extraction is supported with bounded input, output, page count, time, concurrency, and memory; OCR is not supported. Binary, media, archive, and octet-stream downloads other than PDFs are intentionally rejected instead of being returned as raw bytes. When the operator configures browser solvers, mcp-searxng attempts FlareSolverr first and then Byparr only after a busy or transient-unavailable acquisition; cache hits bypass acquisition and a final busy or unavailable provider uses one uncached direct-fetch fallback. Three modes: (1) Full content — omit filtering params; use `startChar`/`maxLength` to paginate large pages. (2) Section extraction — set `section` to return content under a specific heading. (3) Headings only — set `readHeadings: true` to list all headings (mutually exclusive with other filtering params). Returns an error string if the URL is unreachable or content cannot be extracted. Use after `searxng_web_search` to read the full content of individual result URLs.
Ready-to-paste client configs
Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
Brightdata MCP
{
"mcpServers": {
"brightdata-mcp": {
"command": "npx",
"args": [
"@brightdata/mcp"
],
"env": {
"API_TOKEN": "YOUR_API_TOKEN_HERE"
}
}
}
}
MCP SearXNG
{
"mcpServers": {
"ihor-sokoliuk-mcp-searxng": {
"command": "npx",
"args": [
"-y",
"mcp-searxng"
],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_URL_HERE"
}
}
}
}
Frequently asked questions
Brightdata MCP is categorized under Search & Data Extraction and uses a local stdio subprocess. MCP SearXNG belongs to Search & Data Extraction and uses a local stdio subprocess. Pick Brightdata MCP for search & data extraction work and MCP SearXNG for search & data extraction.
Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.
Brightdata MCP is listed as freemium — a free tier with paid plans. Auth: api key required. MCP SearXNG is listed as free. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.
Yes. MCP clients support multiple servers: add brightdata-mcp and ihor-sokoliuk-mcp-searxng as separate keys in the same mcpServers object, and your assistant will call tools from either one.
On AllMCPs, Brightdata MCP has a quality signal of 73/100 (Great) with 4 views, 0 installs and 2,684 GitHub stars. MCP SearXNG has 67/100 (Great) with 4 views, 0 installs and 1,320 GitHub stars.