Skip to main content

Add your description here

Project description

Step-by-Step Setup Guide for Web Search MCP

This guide lists the specific steps to set up the Web Search MCP server and integrate it into your development environment or MCP clients (like Claude Desktop).

Prerequisites

Before starting, ensure you have the following installed:

  1. Docker & Docker Compose: For running the local SearxNG instance.
  2. uv: An extremely fast Python package installer and resolver.

Step 1: Installation & Setup

  1. Clone the Repository Clone this repository to a permanent location on your machine.

    git clone https://github.com/ViktoriaKutseva/web-search-mcp.git
    cd web-search-mcp
    
  2. Initialize Environment Use uv to sync dependencies (this creates the virtual environment).

    uv sync
    

Step 2: Start the Search Engine

The MCP server relies on a local instance of SearxNG.

  1. Configure SearxNG Copy the example settings file to create the actual configuration.

    cp searxng/settings.yml.example searxng/settings.yml
    

    Note: The settings.yml file is git-ignored. You should generate a new secret_key inside it.

  2. Start Services From the repository root run:

    docker compose up -d
    
  3. Verify SearxNG Open your browser and navigate to http://localhost:8080. You should see the SearxNG search interface.

Step 3: Configure MCP Client

To use this tool in other specific projects or global editors, you need to register it with your MCP Client (e.g., Claude Desktop, VS Code extension).

Option A: Integration with Claude Desktop

  1. Get Absolute Path Run pwd (Linux/macOS) or cd (Windows) in the repository root to get the full path. Example: /home/user/code/web-search-mcp

  2. Locate Config File Find or create the claude_desktop_config.json file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  3. Edit Configuration Add the web-search entry to the mcpServers object. Replace /ABSOLUTE/PATH/TO/ with your actual path.

    {
      "mcpServers": {
        "web-search": {
          "command": "uv",
          "args": [
            "--directory",
            "/ABSOLUTE/PATH/TO/web-search-mcp",
            "run",
            "web-search-mcp"
          ],
          "env": {
            "SEARXNG_BASE_URL": "http://localhost:8080"
          }
        }
      }
    }
    
  4. Restart Claude Desktop Completely quit and restart the application for changes to take effect.

Step 4: Verification

  1. Open your MCP Client (e.g., Claude Desktop).
  2. Look for the 🔌 icon or installed tools list to verify web-search is connected.
  3. Ask a question that requires searching the web:

    "Search for the latest release of Python and tell me the date."

Troubleshooting

  • SearxNG not reachable: Ensure Docker container is running (docker ps) and port 8080 is free.
  • MCP Error: Check the logs in your client or run uv run web-search-mcp manually in the terminal to see if it starts without crashing (it will wait for stdio input).

Configuration

Settings are managed via environment variables (or `.env` file):

  • `SEARXNG_BASE_URL`: URL of the SearxNG instance (default: `http://localhost:8080\`)
  • `SEARXNG_TIMEOUT`: Request timeout in seconds (default: `10`)
  • `LOG_LEVEL`: Logging level (default: `INFO`)

Development

  • Architecture: Follows simplified DDD guidelines.
    • `domains/`: Business logic
    • `infrastructure/`: External implementations (SearxNG client)
    • `entry_points/`: MCP server and Main execution
    • `config/`: Settings

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

web_search_searxng_mcp-0.1.0.tar.gz (61.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

web_search_searxng_mcp-0.1.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file web_search_searxng_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: web_search_searxng_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 61.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for web_search_searxng_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 82bd28689e4d6103c215fcd9de8cc25eadb5426c9c083f934bf951e1632938c9
MD5 adc695c26ea564e48cae1b77a0e155b9
BLAKE2b-256 af750492de42b84fd8b486bad7137bf2d5230ce6e2ce9f5617fd7925a4d9a82a

See more details on using hashes here.

Provenance

The following attestation bundles were made for web_search_searxng_mcp-0.1.0.tar.gz:

Publisher: publish-to-pypi.yml on ViktoriaKutseva/web-search-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file web_search_searxng_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for web_search_searxng_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8c5efb477dc971a99cf75f69ada9508595a6d6c6b18176cf8d376995a01d86a1
MD5 0a363379b38317924b70075fba8cd662
BLAKE2b-256 a143d727b243928fbf7ce78e4cf827c1cc0e36ebffcd6cebc0c79186068f0bb0

See more details on using hashes here.

Provenance

The following attestation bundles were made for web_search_searxng_mcp-0.1.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on ViktoriaKutseva/web-search-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page