Seven web search APIs ship an official MCP server you can add to Claude, Claude Code or Cursor: Brave, Exa, Tavily, Firecrawl, Perplexity, Parallel and cloro. Pick by what the agent needs back. Exa, Tavily and Firecrawl return page text for a model to read. Brave returns results from its own index. Perplexity can return a written answer. cloro returns Google's own results page as JSON, with the AI Overview and People Also Ask. Parallel's server is free with no key.
- Hosted or local: six of the seven run hosted, so you add one URL. Brave's runs on your machine through
npxor Docker. - Key or no key: Parallel needs none. Exa and Firecrawl start without one. Brave and Perplexity need a key. The others take an OAuth sign-in or an API key.
- Accuracy: in a benchmark of six web search APIs on multi-hop questions, the two Google SERP APIs answered most questions from one search (80.2% and 77.4%). Parallel answered 65.3%, Exa 64.0%, Brave 53.9% and Tavily 48.4%.
Which web search APIs ship an MCP server?
| Server | Searches | Returns | Key needed | Where it runs |
|---|---|---|---|---|
| Brave Search MCP | Brave's own index | Results as JSON | Yes, BRAVE_API_KEY | Local, npx or Docker |
| Exa MCP | Exa's neural index | Results plus page text as markdown | No, to start | Hosted at https://mcp.exa.ai/mcp, or npx |
| Tavily MCP | Tavily's retrieval index | Results plus extracted page content | No, with the keyless header | Hosted at https://mcp.tavily.com/mcp/, or npx |
| Firecrawl MCP | Its own search, plus crawl and scrape | Markdown or structured extraction | No, capped per IP per day | Hosted at https://mcp.firecrawl.dev/v2/mcp, or self-hosted |
| Perplexity MCP | Perplexity's Search API and models | Ranked results, or an answer with citations | Yes | Hosted at https://api.perplexity.ai/mcp, or npx |
| Parallel Search MCP | Parallel's Search API | Results plus fetched pages | No | Hosted at https://search.parallel.ai/mcp |
| cloro | Google Search, plus Google AI Mode, ChatGPT, Gemini and Bing AI Mode | Google's results page as JSON: organic positions, AI Overview and its sources, People Also Ask, ads | OAuth in Claude, API key elsewhere | Hosted at https://mcp.cloro.dev/mcp |
SerpApi, DataForSEO and Oxylabs also run official MCP servers over their Google APIs. Open-source servers such as web-search-mcp and duckduckgo-mcp-server scrape Bing, Brave or DuckDuckGo from your own machine with no key.
Google has no official MCP server that returns the Google.com results page. Its managed MCP servers search Workspace content and data you load into Agent Search, and its Agent Platform server can ground a Gemini answer in Google Search. None of them returns organic positions or the AI Overview for a public query.
Which one should you pick?
The servers differ most in what they hand back to the model, so pick by the job.
| Your agent needs | Use |
|---|---|
| Clean page text to read and summarize, for RAG | Exa, Tavily or Firecrawl |
| An independent index that is not Google | Brave |
| A finished answer with citations | Perplexity |
| Search at no cost and with no key | Parallel, or an open-source server you run |
| What Google shows for a query in a country: rankings, the AI Overview, People Also Ask | A server on a Google SERP API |
| A correct answer from one search on a hard question | A Google SERP API, the leaders on multi-hop questions below |
Three of these differences only show up once the agent runs.
Output shape. Exa, Tavily and Firecrawl put page text into the context, which is what a model needs to answer from, and it costs tokens on every call. Brave and the Google SERP servers return structured results, so the agent can answer "is this domain in the top 5?" by reading a field, not by parsing prose.
Index. Only a server on a Google SERP API sees Google's answer layer. When 500 queries ran through Exa and through Google's live results, about a third of Exa's top 10 URLs were also in Google's top 10. That is by design: Exa retrieves by meaning. It is the wrong source for a rank check and a good one for finding pages a keyword search misses.
Free tiers change. Brave has had no free plan since February 2026: every plan gets $5 of credit a month, enough for 1,000 searches, and sign-up needs a card. Exa gives $10 of credit a month, and Tavily and Firecrawl give 1,000 credits a month. None of the keyless servers publishes its limit, so expect throttling once an agent searches in a loop.
How do you add a web search MCP server to Claude Code?
A hosted server is one command. This adds Exa, which starts without a key. Replace the name and URL with the server you picked:
claude mcp add --transport http exa https://mcp.exa.ai/mcp Then open a session and run /mcp. A server that uses OAuth asks you to sign in there. A server that needs a key takes it in a header or in the URL, as its docs describe.
A local server runs as a command. For Brave:
claude mcp add brave -e BRAVE_API_KEY=your_key -- npx -y @brave/brave-search-mcp-server Each server you add puts its tool definitions into the context before you ask anything. Run /context to see what they cost, and keep the one or two you use.
How do you add one to Cursor?
Cursor reads MCP servers from its mcp.json. A hosted server is one entry with its URL:
{ "mcpServers": { "exa": { "type": "http", "url": "https://mcp.exa.ai/mcp" } } } Restart Cursor and the tools appear. Some servers take the API key in the URL path, which works in clients that cannot send custom headers. Check each server's docs for the exact URL.
Which web search API is most accurate from one search?
Six web search APIs ran on the 824 multi-hop questions of the FRAMES set in November 2026. Each question needs facts from two or more pages. Each API got the question as its query, one search and 10 results. One model answered from those results alone, and a second model graded each answer against the dataset's answer key.
| API | Multi-hop questions answered from one search |
|---|---|
| cloro | 80.2% |
| SerpApi | 77.4% |
| Parallel | 65.3% |
| Exa | 64.0% |
| Brave | 53.9% |
| Tavily | 48.4% |
The lead of the top API over SerpApi holds in a paired test on the same questions (p = 0.022). The AI Overview does most of the work: with the same results and the AI Overview removed, accuracy on 100 SimpleQA Verified questions fell from 99% to 86%. On short factual questions the order changes: Parallel (97.8%), Exa (97.3%) and the top Google API (96.9%) are within the margin of error of each other. The full method, the per-question-type results and the raw data are in the web search API benchmark.
What does each search cost over MCP?
| Server | Price per 1,000 searches | Free allowance |
|---|---|---|
| Brave | $5 | $5 of credit a month |
| Perplexity Search API | $5 | Not stated |
| Exa | $7 | $10 of credit a month |
| Tavily | About $8 pay as you go ($0.008 a credit) | 1,000 credits a month |
| Firecrawl | About $6.40 on Hobby | 1,000 credits a month |
| Parallel | Free over MCP | No key needed |
| cloro | $2.00 on Hobby; $2.80 with the AI Overview | 500 credits a month, about 100 searches |
The Google SERP row assumes a synchronous MCP call: a Google search is 3 credits plus a 2-credit sync surcharge, so 5 credits, and Hobby is $100 a month for 250,000 credits. For thousands of scheduled searches, the async API skips the surcharge.
How this was checked
This comparison is published by cloro, which is one of the servers in it. The endpoints, tool names, free allowances and prices of the other servers come from each vendor's own docs, pricing page or GitHub repository, read on October 24, 2026. The Tavily price and the Brave package were checked again on November 14, 2026. The accuracy figures come from the benchmark linked above, which publishes its questions and scoring.
The full comparison, with the free open-source servers and a sample of what a Google results call returns, is in Best Web Search MCP Servers.
