Tavily Search MCP Agent

Tavily Search MCP Agent

这个 MCP 服务器使用 Tavily API 在商业、新闻、金融和政治领域执行多主题搜索,提供高质量的来源和智能摘要。

媒体内容处理
内容获取
访问服务器

Tools

comprehensive_search

Perform a comprehensive search across multiple topics using Tavily. Args: query: The search query to research

README

🔍 我的 Tavily 搜索 MCP 代理

我创建了一个强大的由 Tavily API 驱动的模型上下文协议 (MCP) 服务器。 通过它,您可以从商业、新闻、金融和政治领域获得高质量、可靠的信息——所有这些都通过一个强大且对开发者友好的界面实现。

smithery badge Tavily Search Agent MCP Server CI codecov

🌟 为什么我构建 Tavily 搜索 MCP

在当今快节奏的数字环境中,我认识到需要快速访问精确信息。 我需要一个可以与我的顺序思维 MCP 服务器配合使用的网络搜索工具。 这就是我开发 Tavily 搜索 MCP 的原因,它擅长:

⚡️ 闪电般的异步搜索响应 🛡️ 内置容错,具有自动重试功能 🎯 干净的 Markdown 格式结果 🔍 智能内容片段 🛠️ 全面的错误处理 🖼️ 可选的图像结果 📰 专业的资讯搜索

🚀 快速开始

通过 Smithery 安装

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

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

手动安装

以下是如何在几分钟内启动并运行我的项目:

# 1. 创建环境
uv venv && .venv\Scripts\activate     # Windows
# OR
uv venv && source .venv/bin/activate  # Unix/MacOS

# 2. 安装依赖
uv pip install -e .

# 3. 设置配置
echo TAVILY_API_KEY=your-key-here > .env

# 4. 启动服务器
cd mcp_tavily_search && uv run server.py

💡 核心功能

⚡️ 性能与可靠性

  • 我已经实现了异步请求处理
  • 内置错误处理和自动重试
  • 可配置的请求超时
  • 完善的日志记录系统

🎯 搜索配置

  • 我已经使搜索深度可配置(基本/高级)
  • 可调整的结果限制(1-20 个结果)
  • 干净的 Markdown 格式输出
  • 带有源 URL 的片段预览
  • 可选的图像结果
  • 专业的资讯搜索主题

🛡️ 错误处理

  • API 身份验证验证
  • 速率限制检测
  • 网络错误恢复
  • 请求超时管理

🛠️ 开发者集成

前提条件

Claude Desktop 设置

我使用以下配置优化了 Claude Desktop 体验:

{
  "mcpServers": {
    "tavily-search": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/mcp-tavily-search/mcp_tavily_search",
        "run",
        "server.py"
      ],
      "env": {
        "TAVILY_API_KEY": "YOUR-API-KEY"
      }
    }
  }
}

📁 配置路径:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Unix/MacOS: ~/.config/Claude/claude_desktop_config.json

项目架构

我设计了一个干净、模块化的结构,使开发变得轻而易举:

mcp-tavily-search/
├── mcp_tavily_search/     # 核心包
│   ├── server.py          # 服务器实现
│   ├── client.py          # Tavily API 客户端
│   ├── test_server.py     # 服务器测试
│   ├── test_client.py     # 客户端测试
│   └── __init__.py        # 包初始化
├── .env                   # 环境配置
├── README.md              # 文档
└── pyproject.toml         # 项目配置

关键组件

服务器 (server.py)

  • 我已经实现了 MCP 协议
  • 请求处理和路由
  • 错误恢复和健康监控

客户端 (client.py)

  • Tavily API 集成
  • 具有指数退避的重试机制
  • 结果格式化和处理
  • 错误处理和日志记录

测试 (test_server.py 和 test_client.py)

  • 服务器和客户端的全面单元测试
  • 确保实现的可靠性和正确性

使用示例

以下是我实现的一些增强搜索功能的示例:

  1. 基本搜索:
{
  "name": "search",
  "arguments": {
    "query": "Latest news on artificial intelligence"
  }
}
  1. 带有图像的高级搜索:
{
  "name": "search",
  "arguments": {
    "query": "Elon Musk SpaceX achievements",
    "search_depth": "advanced",
    "include_images": true,
    "max_results": 10
  }
}
  1. 新闻特定搜索:
{
  "name": "search",
  "arguments": {
    "query": "Climate change impact on agriculture",
    "topic": "news",
    "max_results": 5
  }
}
  1. 搜索原始内容:
{
  "name": "search",
  "arguments": {
    "query": "Python programming best practices",
    "include_raw_content": true,
    "max_results": 3
  }
}

故障排除指南

连接问题

如果事情没有按预期进行,请按照我概述的这些步骤操作:

  1. 验证您的配置路径
  2. 检查 Claude Desktop 日志:
    # Windows
    type %APPDATA%\Claude\logs\latest.log
    # Unix/MacOS
    cat ~/.config/Claude/logs/latest.log
    
  3. 使用快速启动命令手动测试服务器

API 故障排除

如果您遇到 API 问题:

  1. 验证您的 API 密钥权限
  2. 检查您的网络连接
  3. 监控服务器日志中的 API 响应

运行测试

要运行此项目的单元测试,请按照以下步骤操作:

  1. 安装开发依赖项:

    uv pip install -e ".[dev]"
    
  2. 使用 pytest 运行测试:

    pytest mcp_tavily_search
    

这将在 mcp_tavily_search 目录中运行所有测试,包括 test_client.pytest_server.py

社区与支持

  • 我鼓励您在 GitHub 上报告问题并做出贡献
  • 分享您的实现和改进
  • 加入我们的讨论并帮助他人

安全与最佳实践

安全是我实现中的重中之重。 服务器包括:

  • 通过环境变量安全处理 API 密钥
  • 自动请求超时管理
  • 全面的错误跟踪和日志记录

许可证

我已根据 MIT 许可协议许可了此项目。 有关详细信息,请参见 LICENSE 文件。

致谢

我要特别感谢:

  • 创新的 Tavily API 团队
  • MCP 协议社区

推荐服务器

mult-fetch-mcp-server

mult-fetch-mcp-server

一个多功能的、符合 MCP 规范的网页内容抓取工具,支持多种模式(浏览器/Node)、格式(HTML/JSON/Markdown/文本)和智能代理检测,并提供双语界面(英语/中文)。

精选
本地
Knowledge Graph Memory Server

Knowledge Graph Memory Server

为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。

精选
本地
Hyperbrowser

Hyperbrowser

欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:

精选
本地
Exa MCP Server

Exa MCP Server

一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。

精选
mcp-perplexity

mcp-perplexity

Perplexity API 的 MCP 服务器。

精选
MCP Web Research Server

MCP Web Research Server

一个模型上下文协议服务器,使 Claude 能够通过集成 Google 搜索、提取网页内容和捕获屏幕截图来进行网络研究。

精选
PubMedSearch MCP Server

PubMedSearch MCP Server

一个模型内容协议(Model Content Protocol)服务器,提供从 PubMed 数据库搜索和检索学术论文的工具。

精选
YouTube Translate MCP

YouTube Translate MCP

一个模型上下文协议服务器,可以通过文字稿、翻译、摘要和各种语言的字幕生成来访问 YouTube 视频内容。

精选
mcp-codex-keeper

mcp-codex-keeper

作为开发知识的守护者,为 AI 助手提供精心策划的最新文档和最佳实践访问权限。

精选
Perplexity Deep Research MCP

Perplexity Deep Research MCP

一个服务器,它允许 AI 助手使用 Perplexity 的 sonar-deep-research 模型进行网络搜索,并提供引用支持。

精选