Supports environment variable configuration for API keys and server settings through .env files
Built on Node.js runtime to provide high-performance MCP server capabilities
Uses npm for package management and script execution
Developed using TypeScript for type-safety and modern JavaScript features
Tavily MCP Load Balancer
一个支持多API密钥负载均衡的Tavily MCP服务器,同时提供SSE和streamableHTTP接口,可以自动轮询使用多个API密钥,提供高可用性和更高的请求限制。
v2.2.0 (2025-08-15)
- 🧬 多架构镜像:发布 linux/amd64 与 linux/arm64 双平台镜像;
latest
已指向2.2.0
v2.1.0 (2025-08-14)
- 🌐 streamableHTTP支持: 新增HTTP POST /mcp端点,支持直接MCP请求-响应模式
- 🔄 多协议兼容: 同时支持SSE和streamableHTTP,满足不同客户端需求
- 📝 文档更新: 添加streamableHTTP接口使用说明和示例
v2.0.0 (2025-08-12)
- 🔄 架构重构: 从supergateway依赖改为原生SSE实现
- 🛠️ 工具更新: 同步最新Tavily MCP工具集,新增tavily-crawl和tavily-map
- 📊 监控增强: 添加详细的API密钥使用日志和轮询状态
- 🔒 安全改进: 增强响应数据清理和字符编码处理
- 📝 文档重写: 完全重写README,优化项目结构
v1.0.0 (2025-08-05)
- 🚀 初始版本: 基于supergateway的Tavily MCP负载均衡器
- 🔄 负载均衡: 实现多API密钥轮询机制
- 🛡️ 故障转移: 自动禁用失效密钥功能
✨ 功能特性
- 🔄 智能负载均衡: 自动轮询多个API密钥,提升并发能力
- 🛡️ 自动故障转移: 智能检测并禁用失效密钥
- 🌐 多协议支持: 同时支持SSE和streamableHTTP接口
- 🧬 多架构镜像: 同一镜像同时支持 linux/amd64 与 linux/arm64
- 🛠️ 完整工具集: 支持搜索、提取、爬虫、地图等全套Tavily工具
- 📊 实时监控: 详细的密钥使用日志和性能统计
- 🔒 数据安全: 自动清理和验证响应数据
- ⚡ 高性能: 基于TypeScript和现代Node.js架构
🚀 快速开始
Docker 部署(推荐)
本地开发
服务启动后访问:
- SSE接口:
http://localhost:60002/sse
- streamableHTTP接口:
http://localhost:60002/mcp
- 健康检查:
http://localhost:60002/health
Docker Compose 部署
自定义 Docker 构建
开发模式
🛠️ 可用工具
本服务器提供5个Tavily工具,支持搜索、内容提取、网站爬虫等功能:
工具名称 | 功能描述 | 主要参数 |
---|---|---|
search / tavily-search | 网络搜索 | query, max_results, search_depth |
tavily-extract | 网页内容提取 | urls, extract_depth, format |
tavily-crawl | 网站爬虫 | url, max_depth, limit |
tavily-map | 网站地图生成 | url, max_depth, max_breadth |
接口说明
SSE接口: http://localhost:60002/sse
消息接口: http://localhost:60002/message
streamableHTTP接口: http://localhost:60002/mcp
健康检查: http://localhost:60002/health
streamableHTTP使用示例
工具参数详解
1. search / tavily-search - 网络搜索
2. tavily-extract - 网页内容提取
3. tavily-crawl - 网站爬虫
4. tavily-map - 网站地图生成
直接MCP使用
📊 监控和测试
快速测试
管理脚本
Node.js 测试脚本
监控输出示例
服务器状态检查
API密钥轮询日志
⚙️ 配置
环境变量
变量名 | 描述 | 默认值 |
---|---|---|
TAVILY_API_KEYS | API密钥列表(逗号分隔) | 必填 |
TAVILY_API_KEY | 单个API密钥 | 可选 |
SUPERGATEWAY_PORT | 服务端口 | 60002 |
配置示例
Docker 环境变量
开发环境配置
SSE连接测试
验证SSE连接和数据安全性:
测试内容:
- ✅ SSE连接建立和会话管理
- ✅ JSON-RPC消息发送和接收
- ✅ 响应数据安全性验证
- ✅ 控制字符和特殊字符处理
- ✅ 大数据响应处理
- ✅ 错误处理和日志记录
🔧 故障排除
常见问题
问题 | 解决方案 |
---|---|
无可用API密钥 | 检查 TAVILY_API_KEYS 环境变量 |
连接超时 | 检查网络和防火墙设置 |
端口被占用 | 使用 lsof -i :60002 检查端口 |
SSE连接失败 | 运行 node test_sse_validation.cjs |
快速诊断
本地运行问题
- No available API keys
- 检查环境变量:
echo $TAVILY_API_KEYS
- 确保密钥格式正确(以
tvly-
开头) - 使用
node check_stats_direct.cjs
测试连接
- 检查环境变量:
- API密钥错误或被禁用
- 查看服务器日志中的错误信息
- 使用
./manage.sh weather
批量测试所有密钥 - 检查密钥配额是否用完
- 连接超时或网络问题
- 检查网络连接和防火墙设置
- 确认Tavily API服务是否正常
- 尝试减少并发请求数量
- SSE连接问题
- 使用
node test_sse_validation.cjs
测试SSE连接 - 检查端口60002是否被占用:
lsof -i :60002
- 确认服务器已正常启动
- 使用
Docker 相关问题
问题 | 解决方案 |
---|---|
构建失败 | docker system prune -f 清理缓存 |
容器启动失败 | docker logs tavily-mcp-lb 查看日志 |
环境变量无效 | 检查 .env 文件格式 |
健康检查失败 | curl http://localhost:60002/health |
Docker 调试命令
📄 许可证
MIT License
⭐ 如果这个项目对你有帮助,请给个Star!
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A multi-API key load balancing MCP server for Tavily that automatically rotates between multiple API keys to provide high availability and increased request limits.
Related MCP Servers
- -securityAlicense-qualityThis MCP server performs multi-topic searches in business, news, finance, and politics using the Tavily API, providing high-quality sources and intelligent summaries.Last updated -1MIT License
- AsecurityAlicenseAqualityAn MCP server implementation that integrates the Tavily Search API, providing optimized search capabilities for LLMs.Last updated -2MIT License
- AsecurityFlicenseAqualityAn MCP protocol server that enables web search functionality using the Tavily API, allowing AI assistants to perform internet searches in real-time.Last updated -43
- -securityAlicense-qualityMCP server for using various search tools like Tavily API. Planning to support various search tools (i.e. wiki search, searxng, etc)Last updated -3MIT License