Tavily-Anet-MCP Server

Tavily-Anet-MCP Server

一个用 Rust 编写的 Model Control Protocol (MCP) 服务器,集成了 Tavily 强大的搜索和网页内容提取功能。该服务器使 AI 代理和 LLM 系统能够通过标准化的 JSON-RPC 接口执行实时网络搜索并从 URL 中提取内容,非常适合构建 AI 工具。

marekkucak

研究与数据
访问服务器

README

Tavily-Anet-MCP 服务器

这是一个用 Rust 实现的 模型控制协议 (MCP) 服务器,它通过标准化的协议提供 Tavily 搜索和内容提取功能。

该服务器将强大的 Tavily API 与 Anet MCP 框架集成,使 AI 代理能够执行网络搜索并从 URL 中提取内容。它专为构建 AI 代理系统基于 LLM 的工具 或需要最新网络信息的 研究自动化 的开发人员而设计。


功能

  • ✅ Tavily 搜索集成,具有全面的参数
  • 📄 Tavily 提取,用于从 URL 检索内容
  • 🔄 NATS 传输层,用于消息传递
  • 🛠️ JSON-RPC 2.0 兼容的 API
  • ⚡ 使用 Tokio 的异步请求处理
  • 🔍 高级搜索功能,包括域名过滤、时间范围和主题选择

要求

  • Rust 1.70+
  • NATS 服务器在本地运行或可通过网络访问
  • Tavily API 密钥(从 Tavily 网站 获取一个)

安装

克隆存储库并构建服务器:

git clone https://github.com/yourusername/tavily-anet-mcp.git
cd tavily-anet-mcp

将您的 Tavily API 密钥添加到 .env 文件:

TAVILY_API_KEY=your_api_key_here
NATS_URL=nats://localhost:4222
MCP_SUBJECT=mcp.requests

入门

运行服务器

# 在另一个终端中启动 NATS 服务器,或确保已有一个正在运行
# 示例:
nats-server

# 运行 Tavily MCP 服务器
cargo run

测试服务器

您可以使用包含的测试客户端测试服务器:

cargo run --example test_client

这将向服务器发送各种请求(initialize、listTools、search、extract)并打印响应。


可用工具

1. Tavily 搜索

一个强大的网络搜索工具,它使用 Tavily 的 AI 搜索引擎提供全面、实时的结果。

参数:

  • query (必需): 搜索查询字符串
  • search_depth: "basic" 或 "advanced" (默认: "basic")
  • topic: "general" 或 "news" (默认: "general")
  • days: 结果追溯的天数(对于新闻主题)
  • time_range: "day", "week", "month", "year"
  • max_results: 5-20 (默认: 10)
  • include_images: 布尔值
  • include_raw_content: 布尔值
  • include_domains: 要包含的域名数组
  • exclude_domains: 要排除的域名数组

示例:

{
  "name": "tavily-search",
  "arguments": {
    "query": "人工智能的最新发展",
    "max_results": 5,
    "topic": "news",
    "days": 7
  }
}

2. Tavily 提取

一个用于从网页提取原始内容的工具。

参数:

  • urls (必需): 要从中提取内容的 URL 数组
  • extract_depth: "basic" 或 "advanced" (默认: "basic")
  • include_images: 布尔值 (默认: false)

示例:

{
  "name": "tavily-extract",
  "arguments": {
    "urls": ["https://www.rust-lang.org/"],
    "extract_depth": "advanced",
    "include_images": true
  }
}

架构

服务器遵循模块化设计:

  • tools – Tavily 搜索和提取实现
  • models – Tavily API 响应结构
  • utils – 格式化和辅助函数
  • transport – NATS 消息传输层

开发

添加新功能

要使用其他 Tavily 功能扩展服务器:

  1. src/models/tavily.rs 中定义响应结构
  2. src/tools/ 中实现该工具,遵循 Tool trait
  3. src/utils/formatter.rs 中添加格式化函数
  4. src/main.rs 中注册该工具

故障排除

  • 确保您的 Tavily API 密钥有效并且已在环境变量中正确设置
  • 检查 NATS 服务器是否正在运行并且可以访问
  • 验证请求格式是否与每个工具的预期输入模式匹配

许可证

MIT 许可证


致谢

该项目构建于 Anet MCP Server 框架之上,并与 Tavily API 集成。

推荐服务器

Crypto Price & Market Analysis MCP Server

Crypto Price & Market Analysis MCP Server

一个模型上下文协议 (MCP) 服务器,它使用 CoinCap API 提供全面的加密货币分析。该服务器通过一个易于使用的界面提供实时价格数据、市场分析和历史趋势。 (Alternative, slightly more formal and technical translation): 一个模型上下文协议 (MCP) 服务器,利用 CoinCap API 提供全面的加密货币分析服务。该服务器通过用户友好的界面,提供实时价格数据、市场分析以及历史趋势数据。

精选
TypeScript
MCP PubMed Search

MCP PubMed Search

用于搜索 PubMed 的服务器(PubMed 是一个免费的在线数据库,用户可以在其中搜索生物医学和生命科学文献)。 我是在 MCP 发布当天创建的,但当时正在度假。 我看到有人在您的数据库中发布了类似的服务器,但还是决定发布我的服务器。

精选
Python
mixpanel

mixpanel

连接到您的 Mixpanel 数据。 从 Mixpanel 分析查询事件、留存和漏斗数据。

精选
TypeScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。

精选
Python
Nefino MCP Server

Nefino MCP Server

为大型语言模型提供访问德国可再生能源项目新闻和信息的能力,允许按地点、主题(太阳能、风能、氢能)和日期范围进行筛选。

官方
Python
Vectorize

Vectorize

将 MCP 服务器向量化以实现高级检索、私有深度研究、Anything-to-Markdown 文件提取和文本分块。

官方
JavaScript
Mathematica Documentation MCP server

Mathematica Documentation MCP server

一个服务器,通过 FastMCP 提供对 Mathematica 文档的访问,使用户能够从 Wolfram Mathematica 检索函数文档和列出软件包符号。

本地
Python
kb-mcp-server

kb-mcp-server

一个 MCP 服务器,旨在实现便携性、本地化、简易性和便利性,以支持对 txtai “all in one” 嵌入数据库进行基于语义/图的检索。任何 tar.gz 格式的 txtai 嵌入数据库都可以被加载。

本地
Python
Research MCP Server

Research MCP Server

这个服务器用作 MCP 服务器,与 Notion 交互以检索和创建调查数据,并与 Claude Desktop Client 集成以进行和审查调查。

本地
Python
Cryo MCP Server

Cryo MCP Server

一个API服务器,实现了模型补全协议(MCP),用于Cryo区块链数据提取,允许用户通过任何兼容MCP的客户端查询以太坊区块链数据。

本地
Python