SearXNG Browser
БесплатноНе проверенDocker-based web search and headless browser combining SearXNG with Playwright.
Описание
Docker-based web search and headless browser combining SearXNG with Playwright.
README
Dockerized MCP server that combines:
- SearXNG for meta-search snippets
- Playwright Chromium for rendered page reading and screenshots
- FastMCP tools exposed on port 3000
Architecture
flowchart TD
Client[MCP Client]
subgraph Docker Network
MCP[MCP Server :3000]
SearX[SearXNG :8080]
Browser[Headless Chromium]
end
Client -->|HTTP/SSE| MCP
MCP -->|Search API| SearX
MCP -->|Rendered page operations| Browser
Services and Ports
| Service | Host Port | Purpose |
|---|---|---|
| SearXNG | 127.0.0.1:8081 | Local search backend UI/API |
| MCP | 127.0.0.1:3000 | MCP tools endpoint |
MCP endpoint options (depends on client support):
- Streamable HTTP: http://localhost:3000/mcp
- SSE: http://localhost:3000/sse
Requirements
- Docker Desktop (or compatible Docker daemon)
- Docker Compose support (
docker composeordocker-compose) - Python 3.x (for deployment helper script)
- MCP-compatible client (LM Studio, Claude Desktop, Cursor, Continue, etc.)
Quick Start
- Create .env with a random SearXNG secret:
echo "SEARXNG_SECRET=$(openssl rand -hex 32)" > .env
- Start services:
python3 deploy-local.py --start
- Connect your MCP client:
- Prefer: http://localhost:3000/mcp
- Fallback: http://localhost:3000/sse
If your client keeps a long-lived session, reconnect after container restart to avoid stale-session errors.
MCP Tools
The server currently exposes these tools:
| Tool | Description |
|---|---|
| search | Fast snippet search from SearXNG |
| deep_search | Search plus rendered full-page extraction |
| navigate | Open a URL and return text or HTML |
| screenshot | Capture a page screenshot (PNG) |
| read_page | Unified page reader: links, text, headlines, or full |
search and deep_search parameters
| Parameter | Default | Notes |
|---|---|---|
| query | required | Search query |
| categories | general | Example: general, news, science, it |
| language | auto | Language code or auto |
| safe_search | 0 | 0 off, 1 moderate, 2 strict |
| time_range | "" | "", day, week, month, year |
| max_results | 10 or 3 | search: 1-20, deep_search: 1-10 |
Deployment Commands
python3 deploy-local.py --start
python3 deploy-local.py --rebuild
python3 deploy-local.py --stop
python3 deploy-local.py --logs
python3 deploy-local.py --start --logs
Notes:
--rebuildimplies--start.mcp/server.pyandmcp/web_core.pyare bind-mounted into container, so code edits can be applied withdocker restart mcp(no image rebuild required).
Environment Variables
Configured in docker-compose:
| Variable | Default | Purpose |
|---|---|---|
| MCP_TRANSPORT | streamable-http | MCP transport mode |
| MCP_HOST | 0.0.0.0 | Bind host |
| MCP_PORT | 3000 | Bind port |
| SEARXNG_URL | http://searxng:8080 | Internal SearXNG URL |
| SEARXNG_TIMEOUT | 25 | Search request timeout (seconds) |
| PAGE_TIMEOUT | 15000 | Browser navigation timeout (ms) |
| FETCH_CONCURRENCY | 5 | Parallel fetches in deep_search |
Supported in code (optional to set):
| Variable | Default | Purpose |
|---|---|---|
| PAGE_POOL_SIZE | 4 | Pre-warmed Playwright pages |
| CONTEXT_ROTATION_THRESHOLD | 100 | Rotate browser context every N navigations |
| ALLOW_PRIVATE_NETWORK | false | Allow private-network URLs |
Important container settings:
shm_size: 512mis set for Chromium stability.
LM Studio Example
Included config file:
mcp-lmstudio-config.json
Current sample uses SSE URL:
{
"mcpServers": {
"web-search": {
"url": "http://localhost:3000/sse"
}
}
}
If your client supports streamable HTTP MCP directly, use http://localhost:3000/mcp.
Project Structure
.
├── deploy-local.py
├── docker-compose.yml
├── mcp-lmstudio-config.json
├── README.md
├── mcp/
│ ├── Dockerfile
│ ├── requirements.txt
│ ├── server.py
│ └── web_core.py
└── searxng/
└── settings.yml
Troubleshooting
- Docker daemon unavailable
- Start Docker Desktop (or your active daemon) and retry.
- .env missing or empty secret
- Ensure
.envexists and includesSEARXNG_SECRET=....
- MCP health check fails
- Check logs:
docker logs mcp
docker logs searxng
- Playwright or browser instability
- Keep
shm_size: 512min docker-compose.
Установка SearXNG Browser
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/jscsatoshi/mcpserverFAQ
SearXNG Browser MCP бесплатный?
Да, SearXNG Browser MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для SearXNG Browser?
Нет, SearXNG Browser работает без API-ключей и переменных окружения.
SearXNG Browser — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить SearXNG Browser в Claude Desktop, Claude Code или Cursor?
Открой SearXNG Browser на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare SearXNG Browser with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
