Data as of

SearXNG MCP Server for Cursor: Setup & Config

SearXNG MCP Server gives Cursor search and URL-reading tools backed by an existing SearXNG instance.

What you can do with SearXNG in Cursor

A self-managed SearXNG bridge that adds content reading, backend discovery, and replica handling.

  • Discover available search engines before selecting query filters.
  • Use interchangeable SearXNG replicas for failover.

Before you start: SearXNG in Cursor

  • Node.js and npx
  • An accessible SearXNG instance, preferably with JSON search enabled
  • An MCP-compatible client

The README's quick start uses npx. Docker and global-package alternatives are documented. MCP_HTTP_PORT enables HTTP mode. SEARXNG_HTML_FALLBACK is an optional compatibility measure when JSON responses are unavailable.

SearXNG Cursor configuration

  1. Choose Cursor configuration scope

    For SearXNG MCP Server, open Project: .cursor/mcp.json User: ~/.cursor/mcp.json. Merge into mcpServers at project or user scope.

  2. Add SearXNG MCP Server to Cursor

    Use the mcp-searxng entry below in mcpServers. Keep SearXNG MCP Server's documented stdio connection fields and your other Cursor entries.

  3. Check SearXNG MCP Server in Cursor

    SearXNG MCP Server: Enable in Cursor’s MCP settings; inspect tools.

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

JSON
{
  "mcpServers": {
    "mcp-searxng": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-searxng"
      ],
      "env": {
        "SEARXNG_URL": "<SearXNG instance URL or semicolon-separated interchangeable replica URLs>"
      }
    }
  }
}

SearXNG tools available to Cursor

SearXNG's stored tool list documents 4 tools; compare it with Cursor's connected tool list, because the stored list is not a live check.

searxng_web_search

Find searxng_web_search under SearXNG in Cursor's MCP settings; inspect its arguments when the agent requests a call.

searxng_search_suggestions

Find searxng_search_suggestions under SearXNG in Cursor's MCP settings; inspect its arguments when the agent requests a call.

searxng_instance_info

Find searxng_instance_info under SearXNG in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Inspect shared and available capabilities across configured reachable instances.

web_url_read

Find web_url_read under SearXNG in Cursor's MCP settings; inspect its arguments when the agent requests a call.

Read supported URL content with section, paragraph, heading, and character-range controls.

SearXNG: full stored tool descriptions

Troubleshooting SearXNG in Cursor

  • Cursor must find npx mcp-searxng (Node.js/npm) for SearXNG MCP Server. Enable the project/user entry in MCP settings and inspect its tools.
  • Review SEARXNG_URL for SearXNG MCP Server before sharing project .cursor/mcp.json; project scope travels with the repository.
  • SearXNG MCP Server uses stdio here: Cursor must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Requires an accessible SearXNG instance.
  • Known limitation: HTML fallback is best-effort and loses relevance scores and engine metadata.
  • Known limitation: The URL reader rejects PDFs and other binary downloads.
  • General Cursor troubleshooting lives in the /clients/cursor guide.

SearXNG MCP Server — details. Cursor guide

Frequently asked questions

Cursor's SearXNG MCP Server entry belongs under mcpServers in .cursor/mcp.json (project) or ~/.cursor/mcp.json (user). Confirm the active scope in MCP settings.

Cursor's mcp-searxng example uses stdio.

SearXNG MCP Server's Cursor configuration invokes npx mcp-searxng (Node.js/npm).

Cursor's SearXNG MCP Server example references SEARXNG_URL. Check these names if startup or authentication fails; the example alone does not distinguish required from optional values.

SearXNG MCP Server's stored list contains 4 tools, including searxng_web_search, searxng_search_suggestions, searxng_instance_info. Compare those names with Cursor's connected tool list; the stored list is not a live check.

Enabling JSON on an instance you control is recommended. An opt-in HTML fallback can handle some failures but returns limited metadata.

No. The documented URL reader rejects PDFs and other binary downloads with an explanatory hint.