Brightdata MCP vs Olostep MCP Server

A side-by-side look at the Brightdata MCP and Olostep MCP Server 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)Bright Data's Web MCP server enabling AI agents to search, extract & navigate the web73GreatAuth: api key requiredOlostep MCP Server logoOlostep MCP ServerSearch & Data Extraction · Local subprocess (stdio)API to search, extract and structure web data. Web scraping, AI-powered answers with citations, batch processing (10k URLs), and autonomous site crawling.67GreatAuth: api key required

Verdict: choose Brightdata MCP for search & data extraction work as a local process; choose Olostep MCP Server 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 search_engine, scrape_as_markdown, search_engine_batch.
Explore Brightdata MCP

Olostep MCP Server logoChoose Olostep MCP Server 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: OLOSTEP_API_KEY.
  • You want tools like create_map, create_crawl, get_crawl_results.
Explore Olostep MCP Server

Feature & specification comparison

Rows where the two servers differ are marked.

SpecBrightdata MCP logoBrightdata MCPOlostep MCP Server logoOlostep MCP Server
CategorySearch & Data ExtractionSearch & Data Extraction
Quality signal73/100 · Great67/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthAPI key requiredAPI key required
PricingFreemiumBYOK (pay the provider)
Required env varsAPI_TOKENOLOSTEP_API_KEY
Verified ownerCommunity listingCommunity listing
GitHub stars2,71625
Directory activity 6 views 0 installs 0 upvotes 3 views 0 installs 0 upvotes
Tools1110

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.

Olostep MCP Server tools 10

  • create_mapGet a LIST of URLs on a website (URL discovery only — does NOT scrape content). Use when the user wants a list of links: 'show me all URLs on this site', 'map this website', or when you want to surface candidate URLs to the user before scraping a subset. Prefer `create_crawl` if the goal is to scrape the whole site — it discovers AND scrapes in one workflow. Use this only when the URL list itself is the deliverable.
  • create_crawl**PREFERRED tool for crawling a website.** Use this whenever the user says 'crawl', 'scrape the whole site', 'get all pages from a site', or wants multiple pages from a single domain. This is the CORRECT tool for any whole-site scraping task. **Do NOT use `batch_scrape_urls` for crawling** - that tool is only for when you already have a specific list of unrelated URLs from different domains. Starts an ASYNC crawl that autonomously discovers and scrapes pages by following links from a start URL. Returns a crawl_id - the crawl runs in the background. You MUST then call `get_crawl_results` with the returned crawl_id to poll status and retrieve the scraped pages. Do NOT call `get_batch_results` with a crawl_id - crawls and batches are separate resources.
  • get_crawl_resultsRetrieve the status and scraped pages for a crawl job. Pass the crawl_id returned by create_crawl. If the crawl is still in_progress, returns the current status so you can call again later (poll every ~10 seconds). Once completed, returns the list of discovered pages with their scraped content in the requested formats. This is the REQUIRED companion to create_crawl — create_crawl only kicks off the async job, this tool is how you actually get the content.
  • batch_scrape_urlsScrape a SPECIFIC, KNOWN list of URLs (typically from different domains). **Do NOT use this for crawling a website** - if the user wants to scrape a whole site or 'crawl' a domain, use `create_crawl` instead. Use this only when you already have an explicit list of URLs to scrape (e.g., user provides a CSV of URLs, or you need to scrape unrelated pages). Returns a batch_id immediately. Use `get_batch_results` with the batch_id to fetch the scraped content once the batch completes (~5–8 min). Set `wait_for_completion_seconds` to poll automatically.
  • get_batch_resultsRetrieve the status and scraped content for a batch job. Pass the batch_id returned by batch_scrape_urls. If the batch is completed, returns the scraped content for each URL. If still in_progress, returns the current status so you can call again later.
  • answersAnswer a factual question using web search, optionally shaped into a flat JSON object of fields (returned with sources and citations). Best for a bounded, factual answer (e.g. a company's founding year, a product's current price). It is NOT reliable for enumerating a live list from a page (e.g. 'the latest N blog posts with titles and dates'). For that, use create_map or get_webpage_content on the page and read the results instead.
  • search_webSearch the web for a given query and return structured results (non-AI, parser-based).
  • scrape_websiteExtract content from a single URL. Supports multiple formats and JavaScript rendering.
  • get_webpage_contentRetrieve content of a webpage in markdown
  • get_website_urlsSearch and retrieve relevant URLs from a website (URL discovery only - does NOT scrape content). Use this only when the user wants a *filtered list of links* matching a search query. **Do NOT use this as a precursor to scraping** - if the user wants to scrape/crawl a site, use `create_crawl` directly.

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": {
    "brightdata-mcp": {
      "command": "npx",
      "args": [
        "@brightdata/mcp"
      ],
      "env": {
        "API_TOKEN": "YOUR_API_TOKEN_HERE"
      }
    }
  }
}

Olostep MCP Server

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "olostep-olostep-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "olostep-mcp"
      ],
      "env": {
        "OLOSTEP_API_KEY": "YOUR_OLOSTEP_API_KEY_HERE"
      }
    }
  }
}

Frequently asked questions

Brightdata MCP is categorized under Search & Data Extraction and uses a local stdio subprocess. Olostep MCP Server belongs to Search & Data Extraction and uses a local stdio subprocess. Pick Brightdata MCP for search & data extraction work and Olostep MCP Server 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. Olostep MCP Server is bring-your-own-key: usage is billed by the API provider you supply a key for. 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 brightdata-mcp and olostep-olostep-mcp-server 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 6 views, 0 installs and 2,716 GitHub stars. Olostep MCP Server has 67/100 (Great) with 3 views, 0 installs and 25 GitHub stars.