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
这将向服务器发送各种请求(初始化、列出工具、搜索、提取)并打印响应。
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"}'
一个强大的网络搜索工具,使用 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"]
}
从指定 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 密钥需妥善保管,避免泄露。
💡 使用建议
该服务器采用模块化设计,便于扩展和维护,开发人员可根据需求进行定制。