MCP server for web search, content extraction, academic research, and library docs.
mcp-name: io.github.n24q02m/wet-mcp
Open-source MCP Server for web search, content extraction, library docs & multimodal analysis.
<a href="https://glama.ai/mcp/servers/n24q02m/wet-mcp"> </a>Via marketplace (includes skills: /fact-check, /compare):
/plugin marketplace add n24q02m/claude-plugins
/plugin install wet-mcp@claude-pluginsOr install this plugin only:
/plugin marketplace add n24q02m/wet-mcp
/plugin install wet-mcpConfigure env vars in ~/.claude/settings.local.json or shell profile. See Environment Variables.
Python 3.13 required -- Python 3.14+ is not supported due to SearXNG incompatibility. You must specify
--python 3.13when usinguvx.
On first run, the server automatically installs SearXNG, Playwright chromium, and starts the embedded search engine.
{
"mcpServers": {
"wet": {
"command": "uvx",
"args": ["--python", "3.13", "wet-mcp@latest"]
}
}
}// Cursor (~/.cursor/mcp.json), Windsurf, Cline, Amp, OpenCode
{
"mcpServers": {
"wet": {
"command": "uvx",
"args": ["--python", "3.13", "wet-mcp@latest"]
}
}
}# Codex (~/.codex/config.toml)
[mcp_servers.wet]
command = "uvx"
args = ["--python", "3.13", "wet-mcp@latest"]{
"mcpServers": {
"wet": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"--name", "mcp-wet",
"-v", "wet-data:/data",
"-e", "API_KEYS",
"-e", "GITHUB_TOKEN",
"-e", "SYNC_ENABLED",
"n24q02m/wet-mcp:latest"
]
}
}
}Configure env vars in ~/.claude/settings.local.json or your shell profile. See Environment Variables below.
Use the setup MCP tool to warmup models and install dependencies:
# Via MCP tool call (recommended):
setup(action="warmup")
# With cloud embedding configured, warmup validates API keys
# and skips local model download if cloud models are available.The warmup action pre-downloads SearXNG, Playwright, and embedding/reranker models (~1.1GB total) so the first real connection does not timeout.
Sync is fully automatic. Just set SYNC_ENABLED=true and the server handles everything:
~/.wet-mcp/tokens/ (600 permissions)For non-Google Drive providers, set SYNC_PROVIDER and SYNC_REMOTE:
{
"SYNC_ENABLED": "true",
"SYNC_PROVIDER": "dropbox",
"SYNC_REMOTE": "dropbox"
}| Tool | Actions | Description |
|---|---|---|
search | search, research, docs, similar | Web search (with filters, reranking, expand/enrich), academic research, library docs (HyDE), find similar |
extract | extract, batch, crawl, map, convert, extract_structured | Content extraction, batch processing (up to 50 URLs), deep crawling, site mapping, local file conversion, structured data extraction (JSON Schema) |
media | list, download, analyze | Media discovery, download, and analysis |
config | status, set, cache_clear, docs_reindex | Server configuration and cache management |
setup | warmup, setup_sync | Pre-download models, configure cloud sync |
help | -- | Full documentation for any tool |
| Prompt | Parameters | Description |
|---|---|---|
research_topic | topic | Research a topic using academic search |
library_docs | library, question | Find library documentation |
| Variable | Required | Default | Description |
|---|---|---|---|
API_KEYS | No | -- | LLM API keys for SDK mode (format: ENV_VAR:key,...). Enables cloud embedding + reranking |
LITELLM_PROXY_URL | No | -- | LiteLLM Proxy URL. Enables proxy mode |
LITELLM_PROXY_KEY | No | -- | LiteLLM Proxy virtual key |
GITHUB_TOKEN | No | auto-detect | GitHub token for docs discovery (60 -> 5000 req/hr). Auto-detected from gh auth token |
EMBEDDING_BACKEND | No | auto-detect | litellm (cloud) or local (Qwen3). Auto: API_KEYS -> litellm, else local |
EMBEDDING_MODEL | No | auto-detect | LiteLLM embedding model name |
EMBEDDING_DIMS | No | 0 (auto=768) | Embedding dimensions |
RERANK_ENABLED | No | true | Enable reranking after search |
RERANK_BACKEND | No | auto-detect | litellm or local. Auto: Cohere/Jina key -> litellm, else local |
RERANK_MODEL | No | auto-detect | LiteLLM rerank model name |
RERANK_TOP_N | No | 10 | Return top N results after reranking |
LLM_MODELS | No | gemini/gemini-3-flash-preview | LiteLLM model for media analysis |
WET_AUTO_SEARXNG | No | true | Auto-start embedded SearXNG subprocess |
WET_SEARXNG_PORT | No | 41592 | SearXNG port |
SEARXNG_URL | No | http://localhost:41592 | External SearXNG URL (when auto disabled) |
SEARXNG_TIMEOUT | No | 30 | SearXNG request timeout in seconds |
CONVERT_MAX_FILE_SIZE | No | 104857600 | Max file size for local conversion in bytes (100MB) |
CONVERT_ALLOWED_DIRS | No | -- | Comma-separated paths to restrict local file conversion |
CACHE_DIR | No | ~/.wet-mcp | Data directory for cache, docs, downloads |
DOCS_DB_PATH | No | ~/.wet-mcp/docs.db | Docs database location |
DOWNLOAD_DIR | No | ~/.wet-mcp/downloads | Media download directory |
TOOL_TIMEOUT | No | 120 | Tool execution timeout in seconds (0=no timeout) |
WET_CACHE | No | true | Enable/disable web cache |
SYNC_ENABLED | No | false | Enable rclone sync |
SYNC_PROVIDER | No | drive | rclone provider type (drive, dropbox, s3, etc.) |
SYNC_REMOTE | No | gdrive | rclone remote name |
SYNC_FOLDER | No | wet-mcp | Remote folder name |
SYNC_INTERVAL | No | 300 | Auto-sync interval in seconds (0=manual) |
LOG_LEVEL | No | INFO | Logging level |
Both embedding and reranking are always available -- local models are built-in and require no configuration.
JINA_AI_API_KEY enables both embedding and reranking| Priority | Mode | Config | Use case |
|---|---|---|---|
| 1 | Proxy | LITELLM_PROXY_URL + LITELLM_PROXY_KEY | Production (selfhosted gateway) |
| 2 | SDK | API_KEYS | Dev/local with direct API access |
| 3 | Local | Nothing needed | Offline, embedding/rerank only (no LLM) |
| Mode | Config | Description |
|---|---|---|
| Embedded (default) | WET_AUTO_SEARXNG=true | Auto-installs and manages SearXNG as subprocess |
| External | WET_AUTO_SEARXNG=false + SEARXNG_URL=http://host:port | Connects to pre-existing SearXNG instance |
CONVERT_ALLOWED_DIRS restrictiongit clone https://github.com/n24q02m/wet-mcp.git
cd wet-mcp
uv sync
uv run wet-mcp| Server | Description |
|---|---|
| mnemo-mcp | Persistent AI memory with hybrid search and cross-machine sync |
| better-notion-mcp | Markdown-first Notion API with 9 composite tools |
| better-email-mcp | Email (IMAP/SMTP) with multi-account and auto-discovery |
| better-godot-mcp | Godot Engine 4.x with 18 tools for scenes, scripts, and shaders |
| better-telegram-mcp | Telegram dual-mode (Bot API + MTProto) with 6 composite tools |
| better-code-review-graph | Knowledge graph for token-efficient code reviews |
See CONTRIBUTING.md.
MIT -- See LICENSE.