searxng-web-fetch-mcp v0.2.9
SearXNG Web Fetch MCP Server
An MCP (Model Context Protocol) server written in Crystal that provides web search and content extraction capabilities through SearXNG and Byparr proxy.
Features
- Web Search: Search the web using your local SearXNG instance
- Web Page Fetching: Extract clean, article-focused content from any URL
- Batch Fetching: Fetch multiple URLs in parallel with concurrent processing
- HTML to Markdown: Converts extracted content to clean Markdown format
- Trafilatura-style Extraction: Smart content extraction that identifies the main article content
- Fiber-based Concurrency: Uses Crystal fibers for efficient parallel I/O
Prerequisites
Quick Start
1. Install the binary
curl -sL https://raw.githubusercontent.com/enrell/searxng-web-fetch-mcp/main/install.sh | bash
This downloads the latest release binary to ~/.local/bin/searxng-web-fetch-mcp.
2. Configure your MCP client
Add to your MCP configuration file:
For OpenCode:
{
"mcp": {
"searxng-web": {
"type": "local",
"command": ["/home/YOUR_USER/.local/bin/searxng-web-fetch-mcp"],
"environment": {
"SEARXNG_URL": "http://localhost:8888",
"BYPARR_URL": "http://localhost:8191"
}
}
}
}
For Claude Code (.claude.json):
{
"mcpServers": {
"searxng-web": {
"command": "/home/YOUR_USER/.local/bin/searxng-web-fetch-mcp",
"env": {
"SEARXNG_URL": "http://localhost:8888",
"BYPARR_URL": "http://localhost:8191"
}
}
}
}
Note: Replace
/home/YOUR_USERwith your actual home directory path (e.g.,/home/kokoroor use$HOMEenvironment variable).
Install Script
The install script automatically detects your platform and architecture:
curl -sL https://raw.githubusercontent.com/enrell/searxng-web-fetch-mcp/main/install.sh | bash
Supported platforms:
- Linux: x86_64, arm64, riscv64
- macOS: x86_64, arm64 (Apple Silicon)
- Windows: x86_64
Usage
Ensure SearXNG and Byparr are running, then use the MCP as configured above.
Environment Variables:
| Variable | Description | Default |
|---|---|---|
SEARXNG_URL |
URL of your SearXNG instance | http://localhost:8888 |
BYPARR_URL |
URL of your Byparr proxy | http://localhost:8191 |
LOG_LEVEL |
Logging verbosity (DEBUG, INFO, WARN, ERROR) | INFO |
MCP_TIMEOUT |
Request timeout in seconds | 30 |
MAX_CONCURRENT_REQUESTS |
Max parallel requests for batch fetching | 30 |
MCP Tools
searxng_web_search
Search the web using SearXNG.
Parameters:
query(required): The search querynum_results(optional): Number of results (default: 10)language(optional): Search language (default: "en")
web_fetch
Fetch and extract content from web pages. Supports single URL or batch fetching.
Parameters:
url(optional): The URL to fetchurls(optional): Array of URLs to fetch in parallelinclude_metadata(optional): Include metadata (default: true)
Batch Fetching Example:
{
"urls": [
"https://example.com/article1",
"https://example.com/article2",
"https://example.com/article3"
]
}
Performance: ~25-33 URLs/second with concurrent fiber-based processing.
Build from Source
Requires Crystal 1.19.1+:
git clone https://github.com/enrell/searxng-web-fetch-mcp.git
cd searxng-web-fetch-mcp
shards install --without development
crystal build src/searxng_web_fetch_mcp.cr -o searxng-web-fetch-mcp --release
License
MIT License - see LICENSE file
searxng-web-fetch-mcp
- 1
- 0
- 0
- 0
- 4
- 11 days ago
- March 25, 2026
MIT License
Fri, 03 Apr 2026 18:36:10 GMT