Queries public SearXNG instances and parses results into JSON, with fallback between instances.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add searxng-public --env SEARXNG_BASE_URL='<SEARXNG_BASE_URL>' --env DEFAULT_LANGUAGE='<DEFAULT_LANGUAGE>' -- npx mcp-searxng-public~/.codex/config.toml
[mcp_servers.searxng-public]
command = "npx"
args = ["mcp-searxng-public"]
env = { SEARXNG_BASE_URL = "<SEARXNG_BASE_URL>", DEFAULT_LANGUAGE = "<DEFAULT_LANGUAGE>" }
# codex mcp add searxng-public --env SEARXNG_BASE_URL='<SEARXNG_BASE_URL>' --env DEFAULT_LANGUAGE='<DEFAULT_LANGUAGE>' -- npx mcp-searxng-public~/.cursor/mcp.json
{
"mcpServers": {
"searxng-public": {
"command": "npx",
"args": [
"mcp-searxng-public"
],
"env": {
"SEARXNG_BASE_URL": "<SEARXNG_BASE_URL>",
"DEFAULT_LANGUAGE": "<DEFAULT_LANGUAGE>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"searxng-public": {
"type": "stdio",
"command": "npx",
"args": [
"mcp-searxng-public"
],
"env": {
"SEARXNG_BASE_URL": "<SEARXNG_BASE_URL>",
"DEFAULT_LANGUAGE": "<DEFAULT_LANGUAGE>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"searxng-public": {
"command": "npx",
"args": [
"mcp-searxng-public"
],
"env": {
"SEARXNG_BASE_URL": "<SEARXNG_BASE_URL>",
"DEFAULT_LANGUAGE": "<DEFAULT_LANGUAGE>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"searxng-public": {
"command": "npx",
"args": [
"mcp-searxng-public"
],
"env": {
"SEARXNG_BASE_URL": "<SEARXNG_BASE_URL>",
"DEFAULT_LANGUAGE": "<DEFAULT_LANGUAGE>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"searxng-public": {
"command": "npx",
"args": [
"mcp-searxng-public"
],
"env": {
"SEARXNG_BASE_URL": "<SEARXNG_BASE_URL>",
"DEFAULT_LANGUAGE": "<DEFAULT_LANGUAGE>"
}
}
}
}Environment variables
SEARXNG_BASE_URLDEFAULT_LANGUAGE
Replace the placeholders with your own credentials and keep them out of version control.