by ihor-sokoliuk
Provides web search capabilities via the SearXNG API, exposing them through an MCP server for seamless integration with AI agents and tools.
SearXNG MCP Server integrates the public SearXNG search engine into the Model Context Protocol (MCP) ecosystem, allowing AI models and agents to perform web searches, retrieve results with pagination, filter by time, language, and safe‑search settings, and read content from URLs.
npx
(recommended) or via npm/docker.SEARXNG_URL
environment variable to point to a SearXNG instance (default http://localhost:8080
). Optional basic‑auth credentials can be supplied via AUTH_USERNAME
and AUTH_PASSWORD
.claude_desktop_config.json
) using the provided command and environment settings.pageno
).day
, month
, or year
ranges.all
.Q: Which SearXNG instance should I use? A: Choose any public instance from the list of public instances or run your own locally.
Q: Do I need an API key?
A: No API key is required; only the SEARXNG_URL
is needed. Authentication is optional via basic auth variables.
Q: How do I run the server with Docker?
A: Pull the image (docker pull isokoliuk/mcp-searxng:latest
) and configure the command in your MCP config as shown in the README.
Q: Can I change the safe‑search level?
A: Yes, set the safesearch
input (0, 1, or 2) when invoking the searxng_web_search
tool.
Q: How are pagination numbers interpreted?
A: pageno
starts at 1; each increment retrieves the next page of results.
An MCP server implementation that integrates the SearXNG API, providing web search capabilities.
searxng_web_search
query
(string): The search query. This string is passed to external search services.pageno
(number, optional): Search page number, starts at 1 (default 1)time_range
(string, optional): Filter results by time range - one of: "day", "month", "year" (default: none)language
(string, optional): Language code for results (e.g., "en", "fr", "de") or "all" (default: "all")safesearch
(number, optional): Safe search filter level (0: None, 1: Moderate, 2: Strict) (default: instance setting)web_url_read
url
(string): The URL to fetch and processSEARXNG_URL
environment variable to the instance URL.SEARXNG_URL
value is http://localhost:8080
.If you are using a password protected SearxNG instance you can set a username and password for HTTP Basic Auth:
AUTH_USERNAME
environmental variable to your usernameAUTH_PASSWORD
environmental variable to your passwordTo install SearxNG Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ihor-sokoliuk/server-searxng --client claude
{
"mcpServers": {
"searxng": {
"command": "npx",
"args": [
"-y",
"mcp-searxng"
],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}
npm install -g mcp-searxng
And then in your MCP config file:
{
"mcpServers": {
"searxng": {
"command": "mcp-searxng",
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}
docker pull isokoliuk/mcp-searxng:latest
Add this to your claude_desktop_config.json
:
{
"mcpServers": {
"searxng": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SEARXNG_URL",
"isokoliuk/mcp-searxng:latest"
],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}
docker build -t mcp-searxng:latest -f Dockerfile .
Add this to your claude_desktop_config.json
:
{
"mcpServers": {
"searxng": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"SEARXNG_URL",
"mcp-searxng:latest"
],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}
The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can see the full documentation here.
SEARXNG_URL=SEARXNG_URL OPENAI_API_KEY=your-key npx mcp-eval evals.ts index.ts
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "searxng": { "command": "npx", "args": [ "-y", "mcp-searxng" ], "env": { "SEARXNG_URL": "<YOUR_SEARXNG_INSTANCE_URL>" } } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by exa-labs
Provides real-time web search capabilities to AI assistants via a Model Context Protocol server, enabling safe and controlled access to the Exa AI Search API.
by elastic
Enables natural‑language interaction with Elasticsearch indices via the Model Context Protocol, exposing tools for listing indices, fetching mappings, performing searches, running ES|QL queries, and retrieving shard information.
by graphlit
Enables integration between MCP clients and the Graphlit platform, providing ingestion, extraction, retrieval, and RAG capabilities across a wide range of data sources and connectors.
by mamertofabian
Fast cross‑platform file searching leveraging the Everything SDK on Windows, Spotlight on macOS, and locate/plocate on Linux.
by cr7258
Provides Elasticsearch and OpenSearch interaction via Model Context Protocol, enabling document search, index management, cluster monitoring, and alias operations.
by liuyoshio
Provides natural‑language search and recommendation for Model Context Protocol servers, delivering rich metadata and real‑time updates.
by fatwang2
Provides web and news search, URL crawling, sitemap extraction, deep‑reasoning, and trending topic retrieval via Search1API, exposed as an MCP server for integration with AI clients.
by cnych
Provides SEO data retrieval via Ahrefs, exposing MCP tools for backlink analysis, keyword generation, traffic estimation, and keyword difficulty, with automated CAPTCHA solving and response caching.
by nacos-group
Provides search, installation, and proxy functionalities for MCP servers, combining Nacos service discovery with optional Compass API support and offering both router and proxy operating modes.