This server provides comprehensive web search functionality using the Tavily API with these capabilities:
Information Retrieval: Fetches high-quality search results across business, news, finance, and politics domains
Customizable Search: Configure search depth (basic/advanced), result limits (1-20), and include optional image results
Well-Formatted Results: Delivers clean markdown responses with content snippets and source URLs
Specialized Searches: Offers topic-specific searches like news
Reliability: Features asynchronous processing, fault tolerance, automatic retries, and robust error handling
Developer-Friendly: Integrates with Claude Desktop with a clean, modular structure
🔍 My Tavily Search MCP Agent
I've created a powerful Model Context Protocol (MCP) Server powered by the Tavily API. With this, you can get high-quality, reliable information from business, news, finance, and politics - all through a robust and developer-friendly interface.
🌟 Why I Built Tavily Search MCP
In today's fast-paced digital landscape, I recognized the need for quick access to precise information. I needed a web search tool that works with my sequential thinking MCP server. That's why I developed Tavily Search MCP, which excels with:
⚡️ Lightning-fast async search responses
🛡️ Built-in fault tolerance with automatic retries
🎯 Clean, markdown-formatted results
🔍 Smart content snippets
🛠️ Comprehensive error handling
🖼️ Optional image results
📰 Specialized news search
Related MCP server: MCP2Tavily
🚀 Quick Start
Installing via Smithery
To install Tavily Search for Claude Desktop automatically via Smithery:
Installing Manually
Here's how you can get up and running with my project in minutes:
💡 Core Features
⚡️ Performance & Reliability
I've implemented asynchronous request handling
Built-in error handling and automatic retries
Configurable request timeouts
Comprehensive logging system
🎯 Search Configuration
I've made the search depth configurable (basic/advanced)
Adjustable result limits (1-20 results)
Clean markdown-formatted output
Snippet previews with source URLs
Optional image results
Specialized news search topic
🛡️ Error Handling
API authentication validation
Rate limit detection
Network error recovery
Request timeout management
🛠️ Developer Integration
Prerequisites
Python 3.11 or higher
UV Package Manager (Installation Guide)
Tavily API key (Get one here)
Claude Desktop Setup
I've optimized the Claude Desktop experience with this configuration:
📁 Configuration paths:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonUnix/MacOS:
~/.config/Claude/claude_desktop_config.json
Project Architecture
I've designed a clean, modular structure to make development a breeze:
Key Components
Server (server.py)
I've implemented the MCP protocol
Request handling and routing
Error recovery and health monitoring
Client (client.py)
Tavily API integration
Retry mechanism with exponential backoff
Result formatting and processing
Error handling and logging
Tests (test_server.py and test_client.py)
Comprehensive unit tests for both server and client
Ensures reliability and correctness of the implementation
Usage Examples
Here are some examples of how to use the enhanced search capabilities I've implemented:
Basic search:
Advanced search with images:
News-specific search:
Search with raw content:
Troubleshooting Guide
Connection Issues
If things don't work as expected, follow these steps I've outlined:
Verify your configuration paths
Check the Claude Desktop logs:
# Windows type %APPDATA%\Claude\logs\latest.log # Unix/MacOS cat ~/.config/Claude/logs/latest.logTest the server manually using the quick start commands
API Troubleshooting
If you're experiencing API issues:
Validate your API key permissions
Check your network connection
Monitor the API response in the server logs
Running Tests
To run the unit tests for this project, follow these steps:
Install the development dependencies:
uv pip install -e ".[dev]"Run the tests using pytest:
pytest mcp_tavily_search
This will run all the tests in the mcp_tavily_search directory, including both test_client.py and test_server.py.
Community and Support
I encourage you to report issues and contribute on GitHub
Share your implementations and improvements
Join our discussions and help others
Security and Best Practices
Security is paramount in my implementation. The server includes:
Secure API key handling through environment variables
Automatic request timeout management
Comprehensive error tracking and logging
License
I've licensed this project under MIT. See the LICENSE file for details.
Acknowledgments
I'd like to give special thanks to:
The innovative Tavily API team
The MCP protocol community