Get the FREE Ultimate OpenClaw Setup Guide →

tavily-search

An MCP server implementation that integrates the Tavily Search API, providing optimized search capabilities for LLMs.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
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:

  1. Clone the repository:
git clone https://github.com/apappascs/tavily-search-mcp-server.git
  1. Install dependencies and build:
cd tavily-search-mcp-server
npm install
npm run build
  1. Set up environment variable with your Tavily API key:
export TAVILY_API_KEY=your_api_key_here
  1. Run the server (example with Node):
node dist/index.js
  1. If you prefer SSE transport, run:
node dist/sse.js
  1. (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

Sponsor this space

Reach thousands of developers