Tavily MCP Server

Tavily MCP Server
精选

使用 Tavily 的搜索 API 提供 AI 驱动的网络搜索功能,使 LLM 能够执行复杂的网络搜索、获得问题的直接答案以及搜索最近的新闻文章。

搜索
浏览器自动化
Python
访问服务器

README

Tavily MCP 服务器

一个模型上下文协议服务器,它使用 Tavily 的搜索 API 提供 AI 驱动的网页搜索功能。该服务器使 LLM 能够执行复杂的网页搜索,获得问题的直接答案,并搜索包含 AI 提取的相关内容的最新新闻文章。

功能

可用工具

  • tavily_web_search - 执行全面的网页搜索,并使用 AI 驱动的内容提取。

    • query (字符串,必需): 搜索查询
    • max_results (整数,可选): 返回的最大结果数 (默认: 5, 最大: 20)
    • search_depth (字符串,可选): "basic" 或 "advanced" 搜索深度 (默认: "basic")
    • include_domains (列表或字符串,可选): 要专门包含在结果中的域名列表
    • exclude_domains (列表或字符串,可选): 要从结果中排除的域名列表
  • tavily_answer_search - 执行网页搜索并生成带有支持证据的直接答案。

    • query (字符串,必需): 搜索查询
    • max_results (整数,可选): 返回的最大结果数 (默认: 5, 最大: 20)
    • search_depth (字符串,可选): "basic" 或 "advanced" 搜索深度 (默认: "advanced")
    • include_domains (列表或字符串,可选): 要专门包含在结果中的域名列表
    • exclude_domains (列表或字符串,可选): 要从结果中排除的域名列表
  • tavily_news_search - 搜索带有发布日期的最新新闻文章。

    • query (字符串,必需): 搜索查询
    • max_results (整数,可选): 返回的最大结果数 (默认: 5, 最大: 20)
    • days (整数,可选): 要搜索的天数 (默认: 3)
    • include_domains (列表或字符串,可选): 要专门包含在结果中的域名列表
    • exclude_domains (列表或字符串,可选): 要从结果中排除的域名列表

提示语

该服务器还为每种搜索类型提供提示模板:

  • tavily_web_search - 使用 Tavily 的 AI 驱动的搜索引擎搜索网络
  • tavily_answer_search - 搜索网络并获得 AI 生成的答案以及支持证据
  • tavily_news_search - 使用 Tavily 的新闻搜索搜索最新新闻文章

前提条件

  • Python 3.11 或更高版本
  • 一个 Tavily API 密钥 (从 Tavily 的网站 获取)
  • uv Python 包管理器 (推荐)

安装

选项 1:使用 pip 或 uv

# 使用 pip
pip install mcp-tavily

# 或者使用 uv (推荐)
uv add mcp-tavily

您应该看到类似于以下的输出:

Resolved packages: mcp-tavily, mcp, pydantic, python-dotenv, tavily-python [...]
Successfully installed mcp-tavily-0.1.4 mcp-1.0.0 [...]

选项 2:从源代码

# 克隆存储库
git clone https://github.com/RamXX/mcp-tavily.git
cd mcp-tavily

# 创建一个虚拟环境 (可选但推荐)
python -m venv .venv
source .venv/bin/activate  # 在 Windows 上: .venv\Scripts\activate

# 安装依赖项并构建
uv sync  # 或者: pip install -r requirements.txt
uv build  # 或者: pip install -e .

# 要安装测试依赖项:
uv sync --dev  # 或者: pip install -r requirements-dev.txt

在安装过程中,您应该看到正在构建和安装的软件包及其依赖项。

在 VS Code 中使用

为了快速安装,请使用以下一键安装按钮之一:

Install with UV in VS Code Install with UV in VS Code Insiders

对于手动安装,请将以下 JSON 块添加到 VS Code 中的用户设置 (JSON) 文件。您可以通过按 Ctrl + Shift + P 并键入 Preferences: Open User Settings (JSON) 来执行此操作。

或者,您可以将其添加到工作区中名为 .vscode/mcp.json 的文件中。这将允许您与他人共享配置。

请注意,.vscode/mcp.json 文件中不需要 mcp 键。

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "apiKey",
        "description": "Tavily API Key",
        "password": true
      }
    ],
    "servers": {
      "tavily": {
        "command": "uvx",
        "args": ["mcp-tavily"],
        "env": {
          "TAVILY_API_KEY": "${input:apiKey}"
        }
      }
    }
  }
}

配置

API 密钥设置

服务器需要一个 Tavily API 密钥,可以通过三种方式提供:

  1. 通过项目目录中的 .env 文件:

    TAVILY_API_KEY=your_api_key_here
    
  2. 作为环境变量:

    export TAVILY_API_KEY=your_api_key_here
    
  3. 作为命令行参数:

    python -m mcp_server_tavily --api-key=your_api_key_here
    

为 Claude.app 配置

添加到您的 Claude 设置:

"mcpServers": {
  "tavily": {
    "command": "python",
    "args": ["-m", "mcp_server_tavily"]
  },
  "env": {
    "TAVILY_API_KEY": "your_api_key_here"
  }
}

如果遇到问题,您可能需要指定 Python 解释器的完整路径。运行 which python 查找确切路径。

使用示例

对于常规网页搜索:

告诉我 Anthropic 新发布的 MCP 协议

要生成带有域过滤的报告:

告诉我关于红杉树的信息。请使用 MLA 格式的 markdown 语法,并在引文中包含 URL。排除维基百科来源。

要使用答案搜索模式获取直接答案:

我想要一个由当前网络来源支持的具体答案:红杉树的平均寿命是多少?

对于新闻搜索:

给我过去 5 天中与 AI 相关的 10 大新闻

测试

该项目包含一个全面的测试套件。要运行测试:

  1. 安装测试依赖项:

    source .venv/bin/activate  # 如果使用虚拟环境
    uv sync --dev  # 或者: pip install -r requirements-dev.txt
    
  2. 运行测试:

    ./tests/run_tests.sh
    

您应该看到类似于以下的输出:

============================= test session starts ==============================
collected 27 items

tests/test_models.py ................. [ 62%]
tests/test_utils.py ..... [ 81%]
tests/test_integration.py ..... [100%]

---------- coverage: platform darwin, python 3.13.2-final-0 ----------
Name                                Stmts   Miss  Cover
-------------------------------------------------------
src/mcp_server_tavily/__init__.py      16      2    88%
src/mcp_server_tavily/__main__.py       2      2     0%
src/mcp_server_tavily/server.py       137     80    42%
-------------------------------------------------------
TOTAL                                 155     84    46%


============================== 27 passed in 0.40s ==============================

测试套件包括数据模型、实用程序函数、集成测试、错误处理和参数验证的测试。它侧重于验证所有 API 功能是否正常工作,包括域过滤器和各种输入格式的处理。

调试

您可以使用 MCP 检查器来调试服务器:

# 使用 npx
npx @modelcontextprotocol/inspector python -m mcp_server_tavily

# 用于开发
cd path/to/mcp-tavily
npx @modelcontextprotocol/inspector python -m mcp_server_tavily

贡献

我们欢迎贡献来改进 mcp-tavily!以下是您可以提供帮助的方式:

  1. Fork 存储库
  2. 创建一个功能分支 (git checkout -b feature/amazing-feature)
  3. 进行更改
  4. 运行测试以确保它们通过
  5. 提交您的更改 (git commit -m 'Add amazing feature')
  6. 推送到分支 (git push origin feature/amazing-feature)
  7. 打开一个 Pull Request

有关其他 MCP 服务器和实现模式的示例,请参见: https://github.com/modelcontextprotocol/servers

许可证

mcp-tavily 在 MIT 许可证下获得许可。有关详细信息,请参见 LICENSE 文件。

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
@kazuph/mcp-fetch

@kazuph/mcp-fetch

用于获取网页内容和处理图像的模型上下文协议服务器。这使得 Claude Desktop(或任何 MCP 客户端)能够适当地获取网页内容和处理图像。

精选
本地
JavaScript
DuckDuckGo MCP Server

DuckDuckGo MCP Server

一个模型上下文协议 (MCP) 服务器,通过 DuckDuckGo 提供网页搜索功能,并具有内容获取和解析的附加功能。

精选
Python
YouTube Transcript MCP Server

YouTube Transcript MCP Server

这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。

精选
Python
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置信息。

精选
TypeScript
The Verge News MCP Server

The Verge News MCP Server

提供从The Verge的RSS feed获取和搜索新闻的工具,允许用户获取今日新闻、检索过去一周的随机文章,以及在最近的Verge内容中搜索特定关键词。

精选
TypeScript
Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript