Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

searxng-mcp

MCP server for web search via a self-hosted SearXNG instance.

Provides a single search_web tool that queries your SearXNG instance and returns structured results (title, URL, snippet).

Setup

1. Set environment variable

export SEARXNG_BASE_URL="http://searxng:8080"

Optional:

export SEARXNG_LANGUAGE="en-US"
export SEARXNG_CATEGORIES="general"
export SEARXNG_ENGINES="google,bing"
export SEARXNG_TIME_RANGE="month"
export SEARXNG_SAFESEARCH="1"
export SEARXNG_USER_AGENT="my-app/1.0"
export SEARXNG_HEADERS_JSON='{"Authorization":"Bearer ..."}'
export SEARXNG_TIMEOUT_SECONDS="30"

2. Run

No install needed — run directly from GitHub with uvx:

uvx --from "git+https://github.com/fighter3005/search-mcp" searxng-mcp

Or from a local clone:

uvx --from /path/to/search-mcp searxng-mcp

Client configuration

Claude Code

claude mcp add --transport stdio searxng-search \
  -e SEARXNG_BASE_URL="http://searxng:8080" \
  -- uvx --from "git+https://github.com/fighter3005/search-mcp" searxng-mcp

Codex

codex mcp add searxng-search \
  --env SEARXNG_BASE_URL="http://searxng:8080" \
  -- uvx --from "git+https://github.com/fighter3005/search-mcp" searxng-mcp

Cursor / VS Code

Create .cursor/mcp.json or .vscode/mcp.json:

With uvx from GitHub:

{
  "mcpServers": {
    "searxng-search": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/fighter3005/search-mcp", "searxng-mcp"],
      "env": {
        "SEARXNG_BASE_URL": "http://searxng:8080"
      }
    }
  }
}

After install:

{
  "mcpServers": {
    "searxng-search": {
      "command": "searxng-mcp",
      "env": {
        "SEARXNG_BASE_URL": "http://searxng:8080"
      }
    }
  }
}

Claude Desktop

Edit claude_desktop_config.json:

With uvx from GitHub (no install needed):

{
  "mcpServers": {
    "searxng-search": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/fighter3005/search-mcp", "searxng-mcp"],
      "env": {
        "SEARXNG_BASE_URL": "http://searxng:8080"
      }
    }
  }
}

After install (pip install -e .):

{
  "mcpServers": {
    "searxng-search": {
      "command": "searxng-mcp",
      "env": {
        "SEARXNG_BASE_URL": "http://searxng:8080"
      }
    }
  }
}

LiteLLM / Anthropic

Add to your config.yaml:

mcp_servers:
  searxng-search:
    command: uvx
    args:
      - "--from"
      - "git+https://github.com/fighter3005/search-mcp"
      - "searxng-mcp"
    env:
      SEARXNG_BASE_URL: "http://searxng:8080"

Or as a JSON litellm_config:

{
  "mcp_servers": {
    "searxng-search": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/fighter3005/search-mcp", "searxng-mcp"],
      "env": {
        "SEARXNG_BASE_URL": "http://searxng:8080"
      }
    }
  }
}

Tool

Tool Parameters Description
search_web query (str), num_results (int, default 5) Search the web via SearXNG

Returns {"results": [{"title": str, "url": str, "snippet": str}, ...]}.

Requirements

  • Python 3.11+
  • A running SearXNG instance with JSON format enabled

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages