支持SSE的Brave Search MCP
这是一个模型上下文协议(MCP)服务器,它通过服务器发送事件(SSE)集成提供Brave搜索功能。它可以部署到Coolify并用作实时搜索服务。
特性
- 勇敢的搜索API通过MCP集成
- 使用SSE的实时搜索结果
- Docker和Coolify就绪
- TypeScript实现
- Express.js SSE端点
先决条件
- 勇敢搜索API密钥
- Node.js 18+
- Docker(用于容器化部署)
- 冷却实例
地方发展
- 克隆存储库
- 创建一个
.env使用Brave API密钥提交:
BRAVE_API_KEY=your_api_key_here
PORT=3001- 安装依赖项:
npm install- 启动开发服务器:
npm run devDocker部署
- 使用docker compose构建并运行:
docker-compose up --build冷却部署
- 在Coolify仪表板中,创建新服务
- 选择“从源部署”
- 配置以下内容:
- 存储库URL:您的存储库URL - 分支机构:主 - 构建命令: npm run build - 启动命令: npm start - 端口:3001 - 环境变量: - BRAVE_API_KEY=你的_API_KEY_here - 端口=3001
使用SSE集成
SSE 终端
GET http://your-server:3001/sseSSE端点提供实时搜索结果。使用EventSource API连接到它:
const eventSource = new EventSource('http://your-server:3001/sse');
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
// Handle the search results
console.log(data);
};
eventSource.onerror = (error) => {
console.error('SSE Error:', error);
eventSource.close();
};消息端点
POST http://your-server:3001/messages
Content-Type: application/json
{
"query": "your search query",
"count": 10 // optional, default: 10, max: 20
}使用此端点触发将广播到所有连接的SSE客户端的搜索。
MCP使用
服务器提供以下MCP工具:
brave_web_search:使用Brave search API执行web搜索
{
query: string; // Search query
count?: number; // Number of results (1-20, default: 10)
}错误处理
- 服务器向所有连接的SSE客户端广播错误
- 错误的格式为:
{
"type": "error",
"error": "error message"
}备注
- SSE连接将保持打开状态,直到客户端关闭它
- 每个搜索结果都会广播给所有连接的客户端
- 服务器自动处理断开连接和清理
- 对于生产部署,考虑对消息端点实施身份验证
