Tavily Anet Mcp

Tavily Anet Mcp

🚀 Tavily-Anet-MCP 服务器

Tavily-Anet-MCP 服务器采用 Rust 实现了 模型控制协议 (MCP),借助标准化协议集成了强大的 Tavily 搜索与内容提取功能。它将 Tavily API 与 Anet MCP 框架相结合,让 AI 代理能够进行网络搜索并从 URL 中提取内容。此服务器专为开发人员打造 AI 代理系统基于大语言模型(LLM)的工具 或开展 研究自动化 而设计,可满足对最新网络信息的需求。

🚀 快速开始

运行服务器

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

# 启动 Tavily MCP 服务器
cargo run

测试服务器

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

cargo run --example test_client

这将向服务器发送各种请求(初始化、列出工具、搜索、提取)并打印响应。

✨ 主要特性

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

📦 安装指南

克隆仓库并构建服务器

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

💻 使用示例

搜索示例

curl -X POST http://localhost:8080 \
-H "Content-Type: application/json" \
-d '{"query": "AI 案例研究", "search_depth": "advanced", "max_results": 5}'

提取示例

curl -X POST http://localhost:8080 \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/article", "extract_format": "json"}'

📚 详细文档

可用工具

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 要排除的域名数组

示例

{
"query": "AI 案例研究",
"search_depth": "advanced",
"max_results": 5,
"include_domains": ["tech.example.com"]
}

2. Tavily 提取

从指定 URL 中提取结构化数据。 参数

参数 详情
url(必需) 要提取的 URL
extract_format 输出格式("json" 或 "csv",默认:"json")
fields 要提取的具体字段数组

示例

{
"url": "https://example.com/article",
"extract_format": "json",
"fields": ["标题", "内容", "日期"]
}

项目结构

目录结构

src/
├── main.rs          # 主程序入口
├── lib.rs           # 库文件(可选)
└── modules/         # 模块目录(如搜索、提取等)

依赖管理

使用 Cargo.toml 管理项目依赖:

[dependencies]
tokio = { version = "1.0", features = ["full"] }
jsonrpc = "v2"
nats = "0.16"
serde = { version = "1.0", features = ["derive"] }

配置

环境变量

属性 详情
TAVILY_API_KEY Tavily API 的密钥
NATS_URL NATS 服务器的 URL
MCP_SUBJECT MCP 主题(默认:"mcp.requests")

日志配置

可以通过环境变量或配置文件控制日志级别:

RUST_LOG=info cargo run

🔧 技术细节

该服务器将 Tavily API 与 Anet MCP 框架相结合,使用 Rust 语言开发。它利用 Tokio 实现异步请求处理,以提高性能。同时,使用 NATS 作为消息传递的传输层,支持 JSON-RPC 2.0 API,使得服务器具有良好的扩展性和兼容性。

📄 许可证

文档未提及相关内容,暂不展示。

⚠️ 重要提示

  • 确保 NATS 服务器已正确配置并运行。
  • Tavily API 密钥需妥善保管,避免泄露。

💡 使用建议

该服务器采用模块化设计,便于扩展和维护,开发人员可根据需求进行定制。

🔍 参考资料

  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-21 18:27

相似服务问题