MCP servers / Brave Search
Brave Search MCP server: setup for Claude Code, Claude Desktop and Cursor
Brave's official MCP server lets your AI search the web through the Brave Search API. Its eight tools cover web, news, image, video and local place search, plus a summarizer and a tool that returns pre-extracted, relevance-ranked page content built for AI agents.
This is the maintained replacement for the Brave Search package that was published under @modelcontextprotocol, which npm now marks as no longer supported.
- Runs with
- npx (Node.js)
- Package
- @brave/brave-search-mcp-server on npm
- Needs
- Node.js (for npx) and a Brave Search API key from brave.com/search/api.
- Tools
- 8 (not declared as read-only or not)
- Source
- brave/brave-search-mcp-server
- Last checked
- 2026-09-20 (server reported version 2.1.4)
Config for Brave Search
Generated by the same code as the free builder, so it matches what you get there. Pick your client, then copy.
Needs a Brave Search API key from brave.com/search/api.
Claude Code
Save as .mcp.json in your project root. Claude Code asks you to approve it the first time.
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": [
"-y",
"@brave/brave-search-mcp-server"
],
"env": {
"BRAVE_API_KEY": "${BRAVE_API_KEY}"
}
}
}
}
Set BRAVE_API_KEY in your environment before starting Claude Code. The config only references the variable, so it is safe to commit.
Or add it from a terminal instead (single quotes work in bash, zsh and PowerShell; more on this command):
claude mcp add brave-search -e 'BRAVE_API_KEY=${BRAVE_API_KEY}' -- npx -y @brave/brave-search-mcp-server
Claude Desktop
Merge into claude_desktop_config.json (Settings → Developer → Edit Config), then fully quit and restart Claude Desktop.
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": [
"-y",
"@brave/brave-search-mcp-server"
],
"env": {
"BRAVE_API_KEY": "paste-your-key-here"
}
}
}
}
Claude Desktop keeps BRAVE_API_KEY in this file as plain text. Keep the file private and never share or commit it.
Cursor
Save as .cursor/mcp.json in your project, or ~/.cursor/mcp.json for all projects.
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": [
"-y",
"@brave/brave-search-mcp-server"
],
"env": {
"BRAVE_API_KEY": "${env:BRAVE_API_KEY}"
}
}
}
}
Set BRAVE_API_KEY in your environment before launching Cursor. The config only references the variable, so it is safe to commit.
What it can do
These are all 8 tools the server reported when we started it and asked on 2026-09-20. This server does not say which tools are read-only, so we sorted them by what each name and description says.
brave_web_searchreads (by name)
Performs web searches using the Brave Search API and returns comprehensive search results with rich metadata.brave_local_searchreads (by name)
Brave Local Search API provides enrichments for location search results.brave_video_searchreads (by name)
Searches for videos using Brave's Video Search API and returns structured video results with metadata.brave_image_searchreads (by name)
Performs an image search using the Brave Search API.brave_news_searchreads (by name)
This tool searches for news articles using Brave's News Search API based on the user's query.brave_summarizerreads (by name)
Retrieves AI-generated summaries of web search results using Brave's Summarizer API.brave_llm_contextreads (by name)
Retrieves pre-extracted, relevance-ranked web content using Brave's LLM Context API, optimized for AI agents, LLM grounding, and RAG pipelines.brave_place_searchreads (by name)
Searches Brave's Place Search API.
Watch out for
- Your searches are sent to Brave's API under your key, so check your plan's limits. The README says full local search needs a Pro plan and falls back to web search otherwise.
- None of the eight tools declares itself read-only or not. All eight search and return results, so we treated them as reads.
- More tools means more for the AI to choose from. The
--enabled-toolsoption keeps only the tools you name. We tested it: naming one tool gave a server with one tool, and naming two gave two. - The key can also come from a file: set
BRAVE_API_KEY_FILEinstead ofBRAVE_API_KEY, and the README says the file takes precedence.
Variations
Only web and news search
Keeps just two of the eight tools, so the AI has less to choose from.
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": [
"-y",
"@brave/brave-search-mcp-server",
"--enabled-tools",
"brave_web_search",
"brave_news_search"
],
"env": {
"BRAVE_API_KEY": "${BRAVE_API_KEY}"
}
}
}
}
Shown in Claude Code format. Cursor uses ${env:NAME} for keys, and Claude Desktop takes the key itself, exactly as in the configs above.
Try asking
- “Search the web for the release notes of the latest Node.js version and summarize what changed.”
- “Find recent news about security advisories for the library this project uses.”
- “Use the LLM context tool to gather background on how HTTP/3 works.”
Related servers
- Tavily: Web search and page extraction built for AI assistants.
- Firecrawl: Scrape and crawl websites into clean text.
Building a full setup? Combine this with other servers in the config builder. Trouble connecting? See fixing connection errors.