Web Search MCP Server
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.
Details
- Author
- matemiro
- Downloads
- 288
- Categories
- Search
Jump to
- Real-time web search via Tavily API
- Customizable search topic (general, news, finance)
- Adjustable search depth (basic, advanced)
- Maximum results and time range filtering (day, week, month, year)
- Domain inclusion and exclusion lists
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Web Search MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install Python 3.13+ and uv, then clone the repository, set up a virtual environment, and install dependencies with uv pip sync. Create a .env file from the provided template and add your Tavily API key. Run the server with uv run web_search_server.py. The server uses the stdio transport method for MCP communication.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"web search mcp server": {
"MCP-Tavily-Web-Search-Server": {
"command": "uv",
"args": [
"venv"
]
}
}
}
}
McpServers
{
"MCP-Tavily-Web-Search-Server": {
"command": "uv",
"args": [
"venv"
]
}
}
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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.

