项目简介
这是一个实现了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部署,步骤如下:
- 获取Brave Search API Key:
- 访问 Brave Search API 网站注册账号。
- 选择一个计划(提供免费层级)。
- 在开发者面板生成你的API Key。
- 拉取Docker镜像:
docker pull shoofio/brave-search-mcp-sse:latest - 运行Docker容器:
将'YOUR_API_KEY_HERE'替换为你获取的API Key。
服务器将在主机的 8080 端口启动并监听连接。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
其他部署方式(如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