搜索内容提取服务器

一个基于Rust实现的模型控制协议服务器,提供Tavily搜索和内容提取功能,适用于AI代理系统和LLM工具开发。

  • by marekkucak
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 marekkucak/tavily-anet-mcp

使用说明

Tavily Anet MCP服务器

Rust实现 模型控制协议(MCP) 该服务器通过标准化协议提供Tavily搜索和内容提取功能。

该服务器集成了强大的Tavily API和Anet MCP框架,使人工智能代理能够执行网络搜索并从URL中提取内容 AI代理系统, 基于LLM的工具,或 研究自动化 这需要最新的网络信息。


特性

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

需求

  • 锈 1.70+
  • NATS 本地运行或可通过网络访问的服务器
  • Tavilly 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

入门指南

运行服务器

# Start a NATS server in another terminal or ensure one is already running
# Example:
nats-server

# Run the Tavily MCP server
cargo run

测试服务器

您可以使用附带的测试客户端测试服务器:

cargo run --example test_client

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


可用工具

1.塔维利搜索

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

参数:

  • query (必填):搜索查询字符串
  • search_depth:“基本”或“高级”(默认为“基本”)
  • topic:“general”或“news”(默认值:“general”)
  • days:返回结果的天数(新闻主题)
  • time_range:“日”、“周”、“月”、“年”
  • max_results:5-20(默认值:10)
  • include_images:布尔值
  • include_raw_content:布尔值
  • include_domains:要包含的域数组
  • exclude_domains:要排除的域数组

例子:

{
  "name": "tavily-search",
  "arguments": {
    "query": "Latest developments in AI",
    "max_results": 5,
    "topic": "news",
    "days": 7
  }
}

2.塔维利提取物

从网页中提取原始内容的工具。

参数:

  • urls (必填):从中提取内容的URL数组
  • extract_depth:“基本”或“高级”(默认为“基本”)
  • include_images:布尔值(默认值:false)

例子:

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

建筑

服务器采用模块化设计:

  • 工具 –Tavily搜索和提取实现
  • 模型 –Tavilly API响应结构
  • 实用 –格式化和辅助函数
  • 运输 –NATS消息传输层

发展

添加新功能

要使用额外的Tavily功能扩展服务器:

  1. 在中定义响应结构 src/models/tavily.rs
  2. 在中实施该工具 src/tools/ 遵循工具特性
  3. 在中添加格式化功能 src/utils/formatter.rs
  4. 在中注册该工具 src/main.rs

故障排除

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

许可证

MIT许可证


致谢

该项目建立在 Anet MCP服务器 框架并与 美味API.