Brave Search With Proxy
Brave Search MCP 服务器
MCP 服务器利用 Brave Search API 进行网络和本地搜索,并具有可选的 HTTP 代理配置。
该存储库从模型上下文协议服务器分叉并用库node-fetch-native替换本机fetch实现。
如果已设置http_proxy和https_proxy环境变量,服务器将默认使用这两个变量通过代理服务器路由请求。您也可以设置BRAVE_SEARCH_PROXY环境变量来使用其他代理服务器。
特征
网络搜索:一般查询、新闻、文章,具有分页和新鲜度控制
本地搜索:查找商家、餐厅和服务的详细信息
灵活过滤:控制结果类型、安全级别和内容新鲜度
智能回退:本地搜索在未找到结果时自动回退到网络
Related MCP server: MCP2Brave
工具
brave_web_search
使用分页和过滤功能执行网页搜索
输入:
query(字符串):搜索词count(数字,可选):每页结果数(最多 20 条)offset(数字,可选):分页偏移量(最大 9)
brave_local_search
搜索本地企业和服务
输入:
query(字符串):本地搜索词count(数字,可选):结果数量(最多 20 条)
如果未找到本地结果,则自动返回网络搜索
配置
获取 API 密钥
选择计划(免费套餐,每月 2,000 次查询)
从开发者仪表板生成您的 API 密钥
与 Claude Desktop 一起使用
将其添加到您的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
}
}
}
}与 VS Code 一起使用
为了快速安装,请使用下面的一键安装按钮...
如需手动安装,请将以下 JSON 块添加到 VS Code 中的“用户设置 (JSON)”文件中。您可以按下Ctrl + Shift + P并输入Preferences: Open User Settings (JSON)来完成此操作。
或者,您可以将其添加到工作区中名为.vscode/mcp.json的文件中。这样您就可以与其他人共享该配置。
请注意
.vscode/mcp.json文件中不需要mcp键。
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
}
}
}
}
}建造
Docker 构建:
docker build -t mcp/brave-search:latest -f ./Dockerfile .执照
此 MCP 服务器采用 MIT 许可证。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。
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