web-search-mcp

hexdecimal16/web-search-mcp

3.3

If you are the rightful owner of web-search-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The Web Search MCP Tool is a server that performs Google searches and retrieves content from the top results.

Web Search MCP Tool

A Model Context Protocol (MCP) server that provides a tool for performing Google searches and retrieving the content of the top results.

Features

  • Performs a Google search for a given query.
  • Identifies the top 5 non-social media search results.
  • Crawls the content of the top results.
  • Returns the crawled content as a single string.

Prerequisites

  • Python 3.13+
  • uv: This project uses uv for package management. If you don't have it, install it with:
    curl -LsSf https://astral.sh/uv/install.sh | sh
    

Installation

  1. Clone the repository:

    git clone https://github.com/hexdecimal16/web-search-mcp
    cd web-search-mcp
    
  2. Create and activate a virtual environment:

    uv venv
    source .venv/bin/activate
    
  3. Install dependencies: The project's dependencies are defined in pyproject.toml. Install them using uv:

    uv sync
    

Usage

This tool is designed to be launched by an MCP client application (e.g., Claude Desktop) using stdio as the transport mechanism.

MCP Client Configuration

You must configure your MCP client to launch the tool. The following JSON configuration uses uv to run the web_search.py script.

Note: This configuration is based on the user's specific request. For some MCP client environments that have issues with asyncio event loop conflicts, a different configuration may be needed.

{
  "mcpServers": {
    "web-search": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/your/project/web-search-mcp",
        "run",
        "web_search.py",
        "--timeout=15"
      ]
    }
  }
}

Important: Replace /path/to/your/project/web-search-mcp with the correct absolute path to this project on your filesystem.

Testing

To verify that the script is syntactically correct and the tool is functioning, you can run the included tests using pytest.

  1. Install test dependencies:

    uv pip install pytest pytest-asyncio
    
  2. Run the tests:

    pytest