返回市场
麦普塔维利

麦普塔维利

作者:kshern8 星标更新:2025-02-24

项目介绍

MCP Tavily

smithery 徽章

中文文档

这是一个用于 Tavily API 的 Model Context Protocol (MCP) 服务器实现,提供高级搜索和内容提取功能。

特性

  • 多种搜索工具
    • search: 基本搜索功能,具有可定制选项
    • searchContext: 具有上下文感知的搜索,以提高相关性
    • searchQNA: 专注于问题和答案的搜索
  • 内容提取:从 URL 中提取内容,并具有可配置选项
  • 丰富的配置选项:广泛的搜索深度、过滤和内容包含选项

使用 MCP

将 Tavily MCP 服务器添加到您的 MCP 配置中:

{
  "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: "最新的人工智能发展",
  options: {
    topic: "news",
    timeRange: "week"
  }
}

3. Q&A 搜索

// 工具名称: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;                    // 最大令牌数量
  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 列表(如果有)

错误处理

所有工具都包含适当的错误处理机制,并会在出现问题时抛出描述性的错误消息。

安装

通过 Smithery 安装

要通过 Smithery 自动安装 Tavily API 服务器用于 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 获取)

设置

  1. 克隆仓库
  2. 安装依赖项:
npm install
  1. 设置您的 Tavily API 密钥:
export TAVILY_API_KEY=your_api_key

构建

npm run build

使用 MCP Inspector 进行调试

为了开发和调试,我们推荐使用 MCP Inspector,这是一个强大的 MCP 服务器开发工具。

Inspector 提供了一个用户界面,用于:

  • 测试工具调用
  • 查看服务器响应
  • 调试工具执行
  • 监控服务器状态

贡献

欢迎贡献!请随意提交拉取请求。

  1. 分叉仓库
  2. 创建您的功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开拉取请求

许可证

本项目根据 MIT 许可证发布。

支持

对于任何问题或问题: