Brave Search SSE

Brave Search SSE

🚀 勇敢搜索 MCP 服务带 SSE 支持

这是一个提供勇敢搜索功能的模型上下文协议(MCP)服务器,它集成了服务器发送事件(SSE)。该服务可以部署到 Coolify 并作为实时搜索服务使用,为用户提供高效、实时的搜索体验。

✨ 主要特性

  • 集成 Brave Search API 的 MCP 协议,让搜索功能更强大。
  • 通过 SSE 实现实时搜索结果,让用户第一时间获取信息。
  • 支持 Docker 和 Coolify 部署,方便快捷。
  • 使用 TypeScript 实现,代码结构清晰、易于维护。
  • 具备 Express.js SSE 端点,便于集成和使用。

📦 安装指南

先决条件

  • 勇敢搜索 API 密钥
  • Node.js 18+ 版本
  • Docker(用于容器化部署)
  • Coolify 实例

本地开发

  1. 克隆仓库。
  2. 创建一个 .env 文件并添加你的 Brave API 密钥:
    BRAVE_API_KEY=your_api_key_here
    PORT=3001
    
  3. 安装依赖项:
    npm install
    
  4. 启动开发服务器:
    npm run dev
    

Docker 部署

使用 docker-compose 构建并运行:

docker-compose up --build

Coolify 部署

  1. 在你的 Coolify 控制台中,创建一个新的服务。
  2. 选择“从源部署”。
  3. 配置如下:
    • 仓库 URL:你的仓库 URL
    • 分支:main
    • 构建命令:npm run build
    • 启动命令:npm start
    • 端口:3001
    • 环境变量:
      • BRAVE_API_KEY=your_api_key_here
      • PORT=3001

💻 使用示例

SSE 集成

SSE 端点

GET http://你的服务器:3001/sse

通过 SSE 端点提供实时搜索结果。使用 EventSource API 连接:

const eventSource = new EventSource('http://你的服务器:3001/sse');

eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
// 处理搜索结果
console.log(data);
};

eventSource.onerror = (error) => {
console.error('SSE 错误:', error);
eventSource.close();
};

消息端点

POST http://你的服务器:3001/messages
Content-Type: application/json

{
"query": "你的搜索查询",
"count": 10  // 可选, 默认值:10,最大值:20
}

使用此端点触发搜索,结果将广播到所有连接的 SSE 客户端。

MCP 使用

服务器提供以下 MCP 工具:

  • brave_web_search:通过 Brave Search API 执行网络搜索
    {
    query: string;    // 搜索查询
    count?: number;   // 结果数量(1-20, 默认值:10)
    }
    

🔧 技术细节

错误处理

  • 服务器将错误广播到所有连接的 SSE 客户端。
  • 错误格式如下:
    {
    "type": "error",
    "error": "错误信息"
    }
    

📄 注意事项

  • SSE 连接将在客户端关闭前保持打开状态。
  • 每个搜索结果都会广播给所有连接的客户端。
  • 服务器自动处理断开和清理工作。
  • 在生产环境中,建议为消息端点实现身份验证。
  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-23 08:54

相似服务问题