搜索优化服务

Tavily Search MCP Server 是一个集成了 Tavily Search API 的服务,为大型语言模型提供优化的搜索能力,包括内容提取、域过滤等功能。

  • by apappascs
  • TypeScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 apappascs/tavily-search-mcp-server

使用说明

Tavily搜索MCP服务器

MCP服务器实现集成Tavily Search API,为LLM提供优化的搜索功能。

特性

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

工具

  • tavily_search
    • 使用Tavilly Search API执行网络搜索。
    • 输入:
      • query (字符串,必填):搜索查询。
      • search_depth (字符串,可选):“基本”或“高级”(默认值:“基础”)。
      • topic (字符串,可选):“general”或“news”(默认值:“general”)。
      • days (数字,可选):新闻搜索返回的天数(默认值:3)。
      • time_range (字符串,可选):时间范围过滤器(“日”、“周”、“月”、“年”或“d”、“w”、“m”、“y”)。
      • max_results (number,可选):最大结果数(默认值:5)。
      • include_images (布尔值,可选):包括相关图像(默认值:false)。
      • include_image_descriptions (布尔值,可选):包括图像的描述(默认值:false)。
      • include_answer (布尔值,可选):包含LLM生成的简短答案(默认值:false)。
      • include_raw_content (布尔值,可选):包含原始HTML内容(默认值:false)。
      • include_domains (string[],可选):要包含的域。
      • exclude_domains (string[],可选):要排除的域。

安装指南🚀

1.先决条件

  • 克劳德桌面 安装在您的计算机上。
  • Tavilly API密钥: a.注册 Tavilly 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.与克劳德桌面集成

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

    # On Mac:
    ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
    # On Windows:
    %APPDATA%\Claude\claude_desktop_config.json
    
  2. 添加 一 以下为 mcpServers 配置中的对象,具体取决于是否要使用以下命令运行服务器 npm 或 docker:

    选项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 包含克隆存储库的实际完整路径。
    • 在中添加Tavily API密钥 env 部分。 最好将像API密钥这样的秘密作为环境变量。
    • 确保使用正斜杠(/)在路上,甚至在Windows上。
    • 如果你正在使用docker,请确保首先使用以下命令构建镜像 docker build -t tavily-search-mcp-server:latest .
  4. 重新启动Claude Desktop以使更改生效。

通过Smithery安装

通过以下方式自动安装Tavily Search for Claude Desktop 史密瑟里:

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

环境设置(适用于npm)

  1. 复制 .env.example 向 .env:

    cp .env.example .env
    
  2. 更新 .env 使用您的实际Tavily API密钥进行存档:

    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_KEY 传递你的价值 TAVILY_API_KEY 将环境变量放入Docker容器中。这样就可以将API密钥排除在命令历史记录之外,而且它通常优于命令中的硬编码机密。

  3. 使用docker编写

    运行:

    docker compose up -d
    

    要停止服务器,请执行以下操作:

    docker compose down
    

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。