塔维利搜索MCP服务

@apappascs/tavily-search-mcp-server
0 Stars 167 次浏览 apappascs 更新于 2026-08-23

一个集成了Tavily搜索API的MCP服务器实现,为大型语言模型提供优化的搜索功能。

MCP 服务配置

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

{
  "mcpServers": {
    "tavily-search-server": {
      "args": [
        "/Users/\u003cusername\u003e/\u003cFULL_PATH...\u003e/tavily-search-mcp-server/dist/sse.js"
      ],
      "command": "node",
      "env": {
        "TAVILY_API_KEY": "your_api_key_here"
      },
      "port": 3001
    }
  }
}

服务介绍

Tavily Search MCP 服务器

smithery 徽章
这是一个集成了 Tavily 搜索 API 的 MCP 服务器实现,为 LLMs 提供了优化的搜索功能。

功能

  • 网页搜索: 执行针对 LLMs 优化的网页搜索,可以控制搜索深度、主题和时间范围。
  • 内容提取: 从搜索结果中提取最相关的内容,优化质量和大小。
  • 可选功能: 包括图片、图片描述、简短的 LLM 生成的答案以及原始 HTML 内容。
  • 域名过滤: 在搜索结果中包含或排除特定域名。

工具

  • tavily_search
    • 使用 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_images (布尔值,可选):是否包含相关图片(默认:false)。
      • include_image_descriptions (布尔值,可选):是否包含图片描述(默认:false)。
      • include_answer (布尔值,可选):是否包含一个简短的 LLM 生成的答案(默认:false)。
      • include_raw_content (布尔值,可选):是否包含原始 HTML 内容(默认:false)。
      • include_domains (字符串数组,可选):要包含的域名。
      • exclude_domains (字符串数组,可选):要排除的域名。

设置指南 🚀

1. 前提条件

  • 计算机上安装了 Claude Desktop
  • 一个 Tavily API 密钥:
    a. 注册一个 Tavily API 账户
    b. 选择一个计划(提供免费层级)。
    c. 从 Tavily 仪表板生成您的 API 密钥。

2. 安装

  1. 克隆此仓库到您的计算机上的某个位置:

    git clone https://github.com/apappascs/tavily-search-mcp-server.git 
    
  2. 安装依赖并构建项目:

    cd tavily-search-mcp-server
    
    npm install
    
    npm run build
    

3. 与 Claude Desktop 集成

  1. 打开你的 Claude Desktop 配置文件:

    # 在 Mac 上:
    ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
    # 在 Windows 上:
    %APPDATA%\Claude\claude_desktop_config.json
    
  2. 根据你希望使用 npm 还是 docker 来运行服务器,在配置文件的 mcpServers 对象中添加以下 其中一个 选项:

    选项 A: 使用 NPM (stdio 传输)

    {
        "mcpServers": {
            "tavily-search-server": {
                "command": "node",
                "args": [
                    "/Users/<username>/<FULL_PATH...>/tavily-search-mcp-server/dist/index.js"
                ],
                "env": {
                    "TAVILY_API_KEY": "your_api_key_here"
                }
            }
        }
    }
    

    选项 B: 使用 NPM (SSE 传输)

    {
        "mcpServers": {
            "tavily-search-server": {
                "command": "node",
                "args": [
                    "/Users/<username>/<FULL_PATH...>/tavily-search-mcp-server/dist/sse.js"
                ],
                "env": {
                    "TAVILY_API_KEY": "your_api_key_here"
                },
                "port": 3001
            }
        }
    }
    

    选项 C: 使用 Docker

    {
        "mcpServers": {
            "tavily-search-server": {
                "command": "docker",
                "args": [
                    "run",
                    "-i",
                    "--rm",
                    "-e",
                    "TAVILY_API_KEY",
                    "-v",
                    "/Users/<username>/<FULL_PATH...>/tavily-search-mcp-server:/app",
                    "tavily-search-mcp-server"
                ],
                "env": {
                    "TAVILY_API_KEY": "your_api_key_here"
                }
            }
        }
    }
    
  3. 重要步骤:

    • /Users/<username>/<FULL_PATH...>/tavily-search-mcp-server 替换为你克隆仓库的实际完整路径。
    • env 部分添加你的 Tavily API 密钥。最好将如 API 密钥这样的敏感信息作为环境变量。
    • 确保路径中使用正斜杠 (/),即使在 Windows 上也是如此。
    • 如果你使用 docker,请先使用 docker build -t tavily-search-mcp-server:latest . 构建镜像。
  4. 重启 Claude Desktop 以使更改生效。

通过 Smithery 安装

要通过 Smithery 自动为 Claude Desktop 安装 Tavily Search:

npx -y @smithery/cli install @apappascs/tavily-search-mcp-server --client claude

环境设置(针对 npm)

  1. .env.example 复制为 .env

    cp .env.example .env
    
  2. 使用你的实际 Tavily API 密钥更新 .env 文件:

    TAVILY_API_KEY=your_api_key_here
    

    注意:切勿将实际的 API 密钥提交到版本控制系统中。出于安全原因,.env 文件被 git 忽略。

使用 NPM 运行

使用 Node.js 启动服务器:

node dist/index.js

对于 sse 传输:

node dist/sse.js

使用 Docker 运行

  1. 构建 Docker 镜像(如果你还没有构建的话):

    docker build -t tavily-search-mcp-server:latest .
    
  2. 使用以下命令运行 Docker 容器:

    对于 stdio 传输:

    docker run -it --rm -e TAVILY_API_KEY="your_api_key_here" tavily-search-mcp-server:latest
    

    对于 sse 传输:

    docker run -it --rm -p 3001:3001 -e TAVILY_API_KEY="your_api_key_here" -e TRANSPORT="sse" tavily-search-mcp-server:latest
    

    你也可以直接利用 shell 的环境变量,这是更安全的做法:

     docker run -it --rm -p 3001:3001 -e TAVILY_API_KEY=$TAVILY_API_KEY -e TRANSPORT="sse" tavily-search-mcp-server:latest
    

    注意: 第二个命令展示了推荐的方法,即使用 -e TAVILY_API_KEY=$TAVILY_API_KEYTAVILY_API_KEY 环境变量的值传递到 Docker 容器中。这样可以避免你的 API 密钥出现在命令历史记录中,并且通常优于在命令中硬编码密钥。

  3. 使用 docker compose

    运行:

    docker compose up -d
    

    停止服务器:

    docker compose down
    

许可证

此 MCP 服务器遵循 MIT 许可证。这意味着你可以自由地使用、修改和分发该软件,但必须遵守 MIT 许可证的条款和条件。更多详情,请参阅项目仓库中的 LICENSE 文件。

相关 MCP 服务