Open-source MCP Server for web search, extract, and crawl with embedded SearXNG
Project description
WET - Web ExTract MCP Server
Open-source MCP Server for web scraping & multimodal extraction.
Features
- Web Search - Search via embedded SearXNG (metasearch: Google, Bing, DuckDuckGo, Brave)
- Content Extract - Extract clean content (Markdown/Text)
- Deep Crawl - Crawl multiple pages from a root URL with depth control
- Site Map - Discover website URL structure
- Media - List and download images, videos, audio files
- Anti-bot - Stealth mode bypasses Cloudflare, Medium, LinkedIn, Twitter
Quick Start
Prerequisites
- Python 3.13 (required — Python 3.14+ is not supported due to SearXNG incompatibility)
Add to mcp.json
uvx (Recommended)
{
"mcpServers": {
"wet": {
"command": "uvx",
"args": ["--python", "3.13", "wet-mcp@latest"],
"env": {
"API_KEYS": "GOOGLE_API_KEY:AIza..."
}
}
}
}
Warning: You must specify
--python 3.13when usinguvx. Without it,uvxmay pick Python 3.14+ which causes SearXNG search to fail silently (RuntimeError: can't register atexit after shutdownin DNS resolution).
That's it! On first run:
- Automatically installs SearXNG from GitHub
- Automatically installs Playwright chromium + system dependencies
- Starts embedded SearXNG subprocess
- Runs the MCP server
Docker
{
"mcpServers": {
"wet": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "API_KEYS", "n24q02m/wet-mcp:latest"],
"env": {
"API_KEYS": "GOOGLE_API_KEY:AIza..."
}
}
}
}
Without uvx
pip install wet-mcp
wet-mcp
Tools
| Tool | Actions | Description |
|---|---|---|
web |
search, extract, crawl, map | Web operations |
media |
list, download, analyze | Media discovery & download |
help |
- | Full documentation |
Usage Examples
{"action": "search", "query": "python web scraping", "max_results": 10}
{"action": "extract", "urls": ["https://example.com"]}
{"action": "crawl", "urls": ["https://docs.python.org"], "depth": 2}
{"action": "map", "urls": ["https://example.com"]}
{"action": "list", "url": "https://github.com/python/cpython"}
{"action": "download", "media_urls": ["https://example.com/image.png"]}
Configuration
| Variable | Default | Description |
|---|---|---|
WET_AUTO_SEARXNG |
true |
Auto-start embedded SearXNG subprocess |
WET_SEARXNG_PORT |
8080 |
SearXNG port |
SEARXNG_URL |
http://localhost:8080 |
External SearXNG URL (when auto disabled) |
API_KEYS |
- | LLM API keys for media analysis |
LOG_LEVEL |
INFO |
Logging level |
LLM Configuration (Optional)
For media analysis (images, videos, audio), configure API keys:
API_KEYS=GOOGLE_API_KEY:AIza...
LLM_MODELS=gemini/gemini-3-flash-preview
Architecture
┌─────────────────────────────────────────────────────────┐
│ MCP Client │
│ (Claude, Cursor, Windsurf) │
└─────────────────────┬───────────────────────────────────┘
│ MCP Protocol
▼
┌─────────────────────────────────────────────────────────┐
│ WET MCP Server │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────────┐ │
│ │ web │ │ media │ │ help │ │
│ │ (search, │ │ (list, │ │ (full documentation)│ │
│ │ extract, │ │ download,│ └──────────────────────┘ │
│ │ crawl, │ │ analyze) │ │
│ │ map) │ └────┬─────┘ │
│ └────┬─────┘ │ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────┐ ┌──────────┐ │
│ │ SearXNG │ │ Crawl4AI │ │
│ │(embedded)│ │(Playwright)│ │
│ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────┘
Build from Source
git clone https://github.com/n24q02m/wet-mcp
cd wet-mcp
# Setup (requires mise: https://mise.jdx.dev/)
mise run setup
# Run
uv run wet-mcp
Docker Build
docker build -t n24q02m/wet-mcp:latest .
Requirements: Python 3.13 (not 3.14+)
Contributing
See CONTRIBUTING.md
License
MIT - See LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wet_mcp-2.4.1.tar.gz.
File metadata
- Download URL: wet_mcp-2.4.1.tar.gz
- Upload date:
- Size: 23.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fc644a7ad80780e4c4131039807bc40e6076586af92fe0ff24b4fad6a29d86a
|
|
| MD5 |
80442bf301e4b2f9f5d666d519fa71ad
|
|
| BLAKE2b-256 |
5c7b1e8b5c43d6064afa5a6b611d3d9b2cabe9d3d16d1adb0e2fda4bf5a0510a
|
File details
Details for the file wet_mcp-2.4.1-py3-none-any.whl.
File metadata
- Download URL: wet_mcp-2.4.1-py3-none-any.whl
- Upload date:
- Size: 29.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c265dbc235b6a0ef67e3681d4539bc3b96045a48f6af8c73c6815c64e5b3fdc
|
|
| MD5 |
e0b60542e5b96770fcf2ffde72bbdbe8
|
|
| BLAKE2b-256 |
f39a5cfd24c28a94d66cc62f2cbc197b619eee9910e0301562063af57203a3bf
|