项目简介

MCP2Tavily 是一个实现了 Model Context Protocol (MCP) 的服务器,它通过集成 Tavily API,为大型语言模型 (LLM) 提供强大的网页搜索和网页内容提取功能。该服务器旨在作为 LLM 的上下文信息扩展工具,使其能够访问最新的网络信息,从而提升对话和任务处理的质量。

主要功能点

  • 网页搜索: 提供 'search_web' 和 'search_web_info' 工具,允许 LLM 通过关键词搜索互联网,获取相关的答案和来源链接,支持中英文查询。
  • 网页内容提取: 提供 'get_url_content' 和 'get_url_content_info' 工具,允许 LLM 根据提供的 URL 提取网页的文本内容,用于深入分析和理解特定网页信息。

安装步骤

  1. 克隆仓库 打开终端,执行以下命令克隆仓库到本地:

    git clone https://github.com/mcp2everything/mcp2tavily
    cd mcp2tavily
  2. 配置 Tavily API 密钥

    • 在项目根目录下创建 '.env' 文件:
      touch .env
    • 编辑 '.env' 文件,添加你的 Tavily API 密钥。你需要在 Tavily 官网 注册并获取 API 密钥。
      TAVILY_API_KEY=你的API密钥
  3. 设置虚拟环境并安装依赖

    • 使用 UV 包管理器创建和激活虚拟环境:
      uv venv
      source .venv/bin/activate   # Linux/macOS
      # .venv\Scripts\activate  # Windows
    • 安装项目依赖:
      uv sync

服务器配置

要将 MCP2Tavily 服务器配置到 MCP 客户端(例如 Claude),你需要提供以下 JSON 配置信息。客户端会使用这些信息启动并连接到服务器。

{
  "server_name": "mcp2tavily",
  "command": "uv",
  "args": [
    "run",
    "--with",
    "fastmcp",
    "--with",
    "python-dotenv",
    "--with",
    "tavily-python",
    "fastmcp",
    "run",
    "mcp2tavily.py"
  ]
}
  • 'server_name': 服务器的名称,可以自定义,用于在客户端中标识该服务器。
  • 'command': 启动服务器的命令,这里使用 'uv run' 来运行 Python 脚本。
  • 'args': 传递给 'uv run' 命令的参数列表:
    • '--with fastmcp': 确保 'fastmcp' 库在运行环境中可用,'fastmcp' 是构建 MCP 服务器的框架。
    • '--with python-dotenv': 确保 'python-dotenv' 库可用,用于加载 '.env' 文件中的环境变量(如 API 密钥)。
    • '--with tavily-python': 确保 'tavily-python' 库可用,用于与 Tavily API 交互。
    • 'fastmcp run': 实际执行启动 MCP 服务器的命令,由 'fastmcp' 框架提供。
    • 'mcp2tavily.py': 指定要运行的 Python 服务器脚本文件。

请注意:上述配置中的 'command' 和 'args' 需要根据你的实际环境进行调整。例如,如果你的 Python 环境不是通过 'uv venv' 管理的,可能需要修改 'command' 和 'args' 以适应你的 Python 运行方式。

基本使用方法

  1. 确保 MCP2Tavily 服务器已成功启动,可以通过运行 'fastmcp dev mcp2tavily.py' 命令在开发模式下启动并使用 MCP Inspector 进行测试。
  2. 在支持 MCP 协议的客户端(如 Claude)中,根据客户端的指引添加并配置 MCP 服务器。你需要提供上面生成的 JSON 配置信息。
  3. 客户端连接到 MCP2Tavily 服务器后,即可调用 'search_web(query: str)'、'search_web_info(query: str)'、'get_url_content(url: str)'、'get_url_content_info(url: str)' 等工具,扩展 LLM 的网络搜索和内容获取能力。具体工具的使用方法和参数,请参考客户端的工具调用文档。

信息

分类

网页与API