@jujijigo/brave-search-mcp

中文文档
1.0.1发布于 2026/11/01MITES Module零依赖

勇敢的搜索API的MCP服务器,把网页搜索端点暴露成web_search工具

中文使用文档
文档目录9 节
  1. 使用
  2. 配置
  3. 环境变量
  4. 工具: web_search
  5. 开发
  6. 代码结构
  7. 本地运行
  8. 让客户端跑本地源码
  9. License

brave-search-mcp

Brave Search API 的 MCP 服务器。把 Brave 的 Web Search 端点(GET /res/v1/web/search)暴露成单个 web_search 工具,供 Claude Code 等 MCP 客户端调用。npm 包名叫 @jujijigo/brave-search-mcp。

服务器用 stdio 传输,stdout 只写 JSON-RPC,日志走 stderr。由 npx 按需拉起, 不需要预先安装。

使用

配置

在 MCP 客户端的配置文件里加一条即可。Claude Code 写在 ~/.claude.json 顶层的 mcpServers 里:

{
  "mcpServers": {
    "brave-search": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@jujijigo/brave-search-mcp@latest"],
      "env": {
        "BRAVE_API_KEY": "你的订阅令牌"
      }
    }
  }
}

改完重启客户端生效。

Claude Code 也可以用命令写入同样一段配置:

claude mcp add brave-search --scope user \
  -e BRAVE_API_KEY=你的订阅令牌 \
  -- npx -y @jujijigo/brave-search-mcp@latest

环境变量

变量必填说明
BRAVE_API_KEY是Brave Search 订阅令牌,也可用 BRAVE_SEARCH_API_KEY
BRAVE_BASE_URL否上游地址,默认 https://api.search.brave.com

缺少 API key 时服务器会打印一行说明并以退出码 1 结束,而不是带着空 key 去请求。

工具:web_search

参数类型说明
qstring(必填)查询词,支持 site:、ext:、intitle:、"精确短语"、-排除词
countinteger返回条数,默认 10,范围 1–20
offsetinteger翻页偏移,默认 0,范围 0–9(需配合相同的 count)
freshnessstringpd / pw / pm / py,或 YYYY-MM-DDtoYYYY-MM-DD
countrystring2 位国家码(US、CN、DE)或 ALL,默认 US
search_langstring语言码。中文只接受 zh-hans / zh-hant,服务器会把 zh、zh-cn、cn 等写法归一化
safesearchstringoff / moderate / strict
result_filterstring[]只取某类结果:web、news、discussions、faq、infobox、videos、locations、query
gogglesstring自定义排序规则,可传 GitHub 托管的 goggle 地址或内联规则
extra_snippetsboolean每条结果额外返回最多 5 段摘录
text_decorationsboolean摘要是否保留 <strong> 高亮标记,默认 false

响应会按 网页结果 / 新闻 / 论坛讨论 / 常见问题 / 视频 / 地点 / 知识卡片 分块渲染成纯文本:HTML 标签和实体被清洗掉,每条结果固定为 「标题 / 链接 / 时效·来源 / 摘要」的缩进格式。

未暴露的上游参数:ui_lang、units、spellcheck、operators、 enable_rich_callback、include_fetch_metadata——对检索结果影响很小, 或需要二次回调,为了让工具签名保持精简而略去。

开发

代码结构

文件职责
bin/brave-search-mcp.js可执行入口,只负责启动
src/server.jsJSON-RPC 分发与 stdio 生命周期
src/tools.js工具声明、参数校验与执行
src/brave.jsBrave API 客户端与错误整理
src/format.js响应渲染成纯文本

本地运行

BRAVE_API_KEY=你的令牌 npm start

手动跑一轮协议交互(stdin 每行一条 JSON-RPC 消息):

printf '%s\n' \
  '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' \
  '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"web_search","arguments":{"q":"hello"}}}' \
| BRAVE_API_KEY=你的令牌 node bin/brave-search-mcp.js

让客户端跑本地源码

把配置里的 args 指向仓库目录即可:

"args": ["-y", "D:/workspace/brave-search-mcp"]

注意别在仓库目录里执行这条 npx——npx 会优先解析当前目录的同名包,报 brave-search-mcp 不是内部或外部命令。从别的目录调用,或者直接用 node bin/brave-search-mcp.js。

License

MIT

版本与发布记录

@jujijigo/brave-search-mcp 共发布 3 个版本,首次发布于 2026/11/01;过去 12 个月发布了 3 个版本。

版本发布日期距今
1.0.1latest2026/11/011 天前
1.0.02026/11/011 天前
0.0.0-stage2026/11/011 天前

关于 @jujijigo/brave-search-mcp 的常见问题

@jujijigo/brave-search-mcp 是什么?

勇敢的搜索API的MCP服务器,把网页搜索端点暴露成web_search工具

如何安装 @jujijigo/brave-search-mcp?

在项目目录运行 npm install @jujijigo/brave-search-mcp,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 brave-search-mcp,可以用 npx brave-search-mcp 直接运行。

@jujijigo/brave-search-mcp 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/jujijigo__brave-search-mcp 是否存在。

@jujijigo/brave-search-mcp 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@jujijigo/brave-search-mcp 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@jujijigo/brave-search-mcp 可以商用吗?

@jujijigo/brave-search-mcp 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@jujijigo/brave-search-mcp 还在维护吗?

最新版本 1.0.1 发布于 2026/11/01(1 天前);至今共发布 3 个版本,其中过去 12 个月发布了 3 个;首次发布于 2026/11/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。