
An MCP server implementation that integrates the Tavily Search API, providing optimized search capabilities for LLMs.
概览
An MCP server implementation that integrates the Tavily Search API, providing optimized search capabilities for LLMs. - Perform web searches optimized for LLMs, with control over search depth, topic, and time range. - Extracts the most relevant content from search results, optimizing for quality and size. - Include images, image descriptions, short LLM-generated answers, and raw HTML content. - Include or exclude specific domains in search results. - - Execute web searches using the Tavily Search API. - Inputs: - query (string, required): The search query. - search_depth (string, optional): "basic" or "advanced" (default: "basic"). - topic (string, optional): "general" or "news" (default: "general"). - days (number, optional): Number of days back for news search (default: 3). - time_range (string, optional): Time range filter ("day", "week", "month", "year" or "d", "w", "m", "y"). - max_results (number, optional): Maximum number of results (default: 5).
README
以下为原文 README 节选,完整内容请查看原文。
Tavily Search MCP Server
An MCP server implementation that integrates the Tavily Search API, providing optimized search capabilities for LLMs.
Features
- Web Search: Perform web searches optimized for LLMs, with control over search depth, topic, and time range.
- Content Extraction: Extracts the most relevant content from search results, optimizing for quality and size.
- Optional Features: Include images, image descriptions, short LLM-generated answers, and raw HTML content.
- Domain Filtering: Include or exclude specific domains in search results.
Tools
- tavily_search
- Execute web searches using the Tavily Search API.
- Inputs:
query(string, required): The search query.search_depth(string, optional): “basic” or “advanced” (default: “basic”).topic(string, optional): “general” or “news” (default: “general”).days(number, optional): Number of days back for news search (default: 3).time_range(string, optional): Time range filter (“day”, “week”, “month”, “year” or “d”, “w”, “m”, “y”).max_results(number, optional): Maximum number of results (default: 5).include_images(boolean, optional): Include related images (default: false).include_image_descriptions(boolean, optional): Include descriptions for images (default: false).include_answer(boolean, optional): Include a short LLM-generated answer (default: false).include_raw_content(boolean, optional): Include raw HTML content (default: false).include_domains(string[], optional): Domains to include.exclude_domains(string[], optional): Domains to exclude.
Setup Guide 🚀
1. Prerequisites
- Claude Desktop installed on your computer.
- A Tavily API key: a. Sign up for a Tavily API account. b. Choose a plan (Free tier available). c. Generate your API key from the Tavily dashboard.
2. Installation
-
Clone this repository somewhere on your computer:
git clone https://github.com/apappascs/tavily-search-mcp-server.git -
Install dependencies & build the project:
cd tavily-search-mcp-servernpm installnpm run build
3. Integration with Claude Desktop
-
Open your Claude Desktop configuration file:
# On Mac: ~/Library/Application\ Support/Claude/claude_desktop_config.json # On Windows: %APPDATA%\Claude\claude_desktop_config.json
安装
docker run -i --rm -e TAVILY_API_KEY -v /Users/<username>/<FULL_PATH...>/tavily-search-mcp-server:/app tavily-search-mcp-server配置
{
"mcpServers": {
"tavily-search-server": {
"command": "node",
"args": [
"/Users/<username>/<FULL_PATH...>/tavily-search-mcp-server/dist/index.js"
],
"env": {
"TAVILY_API_KEY": "your_api_key_here"
}
}
}
}