MCP Tavily
基于Tavily API的模型上下文协议(MCP)服务器实现,提供高级搜索和内容提取功能。
功能特点
- 多样化搜索工具:
search
: 基础搜索功能,支持自定义选项searchContext
: 上下文感知搜索,提供更好的相关性searchQNA
: 问答式搜索
- 内容提取: 支持从URL提取内容,可配置提取选项
- 丰富的配置选项: 支持搜索深度、过滤和内容包含等多种配置
MCP配置使用
在你的MCP配置中添加Tavily服务器:
{
"mcpServers": {
"tavily": {
"command": "npx",
"args": ["-y", "@mcptools/mcp-tavily"],
"env": {
"TAVILY_API_KEY": "your-api-key"
}
}
}
}
注意:请确保将
your-api-key
替换为你的实际 Tavily API 密钥。你也可以在运行服务器之前将其设置为环境变量TAVILY_API_KEY
。
API参考
搜索工具
服务器提供三种可通过MCP调用的搜索工具:
1. 基础搜索
// 工具名称: search
{
query: "人工智能",
options: {
searchDepth: "advanced",
topic: "news",
maxResults: 10
}
}
2. 上下文搜索
// 工具名称: searchContext
{
query: "AI最新发展",
options: {
topic: "news",
timeRange: "week"
}
}
3. 问答搜索
// 工具名称: searchQNA
{
query: "什么是量子计算?",
options: {
includeAnswer: true,
maxResults: 5
}
}
内容提取工具
// 工具名称: extract
{
urls: ["https://example.com/article1", "https://example.com/article2"],
options: {
extractDepth: "advanced",
includeImages: true
}
}
搜索选项
所有搜索工具共享以下选项:
interface SearchOptions {
searchDepth?: "basic" | "advanced"; // 搜索深度级别
topic?: "general" | "news" | "finance"; // 搜索主题类别
days?: number; // 搜索天数范围
maxResults?: number; // 最大结果数量
includeImages?: boolean; // 是否包含图片
includeImageDescriptions?: boolean; // 是否包含图片描述
includeAnswer?: boolean; // 是否包含答案
includeRawContent?: boolean; // 是否包含原始内容
includeDomains?: string[]; // 包含的域名列表
excludeDomains?: string[]; // 排除的域名列表
maxTokens?: number; // 最大token数量
timeRange?: "year" | "month" | "week" | "day" | "y" | "m" | "w" | "d"; // 时间范围
}
提取选项
interface ExtractOptions {
extractDepth?: "basic" | "advanced"; // 提取深度级别
includeImages?: boolean; // 是否包含图片
}
响应格式
所有工具返回的响应格式如下:
{
content: Array<{
type: "text",
text: string
}>
}
搜索结果包含:
- 标题
- 内容
- URL
提取内容包含:
- URL
- 原始内容
- 失败URL列表(如果有)
错误处理
所有工具都包含适当的错误处理,并会在出现问题时抛出描述性的错误消息。
许可证
本项目基于MIT许可证开源。
支持
如有任何问题:
安装
通过 Smithery 安装
通过 Smithery 自动安装 Tavily API Server for Claude Desktop:
npx -y @smithery/cli install @kshern/mcp-tavily --client claude
手动安装
npm install @mcptools/mcp-tavily
或直接使用 npx:
npx @mcptools/mcp-tavily
开发
环境要求
- Node.js 16 或更高版本
- npm 或 yarn
- Tavily API 密钥 (从 Tavily 获取)
设置
- 克隆仓库
- 安装依赖:
npm install
- 设置 Tavily API 密钥:
export TAVILY_API_KEY=your_api_key
构建
npm run build
使用 MCP Inspector 调试
我们推荐使用 MCP Inspector 作为开发调试工具,它是一个强大的 MCP 服务器开发工具。
Inspector 提供了以下功能的用户界面:
- 测试工具调用
- 查看服务器响应
- 调试工具执行
- 监控服务器状态
贡献
欢迎提交贡献!请随时提交 Pull Request。
- Fork 仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m '添加某个特性'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 开启 Pull Request
License
MIT License。
支持
如有任何问题,请参考: