Tavily-Anet-MCP Server logo

Tavily-Anet-MCP Server

by marekkucak

A Rust implementation of the Model Control Protocol (MCP) server that provides Tavily search and content extraction capabilities via a standardized protocol. It integrates the powerful Tavily API with the Anet MCP framework, enabling AI agents to perform web searches and extract content from URLs.

View on GitHub

Last updated: N/A

What is Tavily-Anet-MCP Server?

The Tavily-Anet-MCP Server is a Rust-based implementation of a Model Control Protocol (MCP) server. It integrates the Tavily API, allowing AI agents to perform web searches and extract content from URLs through a standardized protocol.

How to use Tavily-Anet-MCP Server?

To use the server, you need Rust 1.70+, a running NATS server, and a Tavily API key. Clone the repository, set up the .env file with your API key and NATS URL, and then run the server using cargo run. You can test the server using the provided test client with cargo run --example test_client.

Key features of Tavily-Anet-MCP Server

  • Tavily Search integration with comprehensive parameters

  • Tavily Extract for content retrieval from URLs

  • NATS transport layer for message passing

  • JSON-RPC 2.0 compatible API

  • Asynchronous request handling with Tokio

  • Advanced search capabilities including domain filtering, time ranges, and topic selection

Use cases of Tavily-Anet-MCP Server

  • Building AI agent systems

  • Developing LLM-based tools

  • Research automation requiring up-to-date web information

  • Integrating web search capabilities into existing applications

  • Creating tools for content extraction and analysis

FAQ from Tavily-Anet-MCP Server

How do I get a Tavily API key?

You can obtain a Tavily API key from Tavily's website: https://tavily.com

What is the purpose of the NATS server?

The NATS server is used as a message transport layer for communication between the Tavily-Anet-MCP server and other components.

What parameters are available for the Tavily Search tool?

The Tavily Search tool accepts parameters such as query, search_depth, topic, days, time_range, max_results, include_images, include_raw_content, include_domains, and exclude_domains.

What parameters are available for the Tavily Extract tool?

The Tavily Extract tool accepts parameters such as urls, extract_depth, and include_images.

How can I add new features to the server?

To extend the server with additional Tavily capabilities, define response structures in src/models/tavily.rs, implement the tool in src/tools/ following the Tool trait, add formatting functions in src/utils/formatter.rs, and register the tool in src/main.rs.