Skip to content

arisjulio/searxng-mcp

Repository files navigation

SearXNG MCP Server

An MCP server that gives AI assistants (Claude, Cursor, etc.) the ability to search the web and read pages, powered by a SearXNG instance you control.

Prerequisites

  • Docker or Podman (with Docker Compose compatibility)
  • A running SearXNG instance with JSON format enabled (see SearXNG docs)

Setup

1. Clone the repo

git clone https://github.com/arisjulio/searxng-mcp
cd searxng-mcp

2. Configure environment

cp .env.example .env

Edit .env.

3. Start the server

# With Docker
docker compose up -d

# With Podman
podman compose up -d

4. Verify it's running

curl http://localhost:${PORT}/health
# {"status":"ok"}

Tools

web_search

Search the web via SearXNG. Returns titles, URLs, engine source, and summaries.

Parameter Type Required Default Description
query string yes Search query. Supports engine-specific syntax (e.g. site:github.com SearXNG).
language string no es Language code for results (e.g. en, es).
engines string[] no ["brave", "duckduckgo", "startpage"] Engines to query. Options: brave, duckduckgo, google, startpage, wikidata, wikipedia, yahoo. Note: All selected engines must be enabled in your SearXNG instance.
time_range string no month Filter by recency. Options: day, month, year.
max_results number no 20 Maximum number of results to return.

SearXNG Engine Requirements

The engines available in the engines parameter depend on what is configured in your SearXNG instance. If an engine is selected but not enabled on the server, searches using that engine will fail silently or return no results. Refer to your SearXNG instance's settings to confirm which engines are available.

Network Security

This MCP server is designed for trusted/private networks. It should not be directly exposed to the public internet. The server has no built-in authentication or access control—any client that can reach the server can execute searches through your SearXNG instance.

If you need to access this server remotely, use a VPN, SSH tunnel, or a reverse proxy with authentication in front of it.

Connect your MCP client

The server uses the Streamable HTTP transport on POST /mcp.

About

My personal searXNG MCP server.

Resources

License

Stars

Watchers

Forks

Contributors