SearXNG Control Plane MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SEARXNG_URL | No | Base URL of SearXNG instance | http://localhost:8081 |
| SEARXNG_SETTINGS_PATH | No | Path to SearXNG `settings.yml` file | /home/ddoctorm/services/searxng/settings.yml |
| SEARXNG_CONTAINER_NAME | No | Name of the Docker container running SearXNG | searxng-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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
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.
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.
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.
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.