MCP.so
Sign In
Servers

SearXNG MCP Server

@The-AI-Workshops

An MCP sse implementation of the Model Context Protocol (MCP) server integrated with SearXNG for providing AI agents with powerful, privacy-respecting search capabilities.

Overview

What is SearXNG MCP Server?

The SearXNG MCP Server is an MCP SSE implementation that integrates the SearXNG metasearch engine with the Model Context Protocol. It enables AI agents to perform privacy-respecting web searches through a SearXNG instance. The server serves both as a ready-to-use tool and as a template for building custom MCP servers.

How to use SearXNG MCP Server?

Install the server using uv, Docker, or Smithery. Ensure Python 3.9+ and a running SearXNG instance are available. Configure a .env file with SEARXNG_BASE_URL, HOST, PORT, and TRANSPORT (sse or stdio). Run server.py directly, via Docker, or through Smithery depending on your chosen transport. Connect your MCP client (e.g., Claude Desktop, Windsurf) using the appropriate SSE URL or stdio configuration.

Key features of SearXNG MCP Server

  • SSE and stdio transport support for flexible integration.
  • Configurable SearXNG search parameters (categories, engines, time range, language, etc.).
  • Works with any MCP-compatible client.
  • Docker container deployment for easy setup.
  • Smithery management support for streamlined installation.

Use cases of SearXNG MCP Server

  • Provide AI agents with web search capability while respecting user privacy.
  • Integrate a self-hosted SearXNG instance into an MCP-connected assistant.
  • Serve as a starting template for building custom MCP servers with other backends.
  • Enable private, ad-free search for automated tasks or research agents.

FAQ from SearXNG MCP Server

What are the prerequisites for running the server?

Python 3.9+ and access to a running SearXNG instance (local or remote) are required. Docker and uv are optional for containerized or faster setup.

What transport protocols are supported?

The server supports both SSE (Server-Sent Events) and stdio transports. Set the TRANSPORT environment variable to sse or stdio in your .env file.

How do I configure the SearXNG instance URL?

Set the SEARXNG_BASE_URL environment variable in your .env file, for example http://172.17.0.1:32768 (default Docker bridge address).

Is the server compatible with n8n?

Yes, n8n users should use host.docker.internal instead of localhost in the SSE URL because n8n runs inside a separate container.

Can I extend the server with custom tools?

Yes, the repository is designed as a template. Add custom tools by decorating methods with @mcp.tool(), and add resources or prompts with @mcp.resource() and @mcp.prompt().

Tags

More from Other