tavily-search
An MCP server implementation that integrates the Tavily Search API, providing optimized search capabilities for LLMs.
claude mcp add --transport stdio apappascs-tavily-search-mcp-server node /Users/<username>/<FULL_PATH...>/tavily-search-mcp-server/dist/index.js \ --env TAVILY_API_KEY="your_api_key_here"
How to use
This MCP server integrates Tavily Search to provide web search capabilities tailored for LLM workflows. It exposes a tavily_search tool that can perform web searches with configurable depth, topic, and time range, and can optionally include images, image descriptions, short LLM-generated answers, raw HTML, and domain filters. You can run the server via Node.js (dist/index.js) or via SSE transport (dist/sse.js) and connect it to Claude Desktop or other MCP clients. To use, supply a query and optional parameters such as search_depth, topic, days, time_range, max_results, and various include_* flags to customize the returned content. The server expects your Tavily API key via the TAVILY_API_KEY environment variable.
Example capabilities:
- tavily_search: performs a web search optimized for LLMs
- Optional outputs: include_images, include_image_descriptions, include_answer, include_raw_content
- Domain filtering: include_domains and exclude_domains to refine results
How to install
Prerequisites:
- Node.js and npm installed on your machine
- Access to Tavily API key (TAVILY_API_KEY)
- Basic familiarity with running MCP servers and editing Claude/Desktop config
Install steps:
- Clone the repository:
git clone https://github.com/apappascs/tavily-search-mcp-server.git
- Install dependencies and build:
cd tavily-search-mcp-server
npm install
npm run build
- Set up environment variable with your Tavily API key:
export TAVILY_API_KEY=your_api_key_here
- Run the server (example with Node):
node dist/index.js
- If you prefer SSE transport, run:
node dist/sse.js
- (Optional) Docker: build and run the image following the Docker section in the README.
Prerequisites for Claude/Desktop integration are covered in the README; you’ll typically point the MCP config to the node application path or run via Docker as shown.
Additional notes
Environment variables and secrets:
- Always provide API keys via environment variables (not hard-coded in commands).
- For Docker usage, prefer passing secrets with -e TAVILY_API_KEY=$TAVILY_API_KEY to avoid exposing keys. Transport options:
- stdio transport uses dist/index.js
- SSE transport uses dist/sse.js and can be configured with a port (e.g., 3001) in Claude/Desktop config If you modify path locations, ensure the args point to the correct built distribution (dist/index.js or dist/sse.js). Common issues:
- Missing TAVILY_API_KEY leads to authentication errors with Tavily API
- Incorrect path to dist files results in module not found errors
- When using Docker, ensure you’ve built the image and that volume mappings reflect your local repo path.
Related MCP Servers
iterm
A Model Context Protocol server that executes commands in the current iTerm session - useful for REPL and CLI assistance
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
editor
MCP Server for Phaser Editor
DoorDash
MCP server from JordanDalton/DoorDash-MCP-Server
mcp
MCP сервер для автоматического создания и развертывания приложений в Timeweb Cloud