Skip to content

A Model Context Protocol (MCP) server that provides a web search tool using the Tavily API. This server enables AI models to search the internet and retrieve up-to-date information.

Notifications You must be signed in to change notification settings

matemiro/MCP-Tavily-Web-Search-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web Search MCP Server

A Model Context Protocol (MCP) server that provides a web search tool using the Tavily API. This server enables AI models to search the internet and retrieve up-to-date information.

Overview

This MCP server implements a single tool:

  • search_web_tool: Searches the web using Tavily API and returns relevant search results.

The server acts as a bridge between AI models and the Tavily search engine, allowing models to access current information from the internet during conversations.

Features

  • Real-time web search capabilities
  • Customizable search parameters:
    • Search topic (general, news, finance)
    • Search depth (basic, advanced)
    • Maximum number of results
    • Time range filtering (day, week, month, year)
    • Domain inclusion/exclusion

Requirements

  • Python 3.13+
  • uv - Python package installer and resolver
  • Tavily API key (sign up at tavily.com)

Installation

  1. Clone the repository (if applicable)

  2. Set up a virtual environment using uv (optional but recommended):

    uv venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  3. Install dependencies using uv:

    uv pip sync

Configuration

  1. Create a .env file by copying the provided template:

    cp env-sample .env
  2. Add your Tavily API key to the .env file:

    TAVILY_API_KEY=your-api-key-here
    

Usage

Run the server using uv:

uv run web_search_server.py

The server operates using the stdio transport method for MCP communication, making it suitable for integration with various AI systems that support the Model Context Protocol.

Tool Parameters

The search_web_tool accepts the following parameters:

  • query (str, required): The search query.
  • search_topic (str, optional): The topic of the search. Can be "general", "news", or "finance". Defaults to "general".
  • search_depth (str, optional): The depth of the search. Can be "basic" or "advanced". Defaults to "basic".
  • max_results (int, optional): The maximum number of results to return. Defaults to 1.
  • time_range (str, optional): The time range for the search. Can be "day", "week", "month", or "year". Defaults to None.
  • include_domains (list[str], optional): A list of domains to include in the search.
  • exclude_domains (list[str], optional): A list of domains to exclude from the search.

Response Format

The tool returns a list of search results, each containing:

  • title: The title of the search result
  • url: The URL of the search result
  • content: The content of the search result
  • score: The relevance score of the search result

Error Handling

If an error occurs during the search operation, the tool will return an error message describing the issue.

About

A Model Context Protocol (MCP) server that provides a web search tool using the Tavily API. This server enables AI models to search the internet and retrieve up-to-date information.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages