T

Tavily智能搜索

@spences10/mcp-tavily-search
Hosted
5 Stars 2.1k 次浏览 spences10 更新于 2026-08-23

将 Tavily 的搜索 API 与大型语言模型(LLMs)集成,以提供高级网络搜索功能,包括智能结果摘要、用于质量控制的域过滤以及可配置的搜索参数。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "mcp-tavily-search": {
      "args": [
        "bash",
        "-c",
        "source ~/.nvm/nvm.sh \u0026\u0026 TAVILY_API_KEY=your-tavily-api-key /home/username/.nvm/versions/node/v20.12.1/bin/npx mcp-tavily-search"
      ],
      "command": "wsl.exe"
    }
  }
}

该服务需要配置环境变量:TAVILY_API_KEY

服务介绍

mcp-tavily-search


⚠️ 通知

此仓库不再维护。

该工具的功能现在已整合到 mcp-omnisearch 中,它将多个 MCP 工具集成在一个统一的包中。

请改用 mcp-omnisearch


这是一个用于将 Tavily 的搜索 API 与 LLMs 集成的 Model Context Protocol (MCP) 服务器。该服务器提供了优化后的高质量、事实性结果的智能网络搜索功能,包括为 RAG 应用生成上下文和直接回答问题的能力。

特性

  • 🔍 通过 Tavily API 提供高级网络搜索功能
  • 🤖 自动生成搜索结果摘要
  • 🎯 域名过滤以获得更高质量的结果
  • 📊 可配置的搜索深度和参数
  • 🧠 为 RAG 应用生成上下文
  • ❓ 直接回答问题的能力
  • 💾 支持 TTL 的响应缓存
  • 📝 多种响应格式(文本、JSON、markdown)
  • 🔄 针对 LLMs 优化的结构化结果格式
  • 🏗️ 构建于 Model Context Protocol 之上

配置

此服务器需要通过您的 MCP 客户端进行配置。以下是不同环境下的示例:

Cline 配置

在您的 Cline MCP 设置中添加以下内容:

{
    "mcpServers": {
        "mcp-tavily-search": {
            "command": "npx",
            "args": ["-y", "mcp-tavily-search"],
            "env": {
                "TAVILY_API_KEY": "your-tavily-api-key"
            }
        }
    }
}

Claude Desktop with WSL 配置

对于 WSL 环境,在您的 Claude Desktop 配置中添加以下内容:

{
    "mcpServers": {
        "mcp-tavily-search": {
            "command": "wsl.exe",
            "args": [
                "bash",
                "-c",
                "source ~/.nvm/nvm.sh && TAVILY_API_KEY=your-tavily-api-key /home/username/.nvm/versions/node/v20.12.1/bin/npx mcp-tavily-search"
            ]
        }
    }
}

环境变量

服务器需要以下环境变量:

  • TAVILY_API_KEY: 您的 Tavily API 密钥(必需)

API

该服务器实现了三个具有可配置参数的 MCP 工具:

使用 Tavily 搜索 API 进行网络搜索,针对高质量、事实性的结果进行了优化。

参数:

  • query (字符串,必填):搜索查询
  • search_depth (字符串,可选):"basic"(更快)或 "advanced"(更全面)。默认为 "basic"
  • topic (字符串,可选):"general" 或 "news"。默认为 "general"
  • days (数字,可选):回溯搜索的天数(仅新闻主题有效)。默认为 3
  • time_range (字符串,可选):结果的时间范围('day', 'week', 'month', 'year' 或 'd', 'w', 'm', 'y')
  • max_results (数字,可选):最大结果数量。默认为 5
  • include_answer (布尔值,可选):包含 AI 生成的摘要。默认为 true
  • include_images (布尔值,可选):包含相关图片。默认为 false
  • include_image_descriptions (布尔值,可选):包含图片描述。默认为 false
  • include_raw_content (布尔值,可选):包含原始 HTML 内容。默认为 false
  • include_domains (字符串数组,可选):要包含的可信域名列表
  • exclude_domains (字符串数组,可选):要排除的域名列表
  • response_format (字符串,可选):'text', 'json', 或 'markdown'。默认为 'text'
  • cache_ttl (数字,可选):缓存生存时间(秒)。默认为 3600
  • force_refresh (布尔值,可选):强制获取最新结果忽略缓存。默认为 false

tavily_get_search_context

使用 Tavily 搜索为 RAG 应用程序生成上下文。

参数:

  • query (字符串,必填):用于生成上下文的搜索查询
  • max_tokens (数字,可选):生成上下文的最大长度。默认为 2000
  • search_depth (字符串,可选):"basic" 或 "advanced"。默认为 "advanced"
  • topic (字符串,可选):"general" 或 "news"。默认为 "general"
  • 其他参数与 tavily_search 相同

使用 Tavily 搜索直接回答问题。

参数:

  • query (字符串,必填):需要回答的问题
  • include_sources (布尔值,可选):包含来源引用。默认为 true
  • search_depth (字符串,可选):"basic" 或 "advanced"。默认为 "advanced"
  • topic (字符串,可选):"general" 或 "news"。默认为 "general"
  • 其他参数与 tavily_search 相同

域名过滤

服务器通过两个可选参数支持灵活的域名过滤:

  • include_domains:要在搜索结果中包含的可信域名数组
  • exclude_domains:要从搜索结果中排除的域名数组

这允许你:

  • 针对特定的可信源进行学术或技术搜索
  • 排除潜在不可靠或不相关的源
  • 根据你的具体需求自定义源
  • 在未指定过滤时访问所有可用源

示例域名过滤:

{
    "include_domains": ["arxiv.org", "science.gov"],
    "exclude_domains": ["example.com"]
}

开发

设置

  1. 克隆仓库
  2. 安装依赖项:
pnpm install
  1. 构建项目:
pnpm build
  1. 以开发模式运行:
pnpm dev

发布

该项目使用 changesets 进行版本管理。要发布:

  1. 创建更改集:
pnpm changeset
  1. 对包进行版本控制:
pnpm changeset version
  1. 发布到 npm:
pnpm release

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

MIT 许可证 - 详情请参阅 LICENSE 文件。

致谢

相关 MCP 服务