mcp-brave-search
The Brave Search MCP Server integrates the Brave Search API to provide web and local search capabilities:
Web Search: Perform general queries, news, and article searches with pagination, filtering, and freshness controls.
Local Search: Find businesses, restaurants, and services with detailed information (addresses, ratings, opening hours, contact details).
Smart Fallbacks: Automatically defaults to web search if local search yields no results.
Flexible Configuration: Supports Docker and NPX setups with customizable result types and safety levels.
Integrates with Brave Search API to provide web and local search capabilities, with features like pagination, filtering, and smart fallbacks
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-brave-searchfind the best coffee shops near Central Park"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Brave Search MCP Server
An MCP server implementation that integrates the Brave Search API, providing both web and local search capabilities.
Features
Web Search: General queries, news, articles, with pagination and freshness controls
Local Search: Find businesses, restaurants, and services with detailed information
Flexible Filtering: Control result types, safety levels, and content freshness
Smart Fallbacks: Local search automatically falls back to web when no results are found
Related MCP server: Brave Search MCP Server
Tools
brave_web_search
Execute web searches with pagination and filtering
Inputs:
query(string): Search termscount(number, optional): Results per page (max 20)offset(number, optional): Pagination offset (max 9)
brave_local_search
Search for local businesses and services
Inputs:
query(string): Local search termscount(number, optional): Number of results (max 20)
Automatically falls back to web search if no local results found
Configuration
Getting an API Key
Sign up for a Brave Search API account
Choose a plan (Free tier available with 2,000 queries/month)
Generate your API key from the developer dashboard
Usage with Claude Desktop
Add this to your claude_desktop_config.json:
Docker
{
"mcpServers": {
"brave-search": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BRAVE_API_KEY",
"mcp/brave-search"
],
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}NPX
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-brave-search"
],
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}Build
Docker build:
docker build -t mcp/brave-search:latest -f src/brave-search/Dockerfile .License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Available Tools
2 toolsbrave_local_searchA
Searches for local businesses and places using Brave's Local Search API. Best for queries related to physical locations, businesses, restaurants, services, etc. Returns detailed information including:
Business names and addresses
Ratings and review counts
Phone numbers and opening hours Use this when the query implies 'near me' or mentions specific locations. Automatically falls back to web search if no local results are found.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of results (1-20, default 5) | |
| query | Yes | Local search query (e.g. 'pizza near Central Park') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: the tool returns detailed information (listing specific data points like addresses and ratings), handles location-based queries, and includes a fallback mechanism to web search. However, it lacks details on error handling, rate limits, or authentication needs, which would be valuable for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and front-loaded with the core purpose, followed by usage guidelines and behavioral details. Each sentence adds value: the first states the action and API, the second specifies use cases, the third lists return data, and the fourth provides usage context and fallback behavior. There is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is largely complete. It covers purpose, usage, return data, and fallback behavior. However, without annotations or an output schema, it could benefit from more details on response format or error cases, but it adequately supports agent selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents both parameters ('query' and 'count') with descriptions and constraints. The description adds minimal value beyond the schema by providing an example query ('pizza near Central Park') and implying the 'query' parameter should be location-focused, but it does not explain the semantics of 'count' or add significant context. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Searches for local businesses and places') and resource ('using Brave's Local Search API'), distinguishing it from the sibling tool 'brave_web_search' by focusing on physical locations and businesses. It explicitly mentions the types of queries it handles (e.g., 'near me', specific locations).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool ('Best for queries related to physical locations, businesses, restaurants, services, etc.' and 'Use this when the query implies 'near me' or mentions specific locations') and mentions an alternative behavior ('Automatically falls back to web search if no local results are found'), which implicitly contrasts with the sibling tool 'brave_web_search'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
brave_web_searchA
Performs a web search using the Brave Search API, ideal for general queries, news, articles, and online content. Use this for broad information gathering, recent events, or when you need diverse web sources. Supports pagination, content filtering, and freshness controls. Maximum 20 results per request, with offset for pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of results (1-20, default 10) | |
| offset | No | Pagination offset (max 9, default 0) | |
| query | Yes | Search query (max 400 chars, 50 words) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure and does this well. It reveals important behavioral traits including maximum results per request (20), pagination support with offset, content filtering capabilities, freshness controls, and the general nature of the search. It doesn't mention rate limits or authentication requirements, but provides substantial operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly structured and concise - three sentences that each earn their place. The first establishes purpose and ideal use cases, the second provides operational context, and the third specifies limitations. No wasted words, front-loaded with the most important information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with no annotations and no output schema, the description provides substantial context about behavior, limitations, and use cases. It covers the essential operational aspects (pagination, filtering, freshness controls, result limits) but doesn't describe the return format or structure of results, which would be helpful given the lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents all three parameters thoroughly. The description adds some context about pagination ('Supports pagination... with offset for pagination') and result limits ('Maximum 20 results per request'), but doesn't provide additional semantic meaning beyond what's in the schema descriptions. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('performs a web search') and resources ('using the Brave Search API'), distinguishing it from the sibling tool 'brave_local_search' by specifying it's for general web content rather than local searches. It explicitly mentions the types of content it's ideal for (general queries, news, articles, online content).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool ('for broad information gathering, recent events, or when you need diverse web sources'), but doesn't explicitly state when NOT to use it or provide specific alternatives beyond the implied sibling tool distinction. It offers good guidance but lacks explicit exclusions or named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct purposes: brave_local_search is for local business and place queries (e.g., 'near me'), while brave_web_search is for general web searches (e.g., news, articles). Their descriptions explicitly differentiate use cases, making misselection unlikely.
Both tools follow a consistent verb_noun pattern with 'brave_' prefix and snake_case: brave_local_search and brave_web_search. This predictable naming scheme enhances readability and agent usability.
With only 2 tools, the server feels thin for a search domain, potentially limiting functionality. While it covers local and web search basics, more specialized tools (e.g., image search, news search) could enhance completeness. The count is borderline but reasonable for a minimal setup.
The server covers core search types (local and web), but there are notable gaps for a search API, such as image search, video search, or news-specific search. Agents can work around this by using web search broadly, but the surface is incomplete for comprehensive search operations.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Visit https://brave.com/search/api/ for a free API key. Search the web, local businesses, images,…
Brave Search MCP — independent web index (no Google/Bing dependency)
Search the web in real time to get trustworthy, source-backed answers. Find the latest news and co…
The best web search for your AI Agent
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables web and local business searches through the Brave Search API. Provides general web search with pagination and filtering, plus local business search with automatic fallback to web results.
- AlicenseNot gradedqualityNot gradedmaintenanceIntegrates Brave Search API to enable web, image, video, news, and local business searches with filtering options like result count and content freshness.259
- AlicenseNot gradedqualityDmaintenanceIntegrates the Brave Search API to provide web and local search capabilities, including news, articles, and business information. It features smart fallbacks from local to web search and supports pagination and freshness controls.2591GPL 3.0
- AlicenseNot gradedqualityDmaintenanceIntegrates the Brave Search API to provide comprehensive web and local search capabilities. It enables users to perform general web queries, search for news, and find local business information with smart fallback functionality.20,927MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/w-jeon/mcp-brave-search'
If you have feedback or need assistance with the MCP directory API, please join our Discord server