Brave Search
Real-time web search for AI agents with a privacy-first independent index
The Brave Search MCP server connects AI agents to the Brave Search API through the Model Context Protocol. Agents get eight search tools covering web, news, images, video, local businesses, and AI-powered summarization. The free tier covers roughly 1,000 queries per month at no cost, and the underlying index is fully independent from Google and Bing.
If you want an AI agent that can look things up on the web, the question is not whether to add search. The question is which search API makes sense and what the real costs are. Brave Search MCP is the answer most teams settle on after they discover that the Google Search API requires a significant monthly commitment, Bing's pricing structure adds up fast, and SerpAPI charges per call with no meaningful free tier.
Brave gives you a working free tier, a genuinely independent index, and an MCP server with eight tools already built. That's a reasonable starting point for most agents.
Quick verdict
Brave Search MCP is the most practical choice for adding web search to an AI agent when you want to get started without a billing commitment. The free tier covers light to moderate use, the TypeScript implementation is clean and actively maintained by Brave, and the toolset goes well beyond basic web search. The main limitation is result quality on highly specific or localized queries, where Google's index depth still shows.
What the Brave Search MCP server actually does
The Model Context Protocol defines a standard way for AI agents to connect to external tools and data sources. Rather than hard-coding API calls into application logic, an MCP server exposes capabilities as named tools that any compatible agent can discover and call. The MCP directory now covers hundreds of servers, but search is one of the most requested capabilities because it's the most universal gap: language models have a training cutoff and no live internet access on their own.
The Brave Search MCP server bridges that gap. It wraps the Brave Search API in the MCP tool format, so an agent running in Claude Code, Cursor, or any other MCP-compatible client can call brave_web_search the same way it calls any other tool. The server handles authentication, formats the request, and returns structured results the agent can reason over.
The official server is maintained by Brave at github.com/brave/brave-search-mcp-server. The original reference implementation in the core MCP servers repository has been archived and replaced by this official version, which is more capable and kept current with API changes.
The eight tools
The server exposes eight distinct tools, which is more than most search MCP servers offer.
brave_web_search is the primary tool. It runs a standard web query and returns titles, URLs, descriptions, and up to five snippets per result. You can paginate results and apply filters. This is the one you'll use most.
brave_news_search targets the news index and returns articles with publication timestamps and freshness signals. Useful for any agent task involving recent events, product releases, or anything where the training cutoff matters.
brave_image_search returns image URLs and source metadata. The server does not encode images as base64, which keeps responses lean. Agents that need to reason about images will want to fetch the URLs separately.
brave_video_search returns video results with duration, view counts, and creator information. Practical for research tasks where video content is relevant.
brave_local_search and brave_place_search cover geographic queries: businesses, restaurants, shops, points of interest. These tools return ratings, hours, and structured location data. Full functionality requires a Pro API plan; the free tier returns limited local results.
brave_summarizer generates an AI-synthesized answer from web search results. Instead of returning a list of links, it produces a direct response. Think of it as Perplexity-style synthesis built directly into the tool, useful when the agent needs an answer rather than a set of sources to reason over. This is also how Perplexity handles search under the hood, though Perplexity adds its own retrieval and ranking on top.
brave_llm_context returns pre-extracted webpage content formatted for LLM consumption. This is designed specifically for RAG pipelines and grounding tasks where the agent needs clean text rather than search result snippets.
Why Brave's index matters
Brave does not license its web search results from Google or Bing. It runs its own crawler, maintains its own index, and applies its own ranking. This is unusual. Most search APIs marketed as alternatives are actually thin wrappers over Bing's API. If your agent is calling one of those, it's calling Bing with a different label on the box.
An independent index means a few practical things. First, results are not shaped by the personalization and behavioral tracking that inform Bing and Google rankings. API calls return results based on the query, not on inferred user intent from prior behavior. Second, Brave's independent Web Discovery Project incorporates opt-in data from Brave browser users, which gives the index a different signal mix than pure crawler data. Third, and this matters for some use cases, Brave's politics around data collection are genuinely different from Microsoft or Google's, which can matter in privacy-sensitive enterprise contexts.
Where the independent index shows its limits is on long-tail and highly localized queries. Google's index depth, built over two decades of crawling, is hard to match. For mainstream English-language queries, Brave results are competitive. For very specific technical documentation, obscure local businesses, or non-English content, you may see lower recall than Google. That's a real tradeoff to know about before committing to Brave for agent tasks that depend on thorough coverage.
Pricing: what the free tier actually gives you
The Brave Search API bills on a credit system. Every new account gets $5 in monthly credits. Web search costs $5 per 1,000 requests, so the free tier covers approximately 1,000 queries per month. That resets monthly at no cost.
For an agent used in light development work, research tasks, or internal tooling, 1,000 queries per month is enough. For production agents handling user-facing search at any meaningful volume, you'll be on a paid plan. At $5 per 1,000 requests, the cost is predictable and reasonable compared to alternatives. The Answers plan at $4 per 1,000 requests adds AI-processed responses but also charges for token usage, so the cost model is more complex there.
The API enforces a 50 queries-per-second rate limit on the Search plan, which is more than sufficient for agent use cases. Parallel agent calls that flood the API are an edge case, not a typical pattern.
Setup
The fastest path is through npx in your MCP client config. For Claude Desktop, the config block looks roughly like this:
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@brave/brave-search-mcp-server"],
"env": {
"BRAVE_API_KEY": "your_api_key_here"
}
}
}
}
The Docker path is also supported and better suited for environments where you want a stable, pinned version. VS Code has one-click install badges in the repository that handle the config automatically.
The server accepts a handful of optional environment variables beyond the API key. BRAVE_MCP_ENABLED_TOOLS lets you specify exactly which of the eight tools to expose, useful if you want to limit the agent to web and news search only. BRAVE_MCP_DISABLED_TOOLS does the inverse. BRAVE_MCP_LOG_LEVEL controls logging verbosity for debugging.
Transport defaults to stdio, which is correct for most local setups. HTTP transport is available for cases where the server needs to run as a standalone process.
How it fits into a research agent
The most direct use case for the Brave Search MCP is giving a general-purpose agent live web access. An agent working on a research task can call brave_web_search to find current information, call brave_news_search to check for recent developments, and call brave_summarizer when it needs a synthesized answer rather than raw links to process.
This pattern works well because the agent stays in control of when to search and what to do with results. It's not a pre-built pipeline that runs every query through the same steps. The agent decides whether the question requires fresh information, which tool to use, and how to weight the results alongside its own trained knowledge.
The brave_llm_context tool is particularly useful in this flow. Rather than retrieving links and then making separate calls to fetch page content, the agent can call one tool and get pre-processed text back. For research tasks involving several sources, this reduces the number of round trips substantially.
Limitations worth knowing
Local search requires a paid plan for full functionality. If your agent use cases involve finding businesses, navigating geographic queries, or recommending local services, check the Pro plan pricing before assuming the free tier covers you.
Image search returns URLs, not image data. If your agent pipeline needs to analyze image content, you're responsible for fetching and processing those URLs. The tool handles discovery, not retrieval.
The summarizer tool uses Brave's own AI to generate responses. The quality is generally good but not guaranteed to be accurate for complex factual questions. Treat the summarizer output as a starting point for agent reasoning rather than a ground truth answer.
Coverage on non-English content is thinner than Google's. If your agent serves international users or handles multilingual queries, test Brave's coverage for those languages before deploying.
The honest comparison
The practical alternative to Brave Search MCP for most teams is the Bing Search API through Azure, or SerpAPI. Bing's API has strong coverage but no free tier worth mentioning. SerpAPI is flexible but charges per call and gets expensive fast for production use. Google's Custom Search API has a 100-query-per-day free limit, which is nearly useless for development.
Brave's free tier of roughly 1,000 queries per month is genuinely useful. It's enough to build and test an agent thoroughly before deciding whether to move to a paid tier. That's not a small thing in a space where most vendors want a credit card before you've validated the integration.
For teams already using Perplexity for AI-powered search, the summarizer tool partially overlaps with what Perplexity offers. The difference is that Brave gives you raw results alongside summaries, while Perplexity is more opinionated about synthesizing everything into a single response. Depending on your agent architecture, you may want the lower-level access Brave provides.
The Brave Search MCP server is a solid, well-maintained tool for a common need. It won't replace Google for every search pattern, but for agents doing research, monitoring, and web lookups, it delivers what it promises at a price point that makes it easy to start.
Features
- Web search with rich snippets, pagination, and filtering
- News search with freshness controls and publication dates
- Image search returning URLs and source metadata
- Video search with duration, view counts, and creator info
- Local business search with ratings and operating hours
- AI summarizer that synthesizes results into a direct answer
- LLM context tool that returns pre-extracted content for RAG
- Configurable tool allow/deny list via environment variables
How to set up the Brave Search MCP server
- Sign up at brave.com/search/api and copy your API key
- Add the server to your MCP client config using npx or Docker
- Set the BRAVE_API_KEY environment variable in that config
- Restart your client and confirm the brave_web_search tool appears