Brave Search MCP服务器
MCP服务器实现集成了Brave Search API,提供了全面的搜索功能,包括网络搜索、本地商业搜索、地点搜索、图像搜索、视频搜索、新闻搜索、LLM上下文和人工智能摘要。此项目支持STDIO和HTTP传输,默认模式为STDIO。

迁移
1.x到2.x
现在默认传输STDIO
为了遵循既定的MCP惯例,服务器现在默认为STDIO。如果你想继续使用HTTP,你需要设置 BRAVE_MCP_TRANSPORT 环境变量 http,或提供运行时参数 --transport http 启动服务器时。
响应结构 brave_image_search
MCP服务器的1.x版本将返回base64编码的图像数据以及图像URL。这大大减慢了响应速度,并在会话中消耗了不必要的上下文。版本2.x删除base64编码的数据,并返回一个更接近反映原始Brave Search API响应的响应对象。更新的输出模式在中定义 src/tools/images/schemas/output.ts.
工具
网络搜索(brave_web_search)
使用丰富的结果类型和高级过滤选项执行全面的网络搜索。
参数:
query(字符串,必填):搜索词(最多400个字符,50个单词)country(字符串,可选):国家代码(默认值:“US”)search_lang(字符串,可选):搜索语言(默认:“en”)ui_lang(字符串,可选):用户界面语言(默认:“en-US”)count(数字,可选):每页结果(1-20,默认值:10)offset(数字,可选):分页偏移量(最大9,默认值:0)safesearch(字符串,可选):内容过滤(“关闭”、“中等”、“严格”,默认值:“中等”)freshness(字符串,可选):时间过滤器(“pd”、“pw”、“pm”、“py”或日期范围)text_decorations(布尔值,可选):包括突出显示标记(默认值:true)spellcheck(布尔值,可选):启用拼写检查(默认值:true)result_filter(数组,可选):筛选结果类型(默认值:\[“web”,“query”\])goggles(数组,可选):自定义重新排序定义units(字符串,可选):度量单位(“公制”或“英制”)extra_snippets(布尔值,可选):获取其他摘录(仅限专业版计划)summary(布尔值,可选):启用AI摘要的摘要密钥生成
本地搜索(brave_local_search)
搜索具有详细信息的本地企业和地点,包括评级、营业时间和人工智能生成的描述。
参数:
- 同
brave_web_search具有自动位置过滤功能 - 自动在result_filter中包含“web”和“位置”
注: 需要Pro计划才能获得完整的本地搜索功能。否则就回到网络搜索。
视频搜索(brave_video_search)
搜索具有全面元数据和缩略图信息的视频。
参数:
query(字符串,必填):搜索词(最多400个字符,50个单词)country(字符串,可选):国家代码(默认值:“US”)search_lang(字符串,可选):搜索语言(默认:“en”)ui_lang(字符串,可选):用户界面语言(默认:“en-US”)count(数字,可选):每页结果(1-50,默认值:20)offset(数字,可选):分页偏移量(最大9,默认值:0)spellcheck(布尔值,可选):启用拼写检查(默认值:true)safesearch(字符串,可选):内容过滤(“关闭”、“中等”、“严格”,默认值:“中等”)freshness(字符串,可选):时间过滤器(“pd”、“pw”、“pm”、“py”或日期范围)
图片搜索(brave_image_search)
搜索具有自动提取和base64编码的图像以直接显示。
参数:
query(字符串,必填):搜索词(最多400个字符,50个单词)country(字符串,可选):国家代码(默认值:“US”)search_lang(字符串,可选):搜索语言(默认:“en”)count(数字,可选):每页结果(1-200,默认值:50)safesearch(字符串,可选):内容过滤(“关闭”,“严格”,默认:“严格”)spellcheck(布尔值,可选):启用拼写检查(默认值:true)
新闻搜索(brave_news_search)
使用新鲜度控制和突发新闻指标搜索当前新闻文章。
参数:
query(字符串,必填):搜索词(最多400个字符,50个单词)country(字符串,可选):国家代码(默认值:“US”)search_lang(字符串,可选):搜索语言(默认:“en”)ui_lang(字符串,可选):用户界面语言(默认:“en-US”)count(数字,可选):每页结果(1-50,默认值:20)offset(数字,可选):分页偏移量(最大9,默认值:0)spellcheck(布尔值,可选):启用拼写检查(默认值:true)safesearch(字符串,可选):内容过滤(“关闭”、“中等”、“严格”,默认值:“中等”)freshness(字符串,可选):时间过滤器(默认值:“pd”表示过去24小时)extra_snippets(布尔值,可选):获取其他摘录(仅限专业版计划)goggles(数组,可选):自定义重新排序定义
摘要生成器搜索(brave_summarizer)
使用Brave的摘要API从web搜索结果生成AI摘要。
参数:
key(字符串,必填):网络搜索结果中的摘要键(使用summary: true在网络搜索中)entity_info(布尔值,可选):包含实体信息(默认值:false)inline_references(布尔值,可选):添加源URL引用(默认值:false)
用途: 首先使用执行网络搜索 summary: true,然后使用此工具返回的摘要键。
地点搜索(brave_place_search)
使用Brave‘s Place Search API搜索指定地理区域中的兴趣点(POI)。返回丰富、结构化的地点数据,包括名称、地址、开放时间、联系信息、评级、照片、类别和时区。
参数:
query(字符串,可选):用于优化POI搜索的查询字符串(最多400个字符,50个单词)。如果省略,则返回所提供区域中的一般兴趣点。latitude(数字,可选):搜索中心的纬度(-90到90)。通常与longitude.longitude(数字,可选):搜索中心的经度(-180到180)。通常与latitude.location(string,可选):位置字符串用作latitude/longitude。对于美国地区,请选择以下表格(例如。,san francisco ca united states);适用于非美国地区(例如。,tokyo japan).radius(数字,可选):在提供的坐标周围搜索半径,单位为米。如果省略,则全局执行搜索。count(number,可选):要返回的结果数(1-50,默认值20)。country(字符串,可选):两个字母的国家代码(默认值US).search_lang(字符串,可选):搜索语言(默认en).ui_lang(字符串,可选):UI语言(默认en-US).units(字符串,可选):距离单位(metric或imperial,默认值metric).safesearch(字符串,可选):安全搜索级别(off,moderate,strict,默认值strict).spellcheck(boolean,可选):是否对查询进行拼写检查(默认true).geoloc(字符串,可选):用于优化结果的可选地理定位标记。
可选请求标头:
api-version(字符串,可选):勇敢的API版本(YYYY-MM-DD)accept(字符串,可选):响应媒体类型(application/json或*/*)cache-control(字符串,可选):使用no-cache请求新鲜内容user-agent(string,可选):发起请求的用户代理
LLM背景(brave_llm_context)
检索针对AI代理、LLM基础和RAG管道优化的预提取web内容。
参数:
query(字符串,必填):搜索查询(最多400个字符,50个单词)country(字符串,可选):搜索国家代码search_lang(字符串,可选):搜索语言代码count(数字,可选):考虑的最大搜索结果数(1-50)spellcheck(布尔值,可选):启用拼写检查maximum_number_of_urls(数字,可选):要包含的URL的最大数量(1-50)maximum_number_of_tokens(数字,可选):上下文标记的大致最大数量(1024-32768)maximum_number_of_snippets(number,可选):要包含的最大片段数(1-256)context_threshold_mode(字符串,可选):阈值模式(“禁用”、“严格”、“宽松”、“平衡”)maximum_number_of_tokens_per_url(数字,可选):每个URL的最大令牌数(512-8192)maximum_number_of_snippets_per_url(数字,可选):每个URL的最大片段数(1-100)goggles(字符串或数组,可选):用于自定义重新排名的Goggle URL或定义freshness(字符串,可选):时间过滤器(“pd”、“pw”、“pm”、“py”或日期范围)enable_local(布尔值,可选):启用本地回调enable_source_metadata(布尔值,可选):包括源元数据丰富
可选请求标头:
x-loc-lat(数字,可选):客户纬度(-90到90)x-loc-long(数字,可选):客户端经度(-180到180)x-loc-city(字符串,可选):客户端城市名称x-loc-state(字符串,可选):客户端状态或地区代码x-loc-state-name(字符串,可选):客户端状态或区域名称x-loc-country(字符串,可选):客户国家代码x-loc-postal-code(字符串,可选):客户端邮政编码api-version(字符串,可选):勇敢的API版本(YYYY-MM-DD)accept(字符串,可选):响应媒体类型(“application/json”或“*/*")cache-control(字符串,可选):使用no-cache请求新鲜内容user-agent(string,可选):发起请求的用户代理
配置
获取API密钥
- 注册一个 勇敢搜索API帐户
- 选择一个计划:
- 搜索:您的聊天机器人和代理生成答案所需的实时搜索数据。完整的搜索结果(URL、文本、新闻、图像等),以及针对AI优化的额外LLM上下文。 - 答案:对任何问题的总结、完整答案。答案基于单次搜索或多次搜索,以提高准确性并减少幻觉。
- 从生成API密钥 开发人员仪表板
环境变量
服务器支持以下环境变量:
BRAVE_API_KEY:您的勇敢搜索API密钥(必需)BRAVE_MCP_TRANSPORT:传输模式(“http”或“stdio”,默认值:“stdio“)BRAVE_MCP_PORT:HTTP服务器端口(默认值:8000)BRAVE_MCP_HOST:HTTP服务器主机(默认值:“0.0.0.0”)BRAVE_MCP_LOG_LEVEL:所需的日志记录级别(“调试”、“信息”、“通知”、“警告”、“错误”、“严重”、“警报”或“紧急”,默认值:“信息”)BRAVE_MCP_ENABLED_TOOLS:使用时,为支持的工具指定一个空格分隔的白名单BRAVE_MCP_DISABLED_TOOLS:使用时,为支持的工具指定一个空格分隔的黑名单BRAVE_MCP_STATELESS:HTTP无状态模式(默认值:“true”)。在Amazon Bedrock Agentcore上运行时,设置为“true”。
命令行选项
node dist/index.js [options]
Options:
--brave-api-key Brave API key
--transport Transport type (default: stdio)
--port HTTP server port (default: 8080)
--host HTTP server host (default: 0.0.0.0)
--logging-level Desired logging level (one of _debug_, _info_, _notice_, _warning_, _error_, _critical_, _alert_, or _emergency_)
--enabled-tools Tools whitelist (only the specified tools will be enabled)
--disabled-tools Tools blacklist (included tools will be disabled)
--stateless HTTP Stateless flag安装
使用Claude Desktop
将此添加到您的 claude_desktop_config.json:
码头工人
{
"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"
}
}
}
}NPX
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@brave/brave-search-mcp-server", "--transport", "http"],
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}使用VS代码
为了快速安装,请使用下面的一键安装按钮:
](https://insiders.vscode.dev/redirect/mcp/install?name=brave-search&inputs=%5B%7B%22password%22%3Atrue%2C%22id%22%3A%22brave-api-key%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Brave+Search+API+Key%22%7D%5D&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22-e%22%2C%22BRAVE_API_KEY%22%2C%22mcp%2Fbrave-search%22%5D%2C%22env%22%3A%7B%22BRAVE_API_KEY%22%3A%22%24%7Binput%3Abrave-api-key%7D%22%7D%7D) ](https://insiders.vscode.dev/redirect/mcp/install?name=brave-search&inputs=%5B%7B%22password%22%3Atrue%2C%22id%22%3A%22brave-api-key%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Brave+Search+API+Key%22%7D%5D&config=%7B%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22-e%22%2C%22BRAVE_API_KEY%22%2C%22mcp%2Fbrave-search%22%5D%2C%22env%22%3A%7B%22BRAVE_API_KEY%22%3A%22%24%7Binput%3Abrave-api-key%7D%22%7D%7D&quality=insiders)
对于手动安装,请将以下内容添加到您的用户设置(JSON)或 .vscode/mcp.json:
码头工人
{
"inputs": [
{
"password": true,
"id": "brave-api-key",
"type": "promptString",
"description": "Brave Search API Key",
}
],
"servers": {
"brave-search": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "BRAVE_API_KEY", "mcp/brave-search"],
"env": {
"BRAVE_API_KEY": "${input:brave-api-key}"
}
}
}
}NPX
{
"inputs": [
{
"password": true,
"id": "brave-api-key",
"type": "promptString",
"description": "Brave Search API Key",
}
],
"servers": {
"brave-search-mcp-server": {
"command": "npx",
"args": ["-y", "@brave/brave-search-mcp-server", "--transport", "stdio"],
"env": {
"BRAVE_API_KEY": "${input:brave-api-key}"
}
}
}
}构建
码头工人
docker build -t mcp/brave-search:latest .本地建设
npm install
npm run build发展
先决条件
- Node.js 22.x或更高版本
- npm
- 勇敢搜索API密钥
设置
- 克隆存储库:
git clone https://github.com/brave/brave-search-mcp-server.git
cd brave-search-mcp-server- 安装依赖项:
npm install- 构建项目:
npm run build通过Claude Desktop进行测试
添加对本地内置程序的引用 claude_desktop_config.json:
{
"mcpServers": {
"brave-search-dev": {
"command": "node",
"args": ["C:\\GitHub\\brave-search-mcp-server\\dist\\index.js"], // Verify your path
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}通过MCP检查员进行测试
- 构建并启动服务器:
npm run build
node dist/index.js- 在另一个终端中,启动MCP检查器:
npx @modelcontextprotocol/inspector node dist/index.jsSTDIO是默认模式。对于HTTP模式测试,添加 --transport http 到检查器UI中的参数。
可用脚本
npm run build:构建TypeScript项目
npm run watch:观察变化并重建
npm run format:使用Prettier格式化代码
npm run format:check:检查代码格式
npm run prepare:格式化和构建(在npm install上自动运行)
npm run inspector:启动MCP Inspector的实例
npm run inspector:stdio:启动配置为STDIO的MCP Inspector实例
Docker Compose
使用Docker进行本地开发:
docker-compose up --build许可证
此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。

