Skip to main content
Glama
whfzdxhst

Tavily Search MCP

by whfzdxhst

Tavily Search MCP

Tavily Search MCP 是一个基于 Streamable HTTP 的 MCP 服务,用于把 Tavily 的联网搜索和网页内容提取能力封装成 MCP 工具。

功能

  • web_search:根据查询关键字进行联网搜索。

  • web_fetch:根据网页 URL 提取可读文本内容。

环境要求

  • Python 3.11+

  • Tavily API Key

  • 支持 streamable_http 的 MCP 客户端

安装

先创建并启用你自己的 Python 虚拟环境,然后安装依赖和当前项目:

python -m pip install -r requirements.txt
python -m pip install -e .

复制环境变量模板:

cp .env.example .env

.env 中填写配置:

TAVILY_API_KEY=tvly-your-api-key
MCP_SERVER_HOST=127.0.0.1
MCP_SERVER_PORT=21029
MCP_SERVER_PATH=/mcp
MCP_ALLOWED_HOSTS=127.0.0.1,127.0.0.1:21029,localhost,localhost:21029
MCP_ALLOWED_ORIGINS=*

如果部署到服务器,请将 MCP_SERVER_HOST 设置为 0.0.0.0,并把你的公网域名或访问主机名加入 MCP_ALLOWED_HOSTS

启动服务

python -m tavily_search_mcp.server

默认本地 MCP 地址:

http://127.0.0.1:21029/mcp

健康检查:

curl http://127.0.0.1:21029/health

测试客户端

列出 MCP 工具:

python -m tavily_search_mcp.client --url http://127.0.0.1:21029/mcp list-tools

调用联网搜索:

python -m tavily_search_mcp.client --url http://127.0.0.1:21029/mcp web-search "Tavily Python SDK" --max-results 2

调用网页内容提取:

python -m tavily_search_mcp.client --url http://127.0.0.1:21029/mcp web-fetch "https://docs.tavily.com/"

MCP 客户端配置

本地服务示例:

{
  "mcpServers": {
    "tavily-search": {
      "type": "streamable_http",
      "url": "http://127.0.0.1:21029/mcp",
      "headers": {}
    }
  }
}

远程服务示例:

{
  "mcpServers": {
    "tavily-search": {
      "type": "streamable_http",
      "url": "https://your-domain.example/mcp",
      "headers": {}
    }
  }
}

部署到服务器

可以使用仓库中的部署脚本,通过你自己的 SSH key 上传并启动服务:

.\scripts\deploy_remote.ps1 -HostName "your-server.example" -User "ubuntu" -IdentityFile "<path-to-private-key>"