Search

Brave Search MCP: web and news search from an independent index

Brave's official search MCP server, backed by Brave's own web index: web, news, image, video and place search, plus pre-extracted page text ready for a model.

Project and installation docs

View project

https://github.com/brave/brave-search-mcp-server

An agent that needs current information should have a proper search API, not a scraper pointed at a search engine’s result pages. Brave Search MCP is maintained by Brave and sits on Brave’s own web index. Beyond regular search, it has an endpoint built to hand context to a model. It had about 1.5k stars as of 2026-10-06.

What it does

  • Several kinds of search: brave_web_search with country, language and freshness filters, plus brave_news_search, brave_image_search and brave_video_search.
  • Local and places: brave_local_search finds businesses, and brave_place_search finds points of interest by coordinates or place name, with addresses, hours and ratings as structured data.
  • Context for models: brave_llm_context returns pre-extracted page snippets with caps on total tokens and snippets per URL, a good fit for the retrieval step in RAG.
  • Summaries: run a web search with summary: true, then fetch the AI summary with brave_summarizer.
  • Remote deployment: besides the default stdio, setting BRAVE_MCP_TRANSPORT=http switches to HTTP transport; BRAVE_MCP_ALLOWED_ORIGINS and BRAVE_MCP_ALLOWED_HOSTS restrict which origins and hostnames can reach it, guarding against DNS rebinding.

Who it’s for

  • Developers who want dependable web search in Claude or Cursor without relying on a model vendor’s built-in search.
  • Teams that need a controllable search source inside their own RAG or research agents.

Setup

Needs a Brave Search API key from the Brave developer dashboard, on either the Search plan (full web, news, image and other results plus LLM-ready context) or the Answers plan (a single summarized answer grounded on one or more searches). With Docker:

{
  "mcpServers": {
    "brave-search": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "BRAVE_API_KEY",
        "docker.io/mcp/brave-search"
      ],
      "env": {
        "BRAVE_API_KEY": "YOUR_API_KEY_HERE"
      }
    }
  }
}

Our take

We list two search APIs, Brave and Exa, because they lean different ways. Brave is a classic keyword index with the widest set of verticals (news, images, places), and goggles let you re-rank results your own way; Exa leans toward finding content by meaning. brave_llm_context means Brave returns usable text, not just links, which saves a fetch step. The catch is cost: it needs a paid API plan, and some features (full local results, extra snippets) are Pro-only. Use BRAVE_MCP_ENABLED_TOOLS to expose only the tools you need and save context; if you switch to HTTP transport for a shared deployment, it binds to 127.0.0.1 by default, so read the origin and host allow-list options before exposing it to a container or the public internet. Licensed MIT.