--- title: "The best MCP servers for web search and scraping (2026)" category: "comparisons" url: https://keirolabs.cloud/blog/best-mcp-servers-web-search-scraping-2026 --- ## The 60-second version An MCP server is how an agent gets hands. Claude Code, Claude, ChatGPT, Cursor, VS Code and n8n can all call tools over the [Model Context Protocol](/blog/mcp-model-context-protocol-web-search-2026-guide), and the tools agents call most are the ones that reach the live web. We compared the ten web search and scraping MCP servers worth installing in October 2026, using each vendor's own docs and pricing pages: - **Best all-round (search, SERP and extraction in one server):** Keirolabs. One remote URL exposes web search, Google SERP results, page extraction, cited answers and cloud browsers, with 1,250 free credits a month and no card. - **Best free search with no key at all:** Parallel. Its hosted server works anonymously at individual-use rate limits. - **Best for semantic, find-things-like-this discovery:** Exa, with $10 of free credits every month. - **Best for RAG-style search in framework stacks:** Tavily, 1,000 free credits a month. - **Best for crawling whole sites into markdown:** Firecrawl. - **Best for sites that block bots:** Bright Data, 5,000 free requests a month on its unblocking network. - **Best for clicking, typing and logging in:** Playwright MCP, free and open source. **The rule that saves the most money: pick one server that does search and page retrieval together, and add a browser server only when a page needs real interaction.** Stacking three overlapping servers fills your agent's context with tool definitions it rarely uses. ## What is a web search MCP server? **A web search MCP server is a small service that exposes web tools (search, fetch, scrape, crawl) to any MCP client through one standard interface.** The client discovers the tools, the model decides when to call them, and the server holds the API key, so the key never reaches the model. Before MCP, a search tool written for LangChain did not run in CrewAI, and neither ran in Claude Desktop. Now one server runs everywhere: Claude Code, Claude on the web and desktop, ChatGPT's developer mode, Cursor, VS Code's agent mode, Windsurf and n8n's MCP Client node all speak the same protocol. Servers come in two shapes. **Remote servers** are a URL you paste into your client, with auth in a header, a URL token or OAuth. **Local servers** run on your machine through `npx` or `uvx` and read the key from an environment variable. Remote is easier to share across a team; local keeps traffic on your machine. ## Which web search MCP servers are worth installing in 2026? | Server | Type | Main tools | Free allowance | Paid entry price | |---|---|---|---|---| | **Keirolabs** | Remote (`api.keirolabs.cloud/mcp/api`) | web_search, google_serp, search_and_extract, extract_url, answer, cloud browsers | 1,250 credits/month, no card | from $0.25 per 1,000 lite searches | | **Parallel** | Remote (`search.parallel.ai/mcp`) | web_search, web_fetch | Free, no key, individual-use limits | $1 per 1,000 (Turbo, Fast) | | **Exa** | Remote (`mcp.exa.ai/mcp`) or `npx exa-mcp-server` | web_search_exa, web_fetch_exa, advanced search opt-in | $20 at signup + $10/month, no card | $7 per 1,000 searches | | **Tavily** | Remote (`mcp.tavily.com/mcp/`) or `npx tavily-mcp` | tavily-search, tavily-extract, crawl, map | 1,000 credits/month, no card | $8 per 1,000 basic searches pay as you go | | **Brave Search** | Local (`npx @brave/brave-search-mcp-server`) | web, local, news, images, video, summarizer | $5 credit/month | $5 per 1,000 requests | | **Firecrawl** | Remote (`mcp.firecrawl.dev/v2/mcp`) | search, scrape, parse; crawl, map, agent with a key | Keyless tier, limits shared per IP | $83/month for 100,000 credits | | **Bright Data** | Remote (`mcp.brightdata.com/mcp`) or `npx @brightdata/mcp` | search, scrape_as_markdown, browser, site-specific scrapers | 5,000 requests/month | pay as you go | | **Apify** | Remote (`mcp.apify.com`), OAuth | search and run Actors from the Apify Store | Apify free plan | Actor and compute pricing | | **Playwright** | Local (`npx @playwright/mcp@latest`) | navigate, click, type, snapshot, screenshot | Free, open source | Free | | **Fetch** (reference) | Local (`uvx mcp-server-fetch`) | fetch a URL as markdown | Free, open source | Free | Prices come from each vendor's pricing page or docs and were checked between September 23 and October 13, 2026. Sources: [Exa pricing](https://exa.ai/pricing), [Tavily pricing](https://www.tavily.com/pricing), [Brave API pricing](https://api-dashboard.search.brave.com/documentation/pricing), [Bright Data MCP docs](https://docs.brightdata.com/products/mcp-server/overview), [Apify MCP](https://mcp.apify.com/), [Brave MCP server](https://github.com/brave/brave-search-mcp-server). Our deeper price breakdowns are in [Exa API pricing](/blog/exa-api-pricing-2026), [Tavily pricing per 1,000 requests](/blog/tavily-search-api-pricing-per-1000-requests-2026) and [Brave Search API pricing](/blog/brave-search-api-pricing-2026). ## How do they compare on answer quality? **The only independent cross-vendor score we trust is the [Artificial Analysis Search Index](https://artificialanalysis.ai/agents/search-api), and on its September 2026 data the spread at the top is small.** Perplexity Search scored 80, Keirolabs 78, Octen 77, Brave's LLM context mode and Parallel's advanced mode 75, and Firecrawl 73. Exa and Tavily were not on the displayed leaderboard, so there is no independent number to quote for them. Two caveats. That index leans on multi-hop research questions, which favors servers that return dense excerpts over plain snippets. And a three-point gap at the top matters less than whether the server returns page content your agent can use without a second fetch. **Price and tool shape decide more agent bills than a few index points.** ## Keirolabs: search, SERP and extraction behind one URL **Keirolabs is the one server on this list that covers semantic web search, raw Google SERP results, page extraction and cited answers without a second MCP server.** Disclosure: it is ours, so check the claims against the table above. The remote server lives at `https://api.keirolabs.cloud/mcp/api` and takes your API key as a Bearer token. In Claude Code it is one line: ```bash claude mcp add --transport http keirolabs https://api.keirolabs.cloud/mcp/api \ --header "Authorization: Bearer YOUR_KEIRO_KEY" ``` The tool list is wide on purpose: `web_search` and `lite_search` for ranked results, `google_serp` for Google's own result page with country and language targeting, `search_and_extract` to search and read the top pages in one call, `extract_url` and `fetch_page` for a known URL, `answer` for a cited answer, and a set of `browser_*` tools that lease a cloud browser when a page needs clicking. **The free tier is 1,250 credits a month with no card, and lite search starts at $0.25 per 1,000 on monthly plans** ([pricing](https://keirolabs.cloud/pricing)). The tradeoff: a wide tool list costs context. If your agent only ever searches, trim the tools your client loads, or use a narrower server. ## Parallel: the best free option with no key **Parallel's hosted server is the easiest zero-setup option: paste `https://search.parallel.ai/mcp` into your client and it works anonymously** at individual-use rate limits. It exposes two tools, `web_search` and `web_fetch`, and the search results come back as dense excerpts rather than one-line snippets, which is why agents rarely need the fetch tool. Paid API usage runs $1 per 1,000 requests in Turbo and Fast modes and $5 per 1,000 in Basic and Advanced ([Parallel](https://parallel.ai/articles/best-web-search-mcp)). Its advanced mode scored 75 on the September Artificial Analysis run. The catch is the anonymous tier itself: it is built for one person trying things, not for a team's production agent. ## Exa: best for semantic discovery **Exa's server is the pick when the query is "find pages like this" rather than "find the page that says X".** The remote URL is `https://mcp.exa.ai/mcp`. `web_search_exa` and `web_fetch_exa` are on by default; advanced search with filters and Exa's usage-based agent are switched on with URL parameters. New accounts get $20 in credits plus $10 every month with no payment method, which at $7 per 1,000 searches is roughly 1,400 searches a month ([Exa pricing](https://exa.ai/pricing)). The cost to watch is results depth: every result past 10 adds $1 per 1,000, so a 30-result search bills $27 per 1,000. Fresh news is not Exa's strength; for the last hour of news, Brave or Tavily do better. ## Tavily: best for RAG pipelines and framework users **Tavily is the default in a lot of LangChain and LlamaIndex stacks, and its MCP server carries that over: `tavily-search` and `tavily-extract`, plus crawl and map.** Use the remote `https://mcp.tavily.com/mcp/` with your key, or run `npx -y tavily-mcp@latest` locally. The free tier is 1,000 credits a month with no card, which is 1,000 basic searches or 500 advanced. After that, pay as you go is $8 per 1,000 basic searches; the $5 rate only appears behind a $500-a-month commitment ([our breakdown](/blog/tavily-search-api-pricing-per-1000-requests-2026)). Tavily never bills a failed extraction, which matters when your agent fetches pages that often block bots. ## Brave Search: an independent index with the most search types **Brave runs its own crawler and index, and its MCP server has the broadest set of search types: web, local, news, images, video and an AI summarizer**, trimmable with `BRAVE_MCP_ENABLED_TOOLS`. It runs locally: ```bash npx -y @brave/brave-search-mcp-server --transport stdio # needs BRAVE_API_KEY in the environment ``` Pricing changed in February 2026: the old no-card free plan closed to new signups, and new accounts get $5 of credit each month (about 1,000 queries) before billing at $5 per 1,000 ([Brave pricing](https://api-dashboard.search.brave.com/documentation/pricing)). Throughput is generous at 50 queries per second. Results are formatted as classic search results, so your agent does more fetching than with Parallel or Keirolabs, unless you use Brave's LLM context mode. ## Firecrawl: best for turning sites into markdown **Firecrawl is a scraper first and a search tool second, and its MCP server reflects that: scrape, crawl, map and structured extraction are the point.** The remote server is `https://mcp.firecrawl.dev/v2/mcp`. A keyless tier exposes search, scrape and parse; crawl, map and the agent tool need a key or OAuth. The keyless tier's daily limits are shared by everyone on the same public IP, so treat it as a trial, not a free plan for an office or CI. Paid usage starts at $83 a month for 100,000 credits, $0.83 per 1,000 pages, and pages that return an error status still cost a credit ([our scraping cost guide](/blog/cheapest-scraping-api-for-ai-agents)). ## Bright Data: best for sites that block you **Bright Data's server runs on its Web Unlocker network, so every request gets proxy rotation, anti-bot handling and CAPTCHA solving without you configuring any of it.** Add it remotely: ```bash claude mcp add --transport http brightdata "https://mcp.brightdata.com/mcp?token=YOUR_API_TOKEN" ``` or run `npx @brightdata/mcp` locally. New accounts get 5,000 free requests a month, renewing on the first, shared across a team account ([Bright Data docs](https://docs.brightdata.com/products/mcp-server/overview)). The server exposes dozens of tools, including site-specific scrapers, so load only the tool groups you need. Pick it when the pages your agent needs are behind serious bot protection; it is overkill for documentation sites. ## Apify: a marketplace of ready-made scrapers **Apify's server gives your agent the Apify Store: thousands of community and official Actors for specific sites, like Google Maps, Amazon or Instagram scrapers, which the agent can search for and run.** Connect `https://mcp.apify.com/` and sign in with OAuth, or pass an Apify token. The strength is coverage of specific sites with structured output. The weakness is predictability: each Actor has its own author, quality and pricing model, so your agent's bill depends on which Actor it picked. Pin the Actors you trust in your configuration. ## Playwright and Fetch: free, local, and narrow **Playwright MCP from Microsoft drives a real browser: your agent can navigate, click, type, fill forms and read the accessibility snapshot of a page.** Run it with `npx @playwright/mcp@latest`. It is free and open source, and it is the right tool for logged-in pages and multi-step flows, the wrong tool for search, because it has none. **The reference Fetch server (`uvx mcp-server-fetch`) fetches a URL and converts it to markdown.** It does not render JavaScript and has no unblocking, so it fails on modern single-page apps and protected sites. It is fine for documentation and plain articles, and it costs nothing. ## Which one should you pick? | If your agent needs to... | Pick | |---|---| | Search the web and read the pages, in one server | Keirolabs or Parallel | | Search for free with zero setup | Parallel | | Find similar pages, companies or papers | Exa | | Plug into an existing LangChain or LlamaIndex RAG stack | Tavily | | Get Google's own result page (rankings, SERP features) | Keirolabs `google_serp` | | Crawl a whole docs site into markdown | Firecrawl | | Read pages behind heavy bot protection | Bright Data | | Scrape one specific big site with structured output | Apify | | Log in, click and fill forms | Playwright | | Fetch a plain page for free | Fetch | **The pairing that covers almost every agent: one search-plus-extract server, plus Playwright for the few pages that need a real browser.** Every server you add beyond that costs context on every turn, because the client loads every tool definition whether the model uses it or not. ## How do you add an MCP server to Claude, ChatGPT or Cursor? The same remote URL works across clients; only where you paste it changes. - **Claude Code:** `claude mcp add --transport http --header "Authorization: Bearer "`, then `/mcp` to check it connected. - **Claude (web and desktop):** Settings → Connectors → Add custom connector, then paste the server URL. - **ChatGPT:** Settings → Apps & Connectors → Advanced → Developer mode, then create a connector with the server URL. - **Cursor:** add the server under `mcpServers` in `~/.cursor/mcp.json` with `url` and `headers`. - **VS Code:** `code --add-mcp` with the server's JSON, for GitHub Copilot's agent mode. - **n8n:** add an MCP Client Tool node to your AI Agent with the endpoint and HTTP Streamable transport. Connectors that only accept a URL, with no header field, need a server that takes the key in the URL or supports OAuth. Bright Data takes a URL token, Apify and Tavily support OAuth, and Parallel needs no key at all. ## What to watch before you commit Three things decide whether an MCP server stays cheap once a real agent uses it: 1. **Tool count.** Every tool definition is sent to the model on every turn. A 30-tool server can cost more in context than in API fees. Trim to what you use. 2. **Free-tier shape.** "Free" means four different things here: anonymous (Parallel), monthly credits with no card (Keirolabs, Exa, Tavily, Bright Data), monthly credit with a card (Brave), or shared-IP limits (Firecrawl keyless). 3. **Failure billing.** Agents fetch pages that fail. Tavily never bills a failed extraction; Firecrawl bills error-status pages. Read the fine print before your agent retries a blocked site 50 times. If you are building your own server instead of installing one, our [MCP web search guide](/blog/mcp-model-context-protocol-web-search-2026-guide) walks through a working implementation.