benreichman/SearXNG-MCP-Server
If you are the rightful owner of SearXNG-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The SearXNG MCP Server is a Model Context Protocol server that integrates web search and content scraping capabilities using a local SearXNG instance, designed for seamless integration with AI clients like LM Studio.
SearXNG MCP Server
A Model Context Protocol (MCP) server that provides web search and scraping capabilities using a local SearXNG instance. Designed for integration with LM Studio and other MCP-compatible AI clients.
Features
- Web Search: Search across multiple engines (DuckDuckGo, Google, Bing, Brave) via SearXNG
- Content Scraping: Automatically scrape and format content from search results
- Direct URL Scraping: Extract content from specific URLs
- Tor Support: Optional anonymous scraping through Tor network
- MCP Protocol: Full implementation of MCP HTTP protocol for seamless AI assistant integration
- Clean Text Extraction: Remove emojis, normalize formatting, and limit word count
Prerequisites
- Python 3.8+
- A running SearXNG instance (default:
http://localhost:8080)
Installation
-
Clone or download this repository
-
Install dependencies:
pip install -r requirements.txt
- Ensure SearXNG is running locally at
http://localhost:8080
Configuration
Edit searxng_mcp_server.py to customize:
SEARXNG_BASE_URL = "http://localhost:8080/search" # Your SearXNG instance
DEFAULT_MAX_RESULTS = 5 # Default search results
DEFAULT_MAX_WORDS = 5000 # Max words per page
REQUEST_TIMEOUT = 20 # Request timeout (seconds)
SERVER_PORT = 8765 # Server port
USE_TOR = False # Route scraping through Tor (requires Tor on 127.0.0.1:9050)
Tor Support
To enable anonymous scraping through Tor:
- Install and start Tor service (must be running on
127.0.0.1:9050) - Set
USE_TOR = Truein the configuration - Restart the server
When enabled, all web scraping requests will be routed through the Tor network.
Usage
Start the Server
python searxng_mcp_server.py
The server will run on http://localhost:8765
Configure with LM Studio
Add to your LM Studio MCP settings:
{
"mcpServers": {
"searxng": {
"url": "http://localhost:8765",
"transport": "http"
}
}
}
Available Tools
1. search_web
Search the web and scrape resulting pages.
Parameters:
query(required): Search query stringmax_results(optional): Number of results to scrape (default: 5)
Example:
Search for "latest AI developments" and show me the top 3 results
2. get_website
Scrape content from a specific URL.
Parameters:
url(required): The URL to scrape
Example:
Get the content from https://example.com
API Endpoints
POST /- MCP protocol endpointGET /health- Health check endpointGET /- Server info (or SSE fallback)
How It Works
- Receives MCP tool calls from AI assistants
- Queries SearXNG with specified search terms
- Retrieves search results in JSON format
- Scrapes content from each result URL
- Cleans and formats text (removes HTML, emojis, normalizes spacing)
- Truncates content to word limit
- Returns formatted results to the AI assistant
License
MIT