使用说明
Brave Search MCP服务器
集成了以下功能的MCP服务器实现 勇敢搜索API,提供Web搜索、本地兴趣点搜索、视频搜索、图像搜索、新闻搜索和LLM上下文搜索功能
特征
- 网络搜索:定期在网上搜索
- 图像搜索:在网上搜索图片。
- 新闻搜索:在网上搜索新闻
- 视频搜索:在网上搜索视频
- 本地兴趣点搜索:搜索当地的物理位置、企业、餐馆、服务等
- LLM上下文搜索:获取并提取针对阅读和合成源进行优化的完整网页内容
工具
-
勇敢的网络搜索
- 使用Brave的API执行网络搜索
- 输入:
query(string):在互联网上搜索的术语count(number,可选):要返回的结果数(最大20,默认10)offset(number,可选,默认为0):分页偏移量freshness(enum,可选):根据搜索结果的发现时间进行筛选- 支持以下值
- pd:在过去24小时内发现。
- pw:在过去7天内发现。
- 下午:在过去31天内发现。
- py:在过去365天内发现
- YYYY MM DD到YYYY MM DD:自定义日期范围(例如,2022-04-01到2022-07-30)
- 支持以下值
-
勇敢图片搜索
- 从网络上获取与查询相关的图像
- 输入:
query(string):在互联网上搜索以下图片的术语count(number,可选):要返回的图像数量(最大50,默认10)
-
勇敢_新闻_搜索
- 在网上搜索新闻
- 输入:
query(string):在互联网上搜索新闻文章、热门话题或最近事件的术语count(number,可选):要返回的结果数(最大20,默认10)offset(数字,可选,默认0):分页的从零开始的偏移量(最大9)freshness(enum,可选):根据搜索结果的发现时间进行筛选- 支持以下值
- pd:在过去24小时内发现。
- pw:在过去7天内发现。
- 下午:在过去31天内发现。
- py:在过去365天内发现
- YYYY MM DD到YYYY MM DD:自定义日期范围(例如,2022-04-01到2022-07-30)
- 支持以下值
-
勇敢的探索
- 搜索当地企业、服务和兴趣点
- 如果没有找到位置结果,则返回到初始页面上的brave_web_search
- 输入:
query(string):本地搜索词count(number,可选):要返回的结果数(最大20,默认5)offset(数字,可选,默认0):分页的从零开始的偏移量(最大9)
-
勇敢_视频_搜索
- 在网上搜索视频
- 输入:
query:(string):用于搜索视频的术语count:(数字,可选):要返回的视频数量(最多20个,默认10个)offset(数字,可选,默认0):分页的从零开始的偏移量(最大9)freshness(enum,可选):根据搜索结果的发现时间进行筛选- 支持以下值
- pd:在过去24小时内发现。
- pw:在过去7天内发现。
- 下午:在过去31天内发现。
- py:在过去365天内发现
- YYYY MM DD到YYYY MM DD:自定义日期范围(例如,2022-04-01到2022-07-30)
- 支持以下值
-
brave_llm_context_search
- 预提取的web内容针对AI代理、LLM基础和RAG管道进行了优化。
- 使用Brave的
balanced上下文阈值模式compact模式并禁用Brave相关性过滤full模式。 - 输入:
query(string):搜索查询。最多400个字符和50个单词。url(字符串,可选):目标的可选URL。如果提供了查询和URL,则会将其组合起来进行检索,并且只返回此确切URL的片段。count(number,可选,默认8):考虑的最大搜索结果数。最小1,最大50。maximumNumberOfUrls(number,可选,默认8):响应中包含的URL的最大数量。最小1,最大50。maximumNumberOfTokens(number,可选,默认2048):返回上下文中令牌的大致最大数量。最小1024,最大32768。maximumNumberOfSnippets(number,可选,默认16):所有URL中的最大代码段数。最小1,最大100。maximumNumberOfTokensPerUrl(number,可选,默认512):每个URL的最大令牌数。最小512,最大8192。maximumNumberOfSnippetsPerUrl(number,可选,默认值2):每个URL的最大代码段数。最小值1,最大值100。responseMode(枚举,可选,默认compact):compact应用Brave的balanced相关性过滤加上局部片段过滤/截断。full禁用Brave的相关性过滤,并返回未经本地过滤或截断的原始片段。maxSnippetChars(数字,可选,默认400):压缩模式下每个代码段的最大字符数。最小80,最大4000。maxOutputChars(数字,可选,默认8000):紧凑模式下的最大序列化响应大小。最低1000,最高100000。
OpenAI应用程序和MCP应用程序支持
▶️ Click to watch the demo video
现在支持 OpenAI应用程序 和 MCP应用程序 在这个MCP服务器中。当为每个工具启用UI模式时,都有一个相应的UI小部件,让您控制添加到模型上下文中的内容。请参阅中的说明 使用ChatGPT部分.
配置
获取API密钥
运行时模式
默认情况下,MCP服务器在stdio模式下运行。
BRAVE_API_KEY="your_key_here" npx -y brave-search-mcp
要启用流式HTTP模式:
BRAVE_API_KEY="your_key_here" npx -y brave-search-mcp --http
默认情况下,服务器监听端口3001。 URL为:
http://0.0.0.0:3001/mcp
有两种配置模式:
- Env模式:
BRAVE_MCP_CONFIG未设置。功能切换来自环境变量,与之前的版本完全相同。 - 文件模式:
BRAVE_MCP_CONFIG=/path/to/config.toml已设置。TOML文件成为功能设置的唯一真实来源,重叠的功能环境变量将被忽略并发出警告。
仅环境设置
无论模式如何,这些设置始终从流程环境中读取:
BRAVE_API_KEY(必需):勇敢搜索API密钥。PORT(可选):HTTP端口(默认值:3001).HOST(可选):要绑定的接口(默认值:0.0.0.0).BRAVE_MCP_CONFIG(可选):功能设置的TOML配置文件的绝对或相对路径。
环境模式功能设置
当 BRAVE_MCP_CONFIG 如果未设置,则支持以下功能env变量:
ALLOWED_HOSTS(仅限HTTP模式):以逗号分隔的主机名列表,用于主机头验证。- 例子:
ALLOWED_HOSTS=localhost,127.0.0.1,my-app.ngrok-free.app - 仅使用主机名(无方案/路径),例如。
my-app.ngrok-free.app不https://my-app.ngrok-free.app/mcp
- 例子:
BRAVE_MCP_POLICY_FILE:JSON策略文件路径。BRAVE_MCP_POLICY_REDACT:true编辑匹配的文本,而不是将其屏蔽。BRAVE_MCP_REQUEST_LIMIT:正整数请求上限。BRAVE_MCP_WINDOW_SECONDS:非负整数滚动窗口大小。BRAVE_MCP_COOLDOWN_SECONDS:超过限制后的非负整数冷却时间。BRAVE_MCP_AUDIT_LOG:true以发出审计日志。BRAVE_MCP_AUDIT_LOG_RAW:true在审计日志中包含原始查询文本。BRAVE_MCP_REQUIRE_JUSTIFICATION:true拒绝没有justification弦。
示例:
# Local only
HOST=127.0.0.1 ALLOWED_HOSTS=localhost,127.0.0.1 BRAVE_API_KEY="your_key_here" npx -y brave-search-mcp --http
# Local with ngrok tunnel
HOST=127.0.0.1 ALLOWED_HOSTS=localhost,127.0.0.1,my-app.ngrok-free.app BRAVE_API_KEY="your_key_here" npx -y brave-search-mcp --http --ui
文件模式(BRAVE_MCP_CONFIG)
当 BRAVE_MCP_CONFIG 设置后,该文件控制功能配置,包括HTTP主机分配列表。
[auth]
httpApiKey = "sk-..."
requireAuth = true
callerId = "team-a"
[auth.jwt]
jwksUri = "https://idp.example.com/.well-known/jwks.json"
audience = "brave-search-mcp"
clockSkewSeconds = 30
[auth.oauth]
issuer = "https://idp.example.com"
audience = "brave-search-mcp"
clientId = "client-123"
clientSecret = "super-secret"
verifyStrategy = "jwks"
[audit]
enabled = true
logRaw = false
hmacSecret = "audit-secret"
[policy]
file = "/etc/brave-mcp/policy.json"
redact = false
[guardrail]
requestLimit = 100
windowSeconds = 60
cooldownSeconds = 10
requireJustification = false
[server]
allowedHosts = [
"localhost",
"127.0.0.1",
"my-app.ngrok-free.app",
]
笔记:
BRAVE_API_KEY,PORT,以及HOST即使在文件模式下,也只保留环境。- 如果设置重叠功能环境变量,例如
BRAVE_MCP_REQUEST_LIMIT或ALLOWED_HOSTS旁边BRAVE_MCP_CONFIG,初创公司警告称,他们被忽视了。 - 未知的TOML键也会发出警告,例如拼写错误
[guardrails]在调试运行时行为之前可见。
要在不启动服务器的情况下验证配置文件,请在构建应用程序工作区后使用打包的入口点:
pnpm -C apps/brave-search-mcp run build
node apps/brave-search-mcp/dist/index.js --check-config ./apps/brave-search-mcp/test/fixtures/config.valid.toml
要在文件模式下运行构建的本地入口点,请执行以下操作:
pnpm -C apps/brave-search-mcp run build
BRAVE_API_KEY="your_key_here" BRAVE_MCP_CONFIG="$PWD/apps/brave-search-mcp/test/fixtures/config.valid.toml" node apps/brave-search-mcp/dist/index.js --http
使用ChatGPT
Brave Search MCP服务器可以与ChatGPT的web UI一起使用。这需要几个步骤。
1.在ChatGPT中启用开发人员模式
设置→ Apps → 高级设置→ 开发者模式
附加说明 这里
2.在HTTP模式和UI模式下运行Brave Search MCP
BRAVE_API_KEY="your_key_here" npx -y brave-search-mcp --http --ui
3.创建本地隧道,将MCP服务器暴露给ChatGPT
注册并配置 吸烟,免费计划有效。
ngrok http 3001
记下转发URL。
...
Forwarding https://john-joe-asdf.ngrok-free.dev -> http://localhost:3001
...
4.将Brave Search MCP添加为ChatGPT的连接器
单击应用程序
单击“创建应用程序”
使用步骤3中的URL作为MCP服务器URL填写表格,但添加 /mcp.
https://john-joe-asdf.ngrok-free.dev/mcp
对于身份验证,选择“无身份验证”
勾选“我理解并想继续”复选框
然后单击“创建”。
5.使用Brave Search MCP服务器
在ChatGPT UI中,单击“+”按钮,滚动到“”。..more',选择新创建的Brave Search应用程序,然后输入您的查询。
使用Claude代码
对于 克劳德代码 用户,运行以下命令:
窗户:
claude mcp add-json brave-search '{"command":"cmd","args":["/c","npx","-y","brave-search-mcp"],"env":{"BRAVE_API_KEY":"YOUR_API_KEY_HERE"}}'
Linux/macOS:
claude mcp add-json brave-search '{"command":"npx","args":["-y","brave-search-mcp"],"env":{"BRAVE_API_KEY":"YOUR_API_KEY_HERE"}}'
替换 YOUR_API_KEY_HERE 使用实际的Brave Search API密钥。
使用Claude Desktop
MCP束(MCPB)
- 下载
mcpb文件来自 发布 - 使用Claude Desktop打开它 或 转到文件->设置->扩展,将.mcpb文件拖动到窗口进行安装
码头工人
- 克隆仓库
- 从repo根构建映像
docker build -t brave-search-mcp:latest -f apps/brave-search-mcp/Dockerfile .
- 如果你想要HTTP模式,直接运行它:
docker run --rm -p 3001:3001 -e BRAVE_API_KEY="YOUR_API_KEY_HERE" brave-search-mcp:latest --http
- 将此添加到您的
claude_desktop_config.json对于stdio模式:
{
"mcp-servers": {
"brave-search": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"BRAVE_API_KEY",
"brave-search-mcp"
],
"env": {
"BRAVE_API_KEY": "YOUR API KEY HERE"
}
}
}
}
NPX
将此添加到您的 claude_desktop_config.json:
{
"mcp-servers": {
"brave-search": {
"command": "npx",
"args": [
"-y",
"brave-search-mcp"
],
"env": {
"BRAVE_API_KEY": "YOUR API KEY HERE"
}
}
}
}
使用LibreChat
将此添加到librechat.yaml
brave-search:
command: sh
args:
- -c
- BRAVE_API_KEY=API KEY npx -y brave-search-mcp
贡献
欢迎投稿!看 贡献.md 用于开发设置、monorepo结构和发布说明。 有关UI构建工作流的详细信息,包括入口点编排器,请参阅 UI构建编排器.
免责声明
此库与Brave Software没有正式关联。它是Brave Search API的第三方实现,带有MCP服务器。
许可证
此项目根据GNU通用公共许可证v3.0获得许可-请参阅 许可证 文件以获取详细信息。