Tavily MCP服务器
一个生产就绪的MCP(模型上下文协议)服务器,使用Tavily API提供网络搜索功能。该服务器与Roo和其他兼容MCP的AI助手无缝集成。
特性
- 🔍 网页搜索:使用Tavily的AI优化搜索API进行强大的网络搜索
- 🎯 直接回答:在可用时立即获得查询答案
- 📊 可配置的结果:控制搜索深度、结果计数和域筛选
- 🚀 生产就绪:使用TypeScript构建,全面测试和PM2部署
- 🔒 安全:基于环境的API密钥管理
- 📈 监控:使用PM2进行完整的日志记录和过程监控
- 🧪 测试良好:全面的单元和集成测试覆盖率
快速开始
先决条件
- Node.js 18+
- npm或纱线
- Tavilly API密钥(在这里买一个)
- PM2(用于生产部署)
安装和部署
- 克隆和设置:
cd tavily-mcp-server
npm install- 设置API密钥:
export TAVILY_API_KEY="your-api-key-here"- 运行测试:
npm test
npm run test:coverage- 使用PM2进行部署:
./deploy.sh就是这样!服务器现在正在运行并准备好进行MCP连接。
发展
构建和测试
# Install dependencies
npm install
# Run in development mode
npm run dev
# Build for production
npm run build
# Run unit tests
npm test
# Run tests with coverage
npm run test:coverage
# Run integration tests
./test-mcp.js
# Lint code
npm run lint
npm run lint:fix测试
该项目包括全面的测试:
- 单元测试:测试单个组件和功能
- 集成测试:测试完整的MCP服务器功能
- MCP协议测试:验证MCP协议合规性
- API测试:测试Tavily API集成(需要有效的API密钥)
# Run all tests
npm test
# Run with coverage report
npm run test:coverage
# Test the actual MCP server
./test-mcp.js配置
环境变量
TAVILY_API_KEY(必需):您的Tavilly API密钥NODE_ENV(可选):设置为“生产”以进行生产部署
PM2配置
这 pm2-apps.json 文件包含生产配置:
{
"apps": [{
"name": "tavily-mcp-server",
"script": "dist/index.js",
"instances": 1,
"exec_mode": "fork",
"env": {
"NODE_ENV": "production",
"TAVILY_API_KEY": "your-api-key"
}
}]
}使用Roo
全球安装
添加到全局MCP设置(~/.roo/mcp_settings.json):
{
"mcpServers": {
"tavily-search": {
"command": "node",
"args": ["/home/ubuntu/roo-tavily/tavily-mcp-server/dist/index.js"],
"env": {
"TAVILY_API_KEY": "your-api-key-here"
}
}
}
}项目特定安装
添加到项目的MCP设置中(.roo/mcp.json):
{
"mcpServers": {
"tavily-search": {
"command": "node",
"args": ["./tavily-mcp-server/dist/index.js"],
"env": {
"TAVILY_API_KEY": "your-api-key-here"
}
}
}
}使用网络搜索工具
配置后,您可以使用Roo中的网络搜索工具:
tavily-search
web_search
{
"query": "latest developments in AI",
"search_depth": "advanced",
"max_results": 10,
"include_answer": true
}
api参考
web_search工具
使用Tavily的AI优化搜索API搜索网络。
参数
| 参数 | 类型 | 必填 | 默认 | 说明 |
|---|---|---|---|---|
query | string | ✅ | - | 要执行的搜索查询 |
search_depth | string | ❌ | “基本” | 搜索深度:“基本”或“高级” |
include_answer | boolean | ❌ | true | 是否包含直接答案 |
max_results | 编号 | ❌ | 5 | 结果数量(1-20) |
include_domains | string\[\] | ❌ | - | 要包含在搜索中的域 |
exclude_domains | string\[\] | ❌ | - | 要从搜索中排除的域 |
响应格式
该工具返回格式化的搜索结果,包括:
- 直接回答:人工智能生成的查询答案(如果可用)
- 搜索结果:相关网页列表,包括:
- 标题和URL - 内容片段 - 相关度分数 - 出版日期(如有)
- 后续问题:建议的相关查询
示例响应
# Search Results for: "latest developments in AI"
## Direct Answer
Recent AI developments include advances in large language models,
multimodal AI systems, and improved reasoning capabilities...
## Search Results
### 1. Major AI Breakthroughs in 2024
**URL:** https://example.com/ai-breakthroughs
**Published:** 2024-01-15
**Score:** 0.95
Recent developments in artificial intelligence have shown remarkable
progress in areas such as natural language processing...
---
### 2. OpenAI Announces GPT-5
**URL:** https://example.com/gpt5-announcement
**Score:** 0.92
OpenAI has announced the development of GPT-5, promising significant
improvements in reasoning and multimodal capabilities...
---
## Follow-up Questions
1. What are the implications of these AI developments?
2. How do these advances compare to previous years?
3. What challenges remain in AI development?生产部署
PM2管理
# Start the server
pm2 start pm2-apps.json
# View status
pm2 status
# View logs
pm2 logs tavily-mcp-server
# Restart server
pm2 restart tavily-mcp-server
# Stop server
pm2 stop tavily-mcp-server
# Monitor all processes
pm2 monitNginx反向代理(可选)
如果你需要HTTP访问,你可以设置一个Nginx反向代理:
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}监控和日志
- 应用程序日志:
/var/log/pm2/tavily-mcp-server.log - 错误记录:
/var/log/pm2/tavily-mcp-server-error.log - PM2监测:
pm2 monit
故障排除
常见问题
- “TAVILY_API_KEY环境变量是必需的”
- 确保已设置API密钥: export TAVILY_API_KEY="your-key" - 检查PM2配置是否具有正确的API密钥
- “找不到模块”错误
- 跑 npm install 安装依赖项 - 确保您已经构建了项目: npm run build
- 服务器无法启动
- 检查日志: pm2 logs tavily-mcp-server - 验证API密钥是否有效 - 确保端口未被使用
- 搜索请求失败
- 验证API密钥有效并且具有信用 - 检查网络连接 - 查看特定API错误的错误日志
调试模式
在调试模式下运行服务器:
NODE_ENV=development npm run dev测试连接
直接测试MCP服务器:
./test-mcp.js贡献
- 分叉存储库
- 创建要素分支:
git checkout -b feature-name - 进行更改
- 添加新功能的测试
- 确保所有测试通过:
npm test - 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件。
支持
- 📧 电子邮件:support@roo.com
- 🐛 问题:
- 📖 文档: Roo文档
______________________________________________________________________
内置于❤️ Roo团队
