Brightdata MCP vs Novada MCP

A side-by-side look at the Brightdata MCP and Novada MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Brightdata MCP logoBrightdata MCPSearch & Data Extraction · Local subprocess (stdio)Discover, extract, and interact with the web - one interface powering automated access across the public internet.69GreatAuth: api key requiredNovada MCP logoNovada MCPSearch & Data Extraction · Local subprocess (stdio)Search, extract, crawl, map, research, scrape 16 platforms, browser automation, proxy — one API key.64GoodAuth: api key required

Verdict: choose Brightdata MCP for search & data extraction work as a local process; choose Novada MCP 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?

Brightdata MCP logoChoose 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 GROUPS, TOOLS, search_engine.
Explore Brightdata MCP

Novada MCP logoChoose Novada 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: NOVADA_API_KEY.
  • You want tools like novada_search, novada_extract, novada_crawl.
Explore Novada MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecBrightdata MCP logoBrightdata MCPNovada MCP logoNovada MCP
CategorySearch & Data ExtractionSearch & Data Extraction
Quality signal69/100 · Great64/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthAPI key requiredAPI key required
PricingFreemiumNot declared
Required env varsAPI_TOKENNOVADA_API_KEY
Verified ownerCommunity listingCommunity listing
GitHub stars2,7163
Directory activity 4 views 0 installs 0 upvotes 0 views 0 installs 0 upvotes
Tools637

Tools & capabilities

Brightdata MCP tools 6

  • GROUPS
  • TOOLS
  • search_engine
  • scrape_as_markdown
  • ask_brightdata_assistant
  • custom

Novada MCP tools 37

  • novada_searchSearch the web for clean, ready-to-use content — titles, URLs, snippets, reranked by relevance. For multi-source questions, use novada_research instead (faster, more thorough). **Use for:** current events, URL lookup, fact-checking, competitive research. enrich_top=true auto-extracts the #1 result. **Not for:** a known URL (novada_extract) or a multi-source report (novada_research). **Tip:** engine='google' (default) is fastest/most reliable; duckduckgo/yandex are slower fallbacks. **Domain filtering:** includeDomains/excludeDomains inject `site:domain` into the query (not API-side). **Project grouping:** `project="my-project"` groups outputs under a subfolder (~/Downloads/novada-mcp/<date>/<project>/).
  • novada_extractExtract content from any URL. Auto-handles Cloudflare/DataDome/Kasada via escalation (static → JS render → Browser CDP). Batch mode: pass url as an array for up to 10 pages in parallel. **Format selection:** - `format="markdown"` (default): full-page content for reading/analysis. - `format="json"`: structured object (url, title, content, quality, links, structured_data, fields, hints, mode, fetched_at). Use with `fields=["price","title"]` to populate `fields`. Common mistake: using markdown when you need specific fields — use format="json"+fields instead. - `format="html"`: raw HTML (truncated at 100K chars by default; adjust via max_chars). - `clean=true`: strip nav/sidebar, main content only (~15K chars vs ~100K full page). **Use for:** reading pages, batch-extracting search results, structured fields (price, author, date) — works on anti-bot pages automatically. **Not for:** URL discovery (novada_map), multi-page crawl (novada_crawl), rich platform data like Amazon/LinkedIn (novada_scrape). **Key rule:** leave render="auto" (default) — 15-100x faster on static sites; only set render="render" for known JS-heavy SPAs. **Geo-routing:** `country="de"` (ISO 2-letter) routes render fetches through that country's exit IP — for localized pricing or geo-restricted content. **Auto-saved:** every extraction is written to `~/Downloads/novada-mcp/YYYY-MM-DD/` (path shown in the response). **Project grouping:** `project="my-project"` groups outputs under a subfolder.
  • novada_crawlUse when you need content from a bounded set of pages (up to 20) and don't have the URLs yet. Crawls BFS/DFS, extracts each page inline. Use select_paths globs to target sections (e.g. "/docs/api/**"). **Wrong tool for whole-site jobs:** for >20 pages or a full docs site on disk, use `novada_site_copy` instead (up to 1000 pages, streams to disk, returns a manifest). novada_crawl hard-caps at 20 pages and returns bodies inline. **Best for:** competitive content analysis, a handful of related pages inline (returns bodies directly). **Not for:** a single page (novada_extract), URL discovery only (novada_map — much faster), a whole site to disk (novada_site_copy). **Performance:** avoid max_pages > 10 on large sites — crawl time scales ~1.4s/page (max_pages=20 ≈ 28s minimum). Use select_paths to narrow scope before raising max_pages. **Rendering:** `render` defaults to "auto" (static first, escalates to JS on detection) — not static-only.
  • novada_researchOne call → 3-10 parallel searches across Google/Bing/DuckDuckGo → dedup → extracts full content from top sources → returns CITED SOURCE MATERIAL (numbered passages), not a written answer. Extractive, not generative — you compose the final answer from the gathered passages. **Use for:** complex questions needing passages from ≥3 independent sources in one call — comparative analysis, market research, technical deep dives, competitive intelligence. Replaces 5-10 manual search+extract calls. **Not for:** a single fact or one URL (novada_search — faster/cheaper), a known URL (novada_extract), or a finished prose report (this returns source material, not an answer). **Depth:** "quick" (3 queries), "deep" (6), "comprehensive" (8-9), "auto" (default — quick or deep by question length, never comprehensive). **Project grouping:** `project="my-project"` groups outputs under a subfolder. **Recency:** `time_range` ("day"|"week"|"month"|"year"), `start_date`/`end_date` (ISO YYYY-MM-DD) propagate to every internal search call. **Response size:** extracts full content from the top 5 sources only (even at depth="comprehensive"); each source is capped at novada_extract's own default 25,000-char limit — bounded total, not unbounded "every source in full."
  • novada_mapDiscover URLs on a site before deciding what to read. Tries sitemap.xml first (fast), falls back to BFS crawl. Returns URLs only — no content. Hard cap: 100 URLs. **Best for:** site structure discovery, finding the right subpage, pre-flight before novada_crawl/novada_extract. **Not for:** reading content (use novada_crawl/novada_extract) or copying a whole site to disk (novada_site_copy). **Note:** limited results on JS SPAs — flagged in the output.
  • novada_site_copyCopy an entire docs site/section to disk as clean markdown — one.md file per page — returning a COMPACT manifest, not page bodies. Use for a whole knowledge base on disk (offline docs ingest, RAG corpus, full-site mirror). **Discovery order:** (1) llms.txt/llms-full.txt if present, (2) sitemap.xml, (3) scoped same-host BFS to completion. select_paths/exclude_paths and same-host are always enforced. **Best for:** "copy all of docs.x.com", a local docs corpus, ingesting an llms.txt index. **Not for:** a single page (novada_extract), a few pages inline (novada_crawl), URL discovery only (novada_map). **Output:** each page streams to `~/Downloads/novada-mcp/<date>/<project|domain>/site-copy/<slug>.md`; `manifest.json` records {url,file,title,word_count,depth,bytes,status} per page. The tool returns a compact summary + manifest path, not inline content — read the.md files or manifest.json after it completes. **Scale:** max_pages default 200, hard max 1000, drained until the queue is empty or the ceiling is hit.
  • novada_scrapeUse for structured data from a specific platform — clean tabular records, not raw HTML. Proxies the Novada Scraper API (scraper.novada.com; public docs: https://developer.novada.com/novada/advanced-proxy-solutions/scraper-api/target-sites-supported-by-scraper-api). Supports 14 platforms (~76 operations): Google, LinkedIn, Amazon, YouTube, Walmart, DuckDuckGo, TikTok, Bing, Instagram, X (Twitter), Facebook, Perplexity AI, Yandex, GitHub. **Best for:** e-commerce product data, social posts/comments, job listings, reviews, real estate, market data. **Not for:** general web pages outside this platform list — use novada_extract instead. **Prefer the dedicated tool when one exists:** for amazon/google/bing/duckduckgo/yandex/youtube/instagram/facebook/tiktok/x/walmart/linkedin/github/perplexity, call novada_scrape_<platform> instead — same engine, but its `operation` enum uses typed friendly names and is rejected client-side before any network call if wrong. Use THIS generic tool for platforms with no dedicated sibling or when resuming by task_id. **Output formats:** markdown (default table), json (records array inside a fenced "## Scrape Results" block), toon (pipe-separated, 40-65% smaller — best for large result sets), csv, excel (base64), html. **Example:** platform="amazon.com", operation="amazon_product_keywords", params={keyword:"iphone 16", num:5}. **Amazon price fields:** trust `final_price`/`price` (check `_price_source`) — `initial_price` and `buybox_prices.final_price` are often 0 by design, not a bug; `buybox_prices.unit_price` is raw per-unit data, never the listing price. **Discover platforms:** read the `novada://scraper-platforms` resource for the full, always-current operation list (slugs + required params), or see the public reference at https://developer.novada.com/novada/advanced-proxy-solutions/scraper-api/target-sites-supported-by-scraper-api. **Resume:** pass `task_id` from a prior status:processing call to fetch the result without a new billable task (platform/operation still required, display-only). **Project grouping:** `project="my-project"` groups outputs under a subfolder.
  • novada_scrape_amazonExtract structured Amazon data — product details, reviews, seller info, bestseller lists, category/brand listings — via a closed, typed `operation` enum (same engine as novada_scrape, pinned to platform="amazon.com"). **Use when:** "get the price/rating/title for Amazon ASIN B0...", "pull the reviews for this Amazon product URL", "search Amazon for <keyword> with price and rating", "who is this Amazon seller", "what's in this Amazon Best Sellers list". **Not for:** Any other platform — use its own novada_scrape_<platform> tool, or novada_scrape(platform="<domain>"). A general Google/web search — use novada_search. Reading one arbitrary URL's raw content — use novada_extract. **Returns:** Structured product/review/seller records (title, price, rating, asin, availability, etc.) in the chosen output format — same rendering as novada_scrape. **Ops:** 10 verified-working Amazon operations. 3 known backend-broken ones are excluded from this enum (rejected client-side before any backend call) — unlike novada_scrape(platform="amazon.com",...), which still forwards them with a warning.
  • novada_scrape_googleExtract structured Google SERP data — organic web search, AI Mode answers, Maps place/review details, Shopping, Jobs, Hotels, Videos — via a closed, typed `operation` enum (same engine as novada_scrape, pinned to platform="google.com"). Returns raw structured SERP records, not a generated answer. **Use when:** "get the raw Google search results (titles, links, ranks) for <query>", "what's in Google's AI Mode answer for <query>", "pull Google Maps reviews or place details for this URL / place_id / CID", "search Google Shopping for <keyword>", "find Google Jobs, Hotels, or Videos results for <query>". **Not for:** A general question needing just an answer or a few good links — use novada_search (multi-engine: google/duckduckgo/yandex, ranked/reranked, cheaper than a raw-SERP scrape). A complex question needing cited multi-source synthesis — use novada_research. Reading one already-known URL's page content — use novada_extract. A different platform's data — use its own novada_scrape_<platform> tool, or novada_scrape(platform="<domain>"). **Returns:** Structured SERP records per operation — organic results (title/url/snippet/rank), AI Mode answer content, Maps place details/reviews, Shopping listings (price/rating), Jobs/Hotels/Videos listings — in the chosen output format, same rendering as novada_scrape. **Ops:** 13 verified-working Google operations spanning web search, AI Mode, Maps (location/place_id/CID/URL lookups + reviews), Shopping, Jobs, Hotels, and Videos. Every google.com catalog operation is currently status:"ok" — none are excluded for being backend_broken.
  • novada_scrape_bingExtract structured Bing SERP data — organic web search, video results, news results, shopping listings — via a closed, typed `operation` enum (same engine as novada_scrape, pinned to platform="bing.com"). Bing is NOT a selectable engine on novada_search — this is the only intentional way to query Bing specifically. **Use when:** "get the raw Bing search results (titles, links, ranks) for <query>", "find Bing video results for <query>", "find Bing news results for <query>, sorted by date", "search Bing Shopping for <keyword>". **Not for:** A general question needing just an answer or a few good links — use novada_search — google/duckduckgo/yandex only (Bing is not selectable there); ranked, cheaper than a raw-SERP scrape. A complex question needing cited multi-source synthesis — use novada_research. Reading one already-known URL's page content — use novada_extract. A different platform's data — use its own novada_scrape_<platform> tool, or novada_scrape(platform="<domain>"). **Returns:** Structured SERP records per operation — organic results (title/url/snippet/rank), video results, news results (with date), shopping listings (price/rating) — in the chosen output format, same rendering as novada_scrape. **Ops:** 4 verified-working Bing operations: web search, videos, news, and shopping. Every bing.com catalog operation is currently status:"ok" — none are excluded for being backend_broken.
  • novada_scrape_duckduckgoExtract structured DuckDuckGo web search SERP data via a closed, typed `operation` enum (same engine as novada_scrape, pinned to platform="duckduckgo.com"). Returns the raw organic-results SERP, with region/time/adult-content filters novada_search does not expose, not a generated answer. **Use when:** "get the raw DuckDuckGo search results (titles, links, ranks) for <query>", "search DuckDuckGo restricted to a specific region (params.kl) or time range (params.df)", "compare DuckDuckGo's ranking for <query> against another engine's raw SERP". **Not for:** A general question needing just an answer or a few good links — use novada_search with engine="duckduckgo" (ranked/reranked instead of a raw SERP dump). A complex question needing cited multi-source synthesis — use novada_research. Reading one already-known URL's page content — use novada_extract. A different platform's data — use its own novada_scrape_<platform> tool, or novada_scrape(platform="<domain>"). **Returns:** Structured organic-result SERP records (title/url/snippet/rank) in the chosen output format, same rendering as novada_scrape. **Ops:** 1 verified-working DuckDuckGo operation (web search). The single duckduckgo.com catalog operation is currently status:"ok".
  • novada_scrape_yandexExtract structured Yandex web search SERP data via a closed, typed `operation` enum (same engine as novada_scrape, pinned to platform="yandex.com"). Returns the raw organic-results SERP, with TLD/language/time-range controls novada_search does not expose, not a generated answer. **Use when:** "get the raw Yandex search results (titles, links, ranks) for <query>", "search a specific Yandex TLD (params.yandex_domain, e.g. "yandex.ru") for Russian/Eastern European content", "search Yandex restricted to a time range (params.within)". **Not for:** A general question needing just an answer or a few good links — use novada_search with engine="yandex" (ranked/reranked instead of a raw SERP dump). A complex question needing cited multi-source synthesis — use novada_research. Reading one already-known URL's page content — use novada_extract. A different platform's data — use its own novada_scrape_<platform> tool, or novada_scrape(platform="<domain>"). **Returns:** Structured organic-result SERP records (title/url/snippet/rank) in the chosen output format, same rendering as novada_scrape. **Ops:** 1 verified-working Yandex operation (web search, requires params.yandex_domain TLD selector). The single yandex.com catalog operation is currently status:"ok".
  • +25 more on the listing page

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 (Claude Desktop / Cursor)
{
  "mcpServers": {
    "luminati-io-brightdata-mcp": {
      "command": "npx",
      "args": [
        "@brightdata/mcp"
      ],
      "env": {
        "API_TOKEN": "YOUR_API_TOKEN_HERE"
      }
    }
  }
}

Novada MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "novada-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "novada-mcp"
      ],
      "env": {
        "NOVADA_API_KEY": "YOUR_NOVADA_API_KEY_HERE"
      }
    }
  }
}

Frequently asked questions

Brightdata MCP is categorized under Search & Data Extraction and uses a local stdio subprocess. Novada MCP belongs to Search & Data Extraction and uses a local stdio subprocess. Pick Brightdata MCP for search & data extraction work and Novada MCP 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. Novada MCP has no declared pricing — check the project's own site. Auth: api key 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 luminati-io-brightdata-mcp and novada-mcp 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 69/100 (Great) with 4 views, 0 installs and 2,716 GitHub stars. Novada MCP has 64/100 (Good) with 0 views, 0 installs and 3 GitHub stars.