by ihor-sokoliuk
mcp-searxng is an MCP (Model Context Protocol) server that integrates with SearXNG to provide web search capabilities for AI models and applications.
mcp-searxng is an MCP (Model Context Protocol) server designed to integrate the SearXNG API, enabling AI models and applications to perform web searches. It acts as a bridge, allowing AI agents to leverage SearXNG's search functionalities.
mcp-searxng can be used by setting up the SEARXNG_URL
environment variable to point to a SearXNG instance (either public or local). Authentication can be configured using AUTH_USERNAME
and AUTH_PASSWORD
for protected instances. It can be installed and used via Smithery, NPX, NPM, or Docker, with detailed instructions provided for each method, including configuration examples for claude_desktop_config.json
.
searxng_web_search
for executing web searches and web_url_read
for reading and converting URL content to markdown.Q: What is SearXNG? A: SearXNG is a free internet metasearch engine which aggregates results from various search services and databases.
Q: Do I need my own SearXNG instance to use mcp-searxng? A: No, you can use a public SearXNG instance from searx.space or set up your own local instance.
Q: How do I configure authentication for a protected SearXNG instance?
A: You can set the AUTH_USERNAME
and AUTH_PASSWORD
environment variables with your credentials.
Q: What is the web_url_read
tool used for?
A: The web_url_read
tool is used to fetch content from a given URL and convert it into markdown format, which can be useful for AI models to process web page content.
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"
}
}
}
}
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.
Reviews feature coming soon
Stay tuned for community discussions and feedback