
How to add SearXNG to Windsurf
Private metasearch via your own SearXNG instance — popular community MCP server for self-hosted search. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 15, 2026 · 896★ · stdio · no auth
Windsurf config for SearXNG
npx -y mcp-searxng{
"mcpServers": {
"searxng": {
"command": "npx",
"args": [
"-y",
"mcp-searxng"
],
"env": {
"SEARXNG_URL": "https://your-searxng-instance.example.com"
}
}
}
}Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the SearXNG config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5SearXNG's tools become available to Cascade.
Before you start
- Node.js (18+) for npx/npm, or Docker to run the published image
- Access to a SearXNG instance (self-hosted or remote), set via the SEARXNG_URL environment variable
- Optional: AUTH_USERNAME and AUTH_PASSWORD if your SearXNG instance is behind HTTP Basic Auth
What SearXNG can do in Windsurf
searxng_web_searchRun a web search against the SearXNG instance with pagination, time-range, language, and safesearch options.
searxng_search_suggestionsGet autocomplete/query suggestions to refine a search.
searxng_instance_infoDiscover the instance's categories, engines, defaults, locales, and plugins.
web_url_readFetch a URL and convert its content to Markdown with filtering and length controls.
Security
You must supply your own SEARXNG_URL; point it only at an instance you trust, since results flow through it. If that instance requires auth, configure credentials via the documented env vars (e.g. AUTH_USERNAME/AUTH_PASSWORD) and keep them secret.
SearXNG + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the SearXNG config there under the "mcpServers" key and restart the client.
Is SearXNG safe to use with Windsurf?
You must supply your own SEARXNG_URL; point it only at an instance you trust, since results flow through it. If that instance requires auth, configure credentials via the documented env vars (e.g. AUTH_USERNAME/AUTH_PASSWORD) and keep them secret.
Do I need my own SearXNG instance?
You need a reachable SearXNG instance set via SEARXNG_URL — either self-hosted (recommended for privacy) or a trusted public one. The MCP server itself is just the bridge.
Does it require an API key?
No search API key is required. If your SearXNG instance is password-protected, supply AUTH_USERNAME and AUTH_PASSWORD for HTTP Basic Auth.
Can I run it in Docker?
Yes. A prebuilt image is published as isokoliuk/mcp-searxng:latest, with docker-compose support and Cosign-verifiable signatures.