mcp-searxng
by: ihor-sokoliuk
MCP Server for SearXNG
📌Overview
Purpose: Implement a Model Context Protocol (MCP) server that integrates the SearxNG API for enhanced web search functionality.
Overview: The SearXNG MCP Server provides a seamless interface for executing web searches, allowing users to retrieve and manage search results efficiently through paginated queries. It can be easily configured using public or local SearxNG instances and supports integration with various platforms, including Claude Desktop.
Key Features:
-
Web Search: Allows users to perform comprehensive web searches, including news and articles, with the ability to navigate between pages of results.
-
Pagination: Offers customizable options to manage the number of results returned per page and the starting point for the next set of results.
SearXNG MCP Server
An MCP server implementation that integrates the SearXNG API, providing web search capabilities.
Features
- Web Search: General queries, news, articles, with pagination.
- Pagination: Control which page of results to retrieve.
- Time Filtering: Filter results by time range (day, month, year).
- Language Selection: Filter results by preferred language.
- Safe Search: Control content filtering level for search results.
Tools
-
searxng_web_search
- Execute web searches with pagination
- Inputs:
query
(string): The search query.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 or "all" (default: "all")safesearch
(number, optional): Safe search filter level (0: None, 1: Moderate, 2: Strict) (default: instance setting)
-
web_url_read
- Read and convert the content from a URL to markdown
- Inputs:
url
(string): The URL to fetch and process
Configuration
Setting the SEARXNG_URL
- Choose a SearxNG instance from the list of public instances or use your local environment.
- Set the
SEARXNG_URL
environment variable to the instance URL. - The default
SEARXNG_URL
value ishttp://localhost:8080
.
Usage with Claude Desktop
Installing via Smithery
To install SearxNG Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ihor-sokoliuk/server-searxng --client claude
NPX
{
"mcpServers": {
"searxng": {
"command": "npx",
"args": [
"-y",
"mcp-searxng"
],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}
NPM
npm install -g mcp-searxng
In your MCP config file:
{
"mcpServers": {
"searxng": {
"command": "mcp-searxng",
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}
Docker
Using Pre-built Image from Docker Hub
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"
}
}
}
}
Build Locally
docker build -t mcp-searxng:latest -f Dockerfile .
Use
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"
}
}
}
}
License
This MCP server is licensed under the MIT License. You are free to use, modify, and distribute the software under the terms of the MIT License.