MCP Server Search

by MaartenSmeets

2 stars
237 downloads
Not rated
GitHub

About

MCP server to use a search engine to obtain locations of relevant information on the internet

Details

Author
MaartenSmeets
GitHub stars
2
Downloads
237
Categories
Search

- Google search integration with file-based caching
- Configurable request delays and retries
- Support for simple and advanced searches (with descriptions)
- Throttling and randomization to be a good web citizen
- Exponential backoff on rate limiting (HTTP 429)
- Thread-safe access to cached results

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Server Search
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via Docker: build the image, create ./logs and ./cache directories, and run the container with SSE enabled on port 8000. Configure Cline to connect to http://localhost:8000/sse. Use the google_search tool or prompt with a query and optional parameters like num_results (1–20), use_cache, and include_descriptions.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp server search": {
            "mcp-server-search": {
                "command": "docker",
                "args": [
                    "build",
                    "-t",
                    "mcp-server-search",
                    "."
                ]
            }
        }
    }
}

McpServers

{
    "mcp-server-search": {
        "command": "docker",
        "args": [
            "build",
            "-t",
            "mcp-server-search",
            "."
        ]
    }
}

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)

1. Build the Docker image:

   docker build -t mcp-server-search .

2. Create required directories for persistence:

   mkdir -p ./logs ./cache

3. Run the container (with SSE enabled):

   docker run --rm -p 8000:8000 \
-v "$(pwd)/logs:/app/logs" \
-v "$(pwd)/cache:/app/cache" \
mcp-server-search

This will start the server with SSE enabled and make it accessible at http://localhost:8000/sse.

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": {
            "url": "http://localhost:8000/sse"
        }
    }
}

This configuration:
- Connects to the search MCP server via HTTP SSE on port 8000 at the /sse endpoint
- No longer uses the Docker stdio transport; Cline connects directly to the HTTP endpoint

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 execute
- num_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 execute
- num_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.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.