勇于搜索 MCP 服务器
整合了"勇者搜索"API的MCP服务器实施,提供了包括网络搜索,本地业务搜索,地盘搜索,图像搜索,视频搜索,新闻搜索,LLM上下文,以及AI动力的汇总等综合搜索能力. 该项目支持STDIO和HTTP运输,以STDIO为默认模式.
移徙
1.x至2.x (中文(简体) )
现在的默认传输 STIO
要遵循已确立的 MCP 常规,服务器现在默认为 STIO 。 如果您想继续使用 HTTP, 您需要设置 BRAVE_MCP_TRANSPORT 环境变量改为 http,或提供运行时参数 --transport http 当启动服务器时.
反应结构 brave_image_search
MCP服务器的1.x版本将返回基数64编码的图像数据以及图像URL. 这大大地减缓了反应的速度,也使本届会议失去必要的背景。 2.x版本删除了基数64-编码后的数据,并返回一个更紧密地反映原始"勇敢搜索"API响应的响应对象. 更新的产出计划定义于 src/tools/images/schemas/output.ts。 。 。 .
工具
网络搜索( E)brave_web_search(中文(简体) )
进行内容丰富的结果类型和高级过滤选项的综合网络搜索.
参数:
query(字符串,需要):搜索名词(最多400个字符,50个字)country(弦,可选): 国家代码( 默认: “ US ” )search_lang(字符串,可选):搜索语言(默认:"en")ui_lang(字符串,可选):UI语言(默认:"en-US")count(数字,可选):每页结果(1-20,默认:10)offset(数字,可选):平分偏移(最大9分,默认:0分)safesearch(弦,可选): 内容过滤 ("关闭","中度","严格",默认:"中度")freshness(弦,可选): 时间过滤器 ("pd","pw","pm","py",或日期范围)text_decorations(布尔,可选): 包含突出显示标记( 默认: 真)spellcheck(布尔,可选): 启用拼写检查( 默认: 真)result_filter(阵列,可选): 过滤结果类型( 默认 : ["web", "query"])goggles(阵列,可选): 自定义重新排序units(字符串,可选):测量单位 ("计量"或"帝国")extra_snippets(布尔,可选): 获取更多节选( 仅限计划)summary(布尔,可选): 为 AI summarization 启用摘要密钥生成
本地搜索( O)brave_local_search(中文(简体) )
搜索当地企业和地点,详细信息包括收视率,小时和AI生成的描述.
参数:
- 与
brave_web_search自动过滤位置 - 在结果 filter 中自动包含“ web” 和“ 位置 ”
说明: 需要完全本地搜索能力的Pro计划. 否则就回网络搜索.
视频搜索( E)brave_video_search(中文(简体) )
搜索带有综合元数据和缩略图信息的视频.
参数:
query(字符串,需要):搜索名词(最多400个字符,50个字)country(弦,可选): 国家代码( 默认: “ US ” )search_lang(字符串,可选):搜索语言(默认:"en")ui_lang(字符串,可选):UI语言(默认:"en-US")count(数字,可选):每页(1-50,默认:20)offset(数字,可选):平分偏移(最大9分,默认:0分)spellcheck(布尔,可选): 启用拼写检查( 默认: 真)safesearch(弦,可选): 内容过滤 ("关闭","中度","严格",默认:"中度")freshness(弦,可选): 时间过滤器 ("pd","pw","pm","py",或日期范围)
图像搜索( E)brave_image_search(中文(简体) )
搜索带有元数据的图像,包括URL,维度,和信心分数.
参数:
query(字符串,需要):搜索名词(最多400个字符,50个字)country(弦,可选): 国家代码( 默认: “ US ” )search_lang(字符串,可选):搜索语言(默认:"en")count(数字,可选):每页结果 (1-200,默认:50)safesearch(弦,可选): 内容过滤 ("关闭","严格",默认:"严格")spellcheck(布尔,可选): 启用拼写检查( 默认: 真)
新闻搜索( E)brave_news_search(中文(简体) )
以新鲜度控制和突发新闻指标搜索时事新闻文章.
参数:
query(字符串,需要):搜索名词(最多400个字符,50个字)country(弦,可选): 国家代码( 默认: “ US ” )search_lang(字符串,可选):搜索语言(默认:"en")ui_lang(字符串,可选):UI语言(默认:"en-US")count(数字,可选):每页(1-50,默认:20)offset(数字,可选):平分偏移(最大9分,默认:0分)spellcheck(布尔,可选): 启用拼写检查( 默认: 真)safesearch(弦,可选): 内容过滤 ("关闭","中度","严格",默认:"中度")freshness(弦,可选): 时间过滤器( 默认: "pd" for last 24 hours)extra_snippets(布尔,可选): 获取更多节选( 仅限计划)goggles(阵列,可选): 自定义重新排序
汇总搜索( E)brave_summarizer(中文(简体) )
利用Brave的总结API从网络搜索结果中生成AI-power摘要.
参数:
key(字符串,要求): 网络搜索结果摘要(使用)summary: true在网络搜索中)entity_info(布尔,可选): 包含实体信息( 默认: 假)inline_references(布尔,可选): 添加源 URL 引用( 默认: 虚假)
用法 : 首先使用 summary: true,然后用此工具使用返回的摘要密钥.
地点搜索( E)brave_place_search(中文(简体) )
使用 Brave 的 Place 搜索 API 在指定地理区域搜索感兴趣的点( POPs) 。 返回内容丰富,结构分明的地点数据,包括名称,地址,开放时间,联系信息,收视率,相片,分类,以及时区等.
参数:
query(弦,可选): 用于完善POI搜索的查询字符串(最大400个字符,50个字). 省略时,返回所提供地区的一般利益点.latitude(数字,可选):搜索中心纬度(-90到90). 通常配对longitude。 。 。 .longitude(数字,可选):搜索中心的经度(-180至180). 通常配对latitude。 。 。 .location(弦,可选): 用作替代位置字符串latitude编号 :longitude。对于美国,更喜欢表格<city> <state> <country name>(例如,san francisco ca united states);用于非美国地点<city> <country name>(例如,tokyo japan) (中文(简体) ).radius(数目,可选): 搜索半径围绕提供的坐标,以米计. 如果省略,则在全球范围内进行搜索.count(数字,可选):返回的结果数(1-50,默认为20).country(弦,可选): 双字母国家代码( 默认)US) (中文(简体) ).search_lang(弦,可选): 搜索语言( 默认)en) (中文(简体) ).ui_lang(字符串,可选):UI语言(默认)en-US) (中文(简体) ).units(弦,可选): 距离单位(metric或者说imperial默认值metric) (中文(简体) ).safesearch(弦,可选): 安全搜索级别off, (中文(简体) ),moderate, (中文(简体) ),strict默认值strict) (中文(简体) ).spellcheck(布尔,可选): 是否拼写检查查询( 默认)true) (中文(简体) ).geoloc(弦,可选): 选取地理定位符号用来完善结果.
可选请求头 :
api-version(字符串,可选):勇敢的API版本(YYYY-MM-DD(中文(简体) )accept(弦,可选): 反应媒体类型application/json或者说*/*(中文(简体) )cache-control(弦,可选): 使用no-cache请求新内容user-agent(弦,可选): 生成请求的用户代理
LLM 上下文brave_llm_context(中文(简体) )
检索预取的网络内容优化为AI代理,LLM地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地取地.
参数:
query(字符串,需要):搜索查询(最多400个字符,50个字)country(弦,可选): 搜索国家代码search_lang(弦,可选): 搜索语言代码count(数目,可选):考虑的搜索结果最多(1-50)spellcheck(布尔,可选): 启用拼写检查maximum_number_of_urls(数目,可选):包括(1-50)的最大URL数目maximum_number_of_tokens(数目,可选): 上下文符号的大概最大数量( 1024-32768)maximum_number_of_snippets(数字,可选):包含的最大片段数 (1-256)context_threshold_mode(弦,可选): 阈值模式 ("残疾","严格","放任","平衡")maximum_number_of_tokens_per_url(数字,可选):每个 URL (512-8192) 的最大符号maximum_number_of_snippets_per_url(数字,可选):每个URL的最大片段(1-100)goggles(字符串或数组,可选): 瞄准 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(字符串,可选):反应介质类型 ("应用程序/json"或")编号 :" )cache-control(弦,可选): 使用no-cache请求新内容user-agent(弦,可选): 生成请求的用户代理
配置
获取 API 密钥
- 报名一个 勇敢搜索 API 账户
- 选择一个计划 :
- 搜索: 您的聊天员和代理商需要实时搜索数据以生成答案 。 完整的搜索结果(URLs,文本,新闻,图像等),额外的LLM上下文对AI进行了优化.
- 答复:总结,完成回答任何问题. 答案基于一次搜索或多次搜索,以获得更好的准确性并减少幻觉.
- 从中生成您的 API 密钥 开发者仪表板
环境变量
服务器支持以下环境变量:
BRAVE_API_KEY: 您的勇者搜索 API 密钥( 除非BRAVE_API_KEY_FILE设置)BRAVE_API_KEY_FILE: 包含您勇敢搜索 API 密钥的文件路径 。 设定时,此选项优先于BRAVE_API_KEY对Docker的秘密和类似的秘密设置很有用.BRAVE_MCP_TRANSPORT:运输模式 ("http"或"stdio",默认:"stdio")BRAVE_MCP_PORT: HTTP 服务器端口( 默认: 8080)BRAVE_MCP_HOST: HTTP 服务器主机(默认为"127.0.0.1"). 套接字只默认回回;设置为"0.0.0.0",以在所有接口(需要内置容器和亚马逊Bedrock Agent Core)上曝光服务器. 只在信任的网络上这样做,因为HTTP的端点没有认证.BRAVE_MCP_ALLOWED_ORIGINS: 空格或逗号分隔的额外列表OriginhTTP 传输允许的标题值 。 循环源头总是允许的; 浏览器请求中包含任何其他Origin与 HTTP 403 一同拒绝,以防止 DNS 重新绑定。 当一个基于浏览器的客户端在真实域上需要访问时设置此功能.BRAVE_MCP_ALLOWED_HOSTS: 空格或逗号HosthTTP运输机头. 匹配只在主机名上,且对大小写不敏感;条目中的数字端口(例如.mcp.example.com:8080)被接受,但在匹配时被忽略。 可选的、选择的辩护深度:当未设置(默认)时Host头部未验证,因此反向代理和自定义域部署不受影响. 设定时,仅接受回转主机和所列出的主机名;任何其他Host(包括畸形/非数字端口)与HTTP 403被拒绝.BRAVE_MCP_LOG_LEVEL: 理想的日志级别("调试","信息","通知","警告","错误","关键","警报",或"紧急",默认:"信息")BRAVE_MCP_ENABLED_TOOLS: 当使用时, 为辅助工具指定一个空格分隔的白名单BRAVE_MCP_DISABLED_TOOLS: 当使用时, 指定一个支持工具的空格分隔黑名单BRAVE_MCP_STATELESS: HTTP 无国籍模式(默认为"真"). 当运行在亚马逊 Bedrock Agentcore, 设置为"真实".
命令行选项
node dist/index.js [options]
Options:
--brave-api-key <string> Brave API key
--brave-api-key-file <string> Path to file containing Brave API key
--transport <stdio|http> Transport type (default: stdio)
--port <number> HTTP server port (default: 8080)
--host <string> HTTP server host (default: 127.0.0.1)
--allowed-origins <origins...> Allowed Origin header values for HTTP transport (DNS rebinding protection)
--allowed-hosts <hosts...> Allowed Host header values for HTTP transport (opt-in DNS rebinding protection)
--logging-level <string> 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 <boolean> HTTP Stateless flag
安装
使用 Claude 桌面
将此添加到您的 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"
}
}
}
}
国家PX
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@brave/brave-search-mcp-server", "--transport", "http"],
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
使用 VS 代码
为快速安装,请使用下面的一击安装按钮:
手动安装时,请在您的用户设置( 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}"
}
}
}
}
国家PX
{
"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}"
}
}
}
}
使用 fx 时使用
将此添加到您的 ~/.fx/mcp.json,创建文件,如果它不存在:
夹克
{
"mcp": {
"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"
}
}
}
}
国家PX
{
"mcp": {
"brave-search": {
"command": "npx",
"args": ["-y", "@brave/brave-search-mcp-server", "--transport", "stdio"],
"env": {
"BRAVE_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
开始 fx, 或类型 /mcp reload 如果它已经运行。 用于验证连接, 类型 /mcp list。 。 。 .
构建
夹克
docker build -t mcp/brave-search:latest .
本地构建
npm install
npm run build
发展
先决条件
- 节点.js 22.x以上
- 无
- 勇于搜索 API 密钥
设置
- 清除仓库 :
git clone https://github.com/brave/brave-search-mcp-server.git
cd brave-search-mcp-server
- 安装依赖性 :
npm install
- 构建工程 :
npm run build
通过 Claude 桌面测试
在 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检查员进行测试
检查员要求22.19号或更新.
科学、技术和科学司 ——检查员自己发射服务器,所以一个终端就够了:
npm run build
npx @modelcontextprotocol/inspector node dist/index.js
HTTP 密码 ——检查员连接到一个URL,所以服务器必须已经监听:
# terminal 1
npm run serve:http
# terminal 2
npm run inspector:http
serve:http 建造、装订 127.0.0.1:8080,并读取 BRAVE_API_KEY 从 .env。 。 。 .
可用的脚本
-
npm run build: 构建 TypeScript 项目 -
npm run watch: 注意变化并重建 -
npm test: 运行测试套件 -
npm run format: 有 Pretier 格式代码 -
npm run format:check: 检查代码格式 -
npm run prepare: 格式和构建(在npm安装上自动运行) -
npm run serve:http: 构建,然后通过 HTTP 在http://127.0.0.1:8080/mcp -
npm run inspector: 启动一个MCP检查员实例 -
npm run inspector:http: 发射MCP 反对http://127.0.0.1:8080/mcp
多克编曲
本地开发与 Docker :
docker-compose up --build
设定 BRAVE_API_KEY (或 BRAVE_API_KEY_FILE在你的外壳或一个 .env 开始堆栈前的文件。 默认 docker-compose.yml 还接受 BRAVE_API_KEY_FILE 当路径在容器内有效时(例如,从绑定的挂载或多克的秘密中).
Docker 编译机密( 可选)
为避免将 API 密钥放入环境变量中, 您可以使用 编曲秘密。服务器从路径读取密钥 BRAVE_API_KEY_FILE,必须存在于容器内.
- 复制示例密钥并添加您的密钥 :
cp secrets/brave_api_key.txt.example secrets/brave_api_key.txt
- 启动可选密钥覆盖的堆栈 :
docker compose -f docker-compose.yml -f docker-compose.secrets.example.yml up --build
控制器将秘密挂载在 /run/secrets/brave_api_key 组合 BRAVE_API_KEY_FILE 相应. 见 docker-compose.secrets.example.yml 用于完整的配置.
许可证
这个MCP服务器根据麻省理工学院许可证获得许可. 这意味着您可以自由使用,修改并分发软件,但须遵守麻省理工学院许可证的条款和条件. 详情请参见项目仓库中的LICENSE文件.