Skip to main content

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: Prepare Local SearxNG

You need the configuration files from this repository to run the local search engine instance that the MCP server will connect to.

  1. Clone the Repository
    git clone https://github.com/ViktoriaKutseva/web-search-mcp.git
    cd web-search-mcp
    

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. 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
  2. Edit Configuration Add the web-search entry to the mcpServers object.

    {
      "mcpServers": {
        "web-search": {
            "command": "uvx",
            "args": [
                "--from", "web-search-searxng-mcp", "web-search-mcp"
            ],
            "env": {
                "SEARXNG_BASE_URL": "http://localhost:8080"
            }
        }
      }
    }
    
  3. 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 uvx 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

Metadata

Release files for web-search-searxng-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for web-search-searxng-mcp 0.1.1
File Size Uploaded Provenance Actions
web_search_searxng_mcp-0.1.1.tar.gz 61.8 kB With provenance Details for web_search_searxng_mcp-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for web-search-searxng-mcp 0.1.1
File Interpreter ABI Platform Actions
web_search_searxng_mcp-0.1.1-py3-none-any.whl Python 3 none any Details for web_search_searxng_mcp-0.1.1-py3-none-any.whl

Total release size: 71.5 kB

Release files / web_search_searxng_mcp-0.1.1.tar.gz

Download URL web_search_searxng_mcp-0.1.1.tar.gz
Size 61.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3bd6dc67a22a6b1b8bcb2b0d849a6ce2dc39b2227eb15c4f0e6c1c48744e3914
BLAKE2b-256 checksum
How to use checksums
68cdba064ffe3c2d703aa6e6b6d20bddec065e6413c5802a83aa077e665a246c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 5, 2026.

Transparency log

Release files / web_search_searxng_mcp-0.1.1-py3-none-any.whl

Download URL web_search_searxng_mcp-0.1.1-py3-none-any.whl
Size 9.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c37557a0724ca71f4f273c736048273863812025922300aaba0332c62d780f51
BLAKE2b-256 checksum
How to use checksums
3b400bfa7286c764559157eeee5513424b157c3da9380356e1548caf73f0f68e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 5, 2026.

Transparency log

Security for web-search-searxng-mcp 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for web_search_searxng_mcp-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 5, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page