MCP Tavily Search Server

by spences10

9 stars
Not rated
GitHub

About

Integrates Tavily's search API with LLMs to provide advanced web search capabilities, including intelligent result summaries, domain filtering for quality control, and configurable search parameters.

Details

Author
spences10
Repository
spences10/mcp-tavily-search
GitHub stars
9
License
MIT License
Categories
Search, Knowledge Base, Other, AI

- 🔍 Advanced web search capabilities through Tavily API
- 🤖 AI-generated summaries of search results
- 🎯 Domain filtering for higher quality results
- 📊 Configurable search depth and parameters
- 🧠 Context generation for RAG applications
- ❓ Direct question answering capabilities
- 💾 Response caching with TTL support
- 📝 Multiple response formats (text, JSON, markdown)
- 🔄 Structured result formatting optimized for LLMs
- 🏗️ Built on the Model Context Protocol

Setting up with Highlight

Follow these steps to add this server as a custom Highlight plugin:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Tavily Search Server
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 mcp-tavily-search
    Environment
    • TAVILY_API_KEY your-tavily-api-key

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

This server requires configuration through your MCP client. Here are
examples for different environments:

Add this to your Cline MCP settings:

{
	"mcpServers": {
		"mcp-tavily-search": {
			"command": "npx",
			"args": ["-y", "mcp-tavily-search"],
			"env": {
				"TAVILY_API_KEY": "your-tavily-api-key"
			}
		}
	}
}

For WSL environments, add this to your Claude Desktop configuration:

{
	"mcpServers": {
		"mcp-tavily-search": {
			"command": "wsl.exe",
			"args": [
				"bash",
				"-c",
				"source ~/.nvm/nvm.sh && TAVILY_API_KEY=your-tavily-api-key /home/username/.nvm/versions/node/v20.12.1/bin/npx mcp-tavily-search"
			]
		}
	}
}

The server requires the following environment variable:

- TAVILY_API_KEY: Your Tavily API key (required)

tavily_search

Search the web using Tavily Search API, optimized for high-quality, factual results. Parameters: query (string, required), search_depth (string, optional), topic (string, optional), days (number, optional), time_range (string, optional), max_results (number, optional), include_answer (boolean, optional), include_images (boolean, optional), include_image_descriptions (boolean, optional), include_raw_content (boolean, optional), include_domains (string[], optional), exclude_domains (string[], optional), response_format (string, optional), cache_ttl (number, optional), force_refresh (boolean, optional)

tavily_get_search_context

Generate context for RAG applications using Tavily search. Parameters: query (string, required), max_tokens (number, optional), search_depth (string, optional), topic (string, optional), Other parameters same as tavily_search

tavily_qna_search

Get direct answers to questions using Tavily search. Parameters: query (string, required), include_sources (boolean, optional), search_depth (string, optional), topic (string, optional), Other parameters same as tavily_search

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp tavily search server": {
            "env": {
                "TAVILY_API_KEY": "your-tavily-api-key"
            },
            "args": [
                "-y",
                "mcp-tavily-search"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": {
        "TAVILY_API_KEY": "your-tavily-api-key"
    },
    "args": [
        "-y",
        "mcp-tavily-search"
    ],
    "command": "npx"
}

Macos

{
    "env": {
        "TAVILY_API_KEY": "your-tavily-api-key"
    },
    "args": [
        "-y",
        "mcp-tavily-search"
    ],
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "bash",
        "-c",
        "source ~/.nvm/nvm.sh && TAVILY_API_KEY=your-tavily-api-key /home/username/.nvm/versions/node/v20.12.1/bin/npx mcp-tavily-search"
    ],
    "command": "wsl.exe"
}

This repository is no longer maintained.

The functionality of this tool is now available inmcp-omnisearch, which combines multiple MCP tools in one unified package.

A Model Context Protocol (MCP) server for integrating Tavily's search API with LLMs. This server provides intelligent web search capabilities optimized for high-quality, factual results, including context generation for RAG applications and direct question answering.

- 🔍 Advanced web search capabilities through Tavily API
- 🤖 AI-generated summaries of search results
- 🎯 Domain filtering for higher quality results
- 📊 Configurable search depth and parameters
- 🧠 Context generation for RAG applications
- ❓ Direct question answering capabilities
- 💾 Response caching with TTL support
- 📝 Multiple response formats (text, JSON, markdown)
- 🔄 Structured result formatting optimized for LLMs
- 🏗️ Built on the Model Context Protocol

This server requires configuration through your MCP client. Here are examples for different environments:

{ "mcpServers": { "mcp-tavily-search": { "command": "npx", "args": ["-y", "mcp-tavily-search"], "env": { "TAVILY_API_KEY": "your-tavily-api-key" } } } }

For WSL environments, add this to your Claude Desktop configuration:

{ "mcpServers": { "mcp-tavily-search": { "command": "wsl.exe", "args": [ "bash", "-c", "source ~/.nvm/nvm.sh && TAVILY_API_KEY=your-tavily-api-key /home/username/.nvm/versions/node/v20.12.1/bin/npx mcp-tavily-search" ] } } }

The server requires the following environment variable:

- TAVILY_API_KEY: Your Tavily API key (required)

The server implements three MCP tools with configurable parameters:

Search the web using Tavily Search API, optimized for high-quality, factual results.

- query(string, required): Search query
- search_depth(string, optional): "basic" (faster) or "advanced" (more thorough). Defaults to "basic"
- topic(string, optional): "general" or "news". Defaults to "general"
- days(number, optional): Number of days back to search (news topic only). Defaults to 3
- time_range(string, optional): Time range for results ('day', 'week', 'month', 'year' or 'd', 'w', 'm', 'y')
- max_results(number, optional): Maximum number of results. Defaults to 5
- include_answer(boolean, optional): Include AI-generated summary. Defaults to true
- include_images(boolean, optional): Include related images. Defaults to false
- include_image_descriptions(boolean, optional): Include image descriptions. Defaults to false
- include_raw_content(boolean, optional): Include raw HTML content. Defaults to false
- include_domains(string[], optional): List of trusted domains to include
- exclude_domains(string[], optional): List of domains to exclude
- response_format(string, optional): 'text', 'json', or 'markdown'. Defaults to 'text'
- cache_ttl(number, optional): Cache time-to-live in seconds. Defaults to 3600
- force_refresh(boolean, optional): Force fresh results ignoring cache. Defaults to false

Generate context for RAG applications using Tavily search.

- query(string, required): Search query for context generation
- max_tokens(number, optional): Maximum length of generated context. Defaults to 2000
- search_depth(string, optional): "basic" or "advanced". Defaults to "advanced"
- topic(string, optional): "general" or "news". Defaults to "general"
- Other parameters same as tavily_search

Get direct answers to questions using Tavily search.

- query(string, required): Question to be answered
- include_sources(boolean, optional): Include source citations. Defaults to true
- search_depth(string, optional): "basic" or "advanced". Defaults to "advanced"
- topic(string, optional): "general" or "news". Defaults to "general"
- Other parameters same as tavily_search

The server supports flexible domain filtering through two optional parameters:

- include_domains: Array of trusted domains to include in search results
- exclude_domains: Array of domains to exclude from search results

- Target specific trusted sources for academic or technical searches
- Exclude potentially unreliable or irrelevant sources
- Customize sources based on your specific needs
- Access all available sources when no filtering is specified

{ "include_domains": ["arxiv.org", "science.gov"], "exclude_domains": ["example.com"] }

- Clone the repository
- Install dependencies:

The project uses changesets for version management. To publish:

Contributions are welcome! Please feel free to submit a Pull Request.

MIT License - see theLICENSEfile for details.

- Built on theModel Context Protocol
- Powered by
Tavily Search API

Search global news using natural language. Webz.io News Search API returns the most relevant articles and content, with filters for source, country, language, date, sentiment, and category.

RAG Search over your content powered by Inkeep

Production-ready RAG out of the box to search and retrieve data from your own documents.

An MCP server that connects to Perplexity's Sonar API, enabling real-time web-wide research in conversational AI.

Official Tavily MCP server for AI search and content extraction, giving MCP clients web search, crawl, and extract tools.

Google for AI agents — live search across 25,000+ scored MCP servers, updated daily

Make any website queryable by AI agents — index a site and ask questions with cited answers via RAG

DuckDuckGo web search + URL fetcher for AI agents. No API key needed for free tier (7 req/IP/day), Pro tier unlimited with API key.

Search and extract information about research papers from arXiv.

Unified real-time search engine skill for AI agents.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.