Brave Search With Proxy
The Brave Search MCP Server enables web and local searches using the Brave Search API, with optional proxy configuration.
Perform Web Searches: Execute general queries for news, articles, and online content with pagination and filtering.
Conduct Local Searches: Find businesses, restaurants, and services with detailed information and automatic fallback to web search.
Flexible Search Controls: Manage result types, safety levels, and content freshness.
Proxy Support: Route requests through HTTP or HTTPS proxies for enhanced privacy or bypassing restrictions.
Authentication: Requires a Brave Search API key.
Integrates with Brave Search API to provide web search capabilities with pagination and filtering, plus local business search with automatic fallback to web search when no results are found.
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., "@Brave Search With Proxyfind local coffee shops near me"
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 leveraging the Brave Search API for web and local search, with optional HTTP proxy configuration.
This repository forks from the Model Context Protocol servers and replaces the native fetch implementation with the library node-fetch-native.
The server will use the http_proxy and https_proxy environment variables to route requests through the proxy server by default if they are set.
You also can set the BRAVE_SEARCH_PROXY environment variable to use a different proxy server.
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: MCP2Brave
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",
"BRAVE_SEARCH_PROXY": "https://example.com:10890" // Optional, remove if not needed
}
}
}
}NPX
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": [
"-y",
"@kwp-lab/mcp-brave-search"
],
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY_HERE",
"BRAVE_SEARCH_PROXY": "https://example.com:10890" // Optional, remove if not needed
}
}
}
}Usage with VS Code
For quick installation, use the one-click installation buttons below...
For manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).
Optionally, you can add it to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others.
Note that the
mcpkey is not needed in the.vscode/mcp.jsonfile.
Docker
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "brave_api_key",
"description": "Brave Search API Key",
"password": true
}
],
"servers": {
"brave-search": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BRAVE_API_KEY",
"mcp/brave-search"
],
"env": {
"BRAVE_API_KEY": "${input:brave_api_key}",
"BRAVE_SEARCH_PROXY": "https://example.com:10890" // Optional, remove if not needed
}
}
}
}
}NPX
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "brave_api_key",
"description": "Brave Search API Key",
"password": true
}
],
"servers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@kwp-lab/mcp-brave-search"],
"env": {
"BRAVE_API_KEY": "${input:brave_api_key}",
"BRAVE_SEARCH_PROXY": "https://example.com:10890" // Optional, remove if not needed
}
}
}
}
}Build
Docker build:
docker build -t mcp/brave-search:latest -f ./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 |
|---|---|---|---|
| query | Yes | Local search query (e.g. 'pizza near Central Park') | |
| count | No | Number of results (1-20, default 5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses automatic fallback to web search and lists returned information (names, ratings, hours). It lacks details on rate limits or authorization, but the key behavior is transparent.
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 a concise paragraph with bullet points. It front-loads the purpose, then gives usage context, return info, and a fallback note. No unnecessary words, well-organized.
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?
No output schema, but description explains return details (business names, addresses, ratings, etc.) and fallback behavior. It misses error handling or pagination, but for a local search tool with two simple params, it is sufficiently complete.
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?
Schema coverage is 100% (both params described), baseline 3. The description adds meaning by specifying query examples ('pizza near Central Park') and default count behavior, plus clarifies what the return values include. This goes beyond schema.
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 searches for local businesses and places using Brave's Local Search API. It distinguishes from siblings like brave_web_search by specifying physical locations and business entities, and notes a fallback to web search.
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 explicitly says 'Best for queries related to physical locations' and 'Use this when the query implies "near me" or mentions specific locations,' providing clear when-to-use guidance. It does not explicitly state when not to use, but the context is strong.
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 |
|---|---|---|---|
| query | Yes | Search query (max 400 chars, 50 words) | |
| count | No | Number of results (1-20, default 10) | |
| offset | No | Pagination offset (max 9, default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Mentions pagination, content filtering, freshness controls, and maximum results (20). However, does not explicitly state it is a read-only operation or discuss rate limits/auth. Adequate but not comprehensive.
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?
Three concise sentences: first states purpose, second provides usage scenarios, third mentions capabilities. No fluff, well-structured.
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?
Tool has 3 params and no output schema. Description covers purpose, usage, and constraints but lacks explanation of return value format or structure. Could be more complete for agent usage.
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?
Schema coverage is 100%; baseline 3. Description adds slight value by reiterating max 20 results and offset usage, but no new parameter details beyond schema. Content filtering and freshness controls are mentioned but are not parameters.
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?
Clearly states 'Performs a web search using the Brave Search API' with specific verb+resource. Distinguishes from siblings like brave_answers and brave_local_search by stating 'ideal for general queries, news, articles, and 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?
Provides explicit usage context: 'ideal for general queries, news, articles, and online content. Use this for broad information gathering, recent events, or when you need diverse web sources.' Lacks explicit when-not-to-use or alternatives, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
brave_local_search - First observed
brave_web_search
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: brave_local_search targets local businesses and physical locations with 'near me' queries, while brave_web_search handles general web searches for information, news, and online content. There is no overlap in functionality, as each tool is specialized for different query types and data sources, making it easy for an agent to choose the correct one based on the user's intent.
Both tool names follow a consistent pattern: 'brave_' prefix followed by a descriptive term ('local_search' and 'web_search') using snake_case. This naming convention clearly indicates the server domain (Brave Search) and the specific search type, making the tools predictable and easy to understand without any deviations or mixed styles.
With only 2 tools, the server feels thin for a search domain, as it might benefit from additional tools like image search, news search, or advanced filtering options. However, the tools cover the core local and web search functionalities adequately, so it's borderline but not severely lacking. A typical search server would have more tools to handle diverse query types and result formats.
The server covers the essential search operations for local and web queries, with each tool providing detailed capabilities like pagination, filtering, and fallback mechanisms. Minor gaps exist, such as no dedicated tools for image or video searches, but agents can work around this using the web search tool. The surface is reasonably complete for basic search needs without significant dead ends.
Maintenance
Related MCP Connectors
Official SerpApi MCP server for Google, Bing, and other search engines.
The official MCP Server for the Mux API
MCP server for Google search results via SERP API
Related MCP Servers
- -licenseNot gradedqualityAmaintenanceAn MCP server implementation that integrates the Brave Search API, providing both web and local search capabilities.13,25090,196MIT
- AlicenseCqualityDmaintenanceA server based on the MCP protocol that uses the Brave API for web search functionality.63MIT
- AlicenseNot gradedqualityFmaintenanceAn MCP server that integrates the Brave Search API to provide both web and local search capabilities, with features like pagination, filtering, and smart fallbacks.15MIT
- AlicenseAqualityDmaintenanceAn MCP Server implementation that integrates the Brave Search API, providing, Web Search, Local Points of Interest Search, Image Search, Video Search, News Search and LLM Context Search capabilities5196125GPL 3.0