
MCP Server Search
MCP server to use a search engine to obtain locations of relevant information on the internet
what is MCP Server Search?
MCP Server Search is an MCP (Model Context Protocol) server that provides Google search functionality for AI models, enabling them to retrieve up-to-date information from the web.
how to use MCP Server Search?
To use MCP Server Search, you can run it using Docker, which is the recommended method. After building the Docker image, you can run the container and configure it to work with Cline for seamless integration.
key features of MCP Server Search?
- Google search integration with caching
- Configurable request delays and retries to avoid rate limiting
- Support for both simple and advanced searches
- Throttling and randomization to ensure responsible web usage
use cases of MCP Server Search?
- Enabling AI models to perform real-time web searches for information.
- Assisting in research by providing relevant data from the internet.
- Enhancing AI applications with up-to-date knowledge retrieval capabilities.
FAQ from MCP Server Search?
- Can MCP Server Search be used with any AI model?
Yes! It is designed to work with any AI model that supports the MCP protocol.
- Is there a limit to the number of search results?
Yes, you can specify the number of results to return, with a maximum of 20.
- How does caching work in MCP Server Search?
The server caches search results to improve performance and reduce the number of requests made to Google.
MCP Server Search
An MCP (Model Context Protocol) server that provides Google search functionality for AI models. This server allows models to search for up-to-date information from the web.
Features
- Google search integration with caching
- Configurable request delays and retries to avoid rate limiting
- Support for both simple and advanced searches (with descriptions)
- Throttling and randomization to be a good web citizen
Installation
Using Docker (Recommended)
-
Build the Docker image:
docker build -t mcp-server-search .
-
Create required directories for persistence:
mkdir -p ./logs ./cache
-
Run the container:
docker run --rm -i \ -v "$(pwd)/logs:/app/logs" \ -v "$(pwd)/cache:/app/cache" \ mcp-server-search
The volumes ensure:
- Logs are persisted to
./logs
directory - Search cache is persisted to
./cache
directory - Both directories are automatically created by Docker if they don't exist
Note: The -i
flag is required for MCP protocol communication, and --rm
automatically removes the container when it exits.
Cline Integration
To use this MCP server with Cline, add the following configuration to your Cline MCP settings file (located at ~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
for VS Code):
{
"mcpServers": {
"google_search": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"mcp-server-search"
],
"disabled": false,
"alwaysAllow": []
}
}
}
This configuration:
- Sets up the search MCP server to run in a Docker container
- Uses the
--rm
flag to automatically remove the container when it exits - Uses
-i
for interactive mode required by the MCP protocol - Disables the server by default for security (set
disabled
tofalse
to enable) - Requires explicit approval for all tool uses (
alwaysAllow
is empty)
Configuration
The server accepts the following command-line arguments:
--log-level
: Set the logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL). Default: INFO--log-file
: Path to log file (default: stdout)--cache-path
: Path to the search cache file (default: cache/google_cache.db)--request-delay
: Delay between search requests in seconds (default: 5)--max-retries
: Maximum number of retries for failed searches (default: 3)
Usage
The server exposes the following MCP endpoints:
Tools
-
google_search
: Search Google and return results. Results are presented in a formatted Markdown structure with titles, URLs, and descriptions (when enabled).Parameters:
query
(string, required): The search query to executenum_results
(integer, optional): Number of results to return (min: 1, max: 20, default: 5)use_cache
(boolean, optional): Whether to use cached results if available (default: true)include_descriptions
(boolean, optional): Whether to include descriptions in results (default: true)
Features:
- Automatic request throttling and retry mechanism
- Random user agent rotation for better request distribution
- File-based caching with thread-safe access
- Exponential backoff on rate limiting (HTTP 429)
Prompts
-
google_search
: Search Google with the given query. Returns results in a conversational format.Parameters:
query
(string, required): The search query to executenum_results
(integer, optional): Number of results to return (1-20, default: 5)
About MCP
The Model Context Protocol (MCP) is a protocol for connecting Large Language Models (LLMs) with tools and data sources. Learn more at github.com/modelcontextprotocol.