Skip to main content
Glama
TheNovaNodes

SearXNG Control Plane MCP Server

by TheNovaNodes

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SEARXNG_URLNoBase URL of SearXNG instancehttp://localhost:8081
SEARXNG_SETTINGS_PATHNoPath to SearXNG `settings.yml` file/home/ddoctorm/services/searxng/settings.yml
SEARXNG_CONTAINER_NAMENoName of the Docker container running SearXNGsearxng-app

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
inspect_settingsA

Inspect SearXNG configuration settings and active/disabled engines from settings.yml.

Args: settings_path: Optional path to settings.yml. Defaults to SEARXNG_SETTINGS_PATH.

set_engine_statusA

Enable or disable a search engine in settings.yml.

Args: engine_name: Name of the engine (e.g. 'google cse', 'duckduckgo', 'bing'). enabled: True to enable the engine, False to disable it. settings_path: Optional path to settings.yml. Defaults to SEARXNG_SETTINGS_PATH.

enable_engineB

Enable a specific search engine in SearXNG settings.yml.

Args: engine_name: Name of the engine to enable (e.g. 'duckduckgo'). settings_path: Optional path to settings.yml.

disable_engineB

Disable a specific search engine in SearXNG settings.yml.

Args: engine_name: Name of the engine to disable (e.g. 'duckduckgo'). settings_path: Optional path to settings.yml.

test_search_api_healthA

Test SearXNG Search API health by issuing a test query and measuring latency.

Args: url: Base URL or search endpoint of SearXNG instance (defaults to SEARXNG_URL). query: Test search query string (defaults to 'healthcheck').

restart_searxng_containerA

Restart the SearXNG Docker container via subprocess.

Args: container_name: Name of the docker container (defaults to SEARXNG_CONTAINER_NAME).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 6 tools

Disambiguation2/5

The three engine control tools (set_engine_status, enable_engine, disable_engine) heavily overlap, with set_engine_status effectively combining the other two. This creates ambiguity about which tool to use for enabling/disabling an engine. The remaining tools are distinct but the redundancy lowers the overall clarity.

Naming Consistency4/5

All tool names follow a consistent verb_noun pattern with snake_case (inspect_settings, set_engine_status, enable_engine, disable_engine, test_search_api_health, restart_searxng_container). The only inconsistency is that set_engine_status and enable/disable_engine represent overlapping actions, but the naming convention itself is uniform.

Tool Count5/5

With six tools, the server is well-scoped for a control plane managing a SearXNG instance. Each tool covers a distinct area (settings inspection, engine status modification, health testing, container restart) without unnecessary bloat, making the count appropriate.

Completeness3/5

The surface covers core operations like inspecting settings, toggling engines, testing health, and restarting. However, it lacks lifecycle operations such as starting, stopping, or getting the container status, and there's no direct 'apply config' action. These gaps are notable for a control plane but not fatal.

Maintenance

ActivityMaintained
ResponsivenessNo issues