SearXNG MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SEARXNG_URL | No | The URL of the SearXNG instance | |
| SEARXNG_PASSWORD | No | Password for basic authentication with SearXNG | |
| SEARXNG_USERNAME | No | Username for basic authentication with SearXNG | |
| USE_RANDOM_INSTANCE | No | Whether to use random instance selection | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| web_searchB | Perform a web search using a privacy-respecting SearXNG metasearch instance. |
| searxng_ingest_searchA | Run a SearXNG search and natively ingest its results into epistemic-graph. Wire-First: performs the search, then pushes each result into the knowledge graph
as a search :Document (+ :SearchQuery / :SearchEngine typed nodes and their
:resultOf / :fromEngine links). Best-effort: |
| searxng_get_settingsA | Read the EMBEDDED SearXNG instance's active settings.yml
(CONCEPT:SR-KG.compute.embedded-instance): the user override at
|
| searxng_set_settingsA | Deep-merge |
| searxng_reset_settingsA | Delete the EMBEDDED SearXNG user override settings.yml, reverting to the packaged default on the next spawn. |
| searxng_search_appA | Launch an interactive SearXNG search-UI app: a query box, category filters, and a clickable results list, backed by the existing web_search tool through the host-mediated MCP Apps bridge. Use this when a human should see and interact with search results visually rather than read raw JSON. Does NOT drive a browser or render arbitrary web pages -- only this search workflow. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| connector-status | Ask for this connector server's current operational status. |
| search_specialist | SearXNG metasearch specialist: privacy-respecting open-web research and knowledge-graph capture over the searxng-mcp MCP server. |
| search |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| _connector_status_resource | Native resource exposing this server's static status payload. |
| ontology://searxng-mcp/searxng.ttl | |
| connector-resources | Data sources, ontology mappings and resources of this connector. |
| searxng-search | Interactive search UI backed by the web_search tool. |
| searxng-settings-editor/SKILL.md | Inspect and edit the EMBEDDED SearXNG instance's settings.yml (the private, loopback-only, zero-config search fallback the searxng-mcp server can own end to end when no external SEARXNG_URL is configured). Use when the agent or operator wants to change what the embedded instance does — enable/ disable formats, flip privacy knobs (image_proxy, enable_metrics), route outgoing requests through a proxy, or diagnose why embedded mode isn't activating. Do NOT use this for an externally-configured instance (SEARXNG_URL set) — that instance's settings.yml lives on its own host and isn't managed by this server; use `searxng-web-search` for plain queries. |
| searxng-settings-editor/_manifest | File listing for searxng-settings-editor |
| searxng-mcp-operations/SKILL.md | Operate searxng-mcp through its governed MCP and Arbora capabilities, including searxng kg ingestion, searxng news research, searxng settings editor, searxng web search. Use when a request requires this provider's read, change, automation, ingestion, troubleshooting, or evidence workflows. |
| searxng-mcp-operations/_manifest | File listing for searxng-mcp-operations |
| searxng-web-search/SKILL.md | Privacy-respecting web metasearch via the searxng-mcp MCP server. Use when the agent needs current, open-web results for a query and must NOT leak the query to a single tracking engine — SearXNG aggregates many engines (Google, Bing, DuckDuckGo, Wikipedia, …) behind one JSON tool. Use for general lookups, fact-finding, and pulling candidate source URLs to read next. Do NOT use for academic papers (use scholarx), for reading one already-known URL's full content (use web-fetch / web-crawler), or for keyless social/forum research (use pulselink-mcp). |
| searxng-web-search/_manifest | File listing for searxng-web-search |
| searxng-kg-ingestion/SKILL.md | Persist SearXNG search results into the epistemic-graph knowledge graph via the searxng-mcp MCP server. Use when the agent must turn a web search into durable, semantically-searchable KG memory — each result becomes a :Document (plus :SearchQuery and :SearchEngine typed nodes with :resultOf / :fromEngine links) so later reasoning can recall and cite it. Do NOT use for one-off reads you don't need to remember (use searxng-web-search) or to ingest a specific page's full text (use web-crawler). |
| searxng-kg-ingestion/_manifest | File listing for searxng-kg-ingestion |
| searxng-news-research/SKILL.md | Time-sensitive news and topic monitoring via the searxng-mcp MCP server. Use when the agent must gather what multiple news/social engines are currently reporting on a topic — breaking events, product/security announcements, or ongoing coverage — by scoping `web_search` to the `news`/`social_media` categories and paging for breadth. Do NOT use for evergreen reference facts (use searxng-web-search), academic sources (scholarx), or deep single-source reads (web-fetch). |
| searxng-news-research/_manifest | File listing for searxng-news-research |
| searxng-mcp-development/SKILL.md | Develop and validate searxng-mcp within the shared connector and spec-delivery contracts. |
| searxng-mcp-development/_manifest | File listing for searxng-mcp-development |
TDQS
Scored across 6 tools
The tools are mostly distinct: settings get/set/reset are clearly separated, and the UI app is visibly different from raw search. However, web_search and searxng_ingest_search both perform SearXNG searches, so an agent must read descriptions carefully to choose between plain search and graph-ingesting search.
Five tools consistently use the searxng_ prefix with clear verb/object naming (ingest_search, get_settings, set_settings, reset_settings, search_app). The lone web_search tool is an understandable but noticeable deviation from that pattern.
Six tools is well-scoped for a SearXNG server: core search, graph ingestion, settings lifecycle, and an interactive UI. Each tool has a clear purpose, and none feels redundant or excessive.
The surface covers search, ingestion, full embedded-settings lifecycle, and an interactive UI, so there are no major dead ends. Minor gaps remain around richer search-result inspection or external-instance configuration, but core workflows are covered.