项目简介

这是一个实现了Model Context Protocol (MCP) 的服务器,专门通过Server-Sent Events (SSE) 传输方式,将Brave Search的网页搜索和本地搜索功能暴露给支持MCP协议的大语言模型(LLM)客户端。它作为LLM的工具提供者,让LLM能够访问最新的网络信息。

主要功能点

  • 网页搜索: 通过Brave Search API执行通用网络搜索,获取网页结果、新闻等。
  • 本地搜索: 查找本地商家和地点,如餐厅、服务等,并提供详细信息。
  • 智能回退: 如果本地搜索没有找到结果,会自动尝试执行网页搜索。
  • 流式传输 (SSE): 使用Server-Sent Events协议,实现搜索结果和工具执行状态的实时、高效流式传输。
  • MCP协议兼容: 完全遵循Model Context Protocol标准,可与兼容的客户端无缝集成。
  • 便捷部署: 提供Docker镜像和Helm Chart,方便在不同环境(如本地、服务器、Kubernetes)部署。

安装步骤

推荐使用Docker部署,步骤如下:

  1. 获取Brave Search API Key:
    • 访问 Brave Search API 网站注册账号。
    • 选择一个计划(提供免费层级)。
    • 在开发者面板生成你的API Key。
  2. 拉取Docker镜像:
    docker pull shoofio/brave-search-mcp-sse:latest
  3. 运行Docker容器: 将'YOUR_API_KEY_HERE'替换为你获取的API Key。
    docker run -d --rm \
      -p 8080:8080 \
      -e BRAVE_API_KEY="YOUR_API_KEY_HERE" \
      --name brave-search-server \
      shoofio/brave-search-mcp-sse:latest
    服务器将在主机的 8080 端口启动并监听连接。

其他部署方式(如Helm、本地运行)请参考项目仓库的'README.md'。

服务器配置(供MCP客户端连接)

MCP客户端(如Cursor、支持MCP的LLM应用)需要配置如何连接到此服务器。由于这是一个网络服务器(通过HTTP/SSE提供服务),客户端不需要知道启动命令或参数,只需要知道服务器的地址、端口和传输协议。

大多数支持SSE传输的MCP客户端需要类似以下的配置(具体格式请参考你的MCP客户端文档):

{
  "mcpServers": {
    "brave-search-provider": { // 服务器的唯一标识名称,可自定义
      "transport": "sse", // 指定传输协议为 SSE
      "url": "http://localhost:8080/sse" // 服务器的SSE端点地址
      // 如果部署在远程服务器或Kubernetes,请将 "localhost:8080"
      // 替换为实际可访问的IP地址/域名和端口
    }
    // 其他可能的配置,如能力声明等,取决于客户端和服务器支持的功能
  }
}

配置说明:

  • 'transport': 必须设置为 'sse'。
  • 'url': 服务器监听的地址和端口,加上 '/sse' 路径。例如,如果你部署在 'your-server.com' 的默认 HTTP 端口(80),则URL可能是 'http://your-server.com/sse';如果部署在端口 '8080',则可能是 'http://your-server.com:8080/sse'。

配置完成后,重启你的MCP客户端,客户端应该能够发现并连接到此Brave Search MCP服务器。

基本使用方法

一旦MCP客户端成功连接到Brave Search MCP服务器,你就可以在客户端中与LLM互动。当LLM判断需要进行网页搜索或查找本地信息时,它会通过MCP协议自动调用服务器提供的工具('brave_web_search' 或 'brave_local_search')。

例如,你可以在MCP客户端中向LLM提问:

  • "最新的AI新闻是什么?" (可能触发网页搜索)
  • "纽约中央公园附近有什么好吃的披萨店?" (可能触发本地搜索)

LLM会根据你的提问,利用服务器提供的工具执行搜索,并将结果融入其响应中。

信息

分类

网页与API