Open-source MCP server for AI agents: web search, content extraction, and library docs -- 5-strategy scraping, runs without API keys.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
tools
-
config
status, set, cache_clear, docs_reindex, warmup, setup_sync, setup_status, setup_skip, setup_reset, setup_complete
-
extract
URL -> smart chunks dict (clean_text + markdown + structured_data + code_blocks + metadata) via web-core 5-strategy chain. Batch processing (up to 50 URLs), deep crawling, site mapping, local file con
-
help
Per-tool documentation: search, extract, media, config
-
media
list (discover URLs from gallery pages), download (SSRF-safe). analyze deprecated v<auto>+ -- forwards to imagine-mcp.understand
-
search
Web (SearXNG metasearch), news, images, academic research (Scholar / arXiv / PubMed / CrossRef / Semantic Scholar / BASE), library docs (HyDE + FTS5), find similar pages. Includes docs_resolve (librar
analyzed analyzer v18 · 1h ago
skills & prompt files 6
- agent-rulesn24q02m-wet-mcp-c853ee9/AGENTS.md
- agent-rulesn24q02m-wet-mcp-c853ee9/CLAUDE.md
- skilln24q02m-wet-mcp-c853ee9/skills/compare/SKILL.md
- skilln24q02m-wet-mcp-c853ee9/skills/fact-check/SKILL.md
- skilln24q02m-wet-mcp-c853ee9/skills/lock-project-stack/SKILL.md
- skilln24q02m-wet-mcp-c853ee9/skills/research-topic/SKILL.md
last analysis: too-large · showing evidence from the last successful analysis (3d ago)
filesystem 21
- fs n24q02m-wet-mcp-c853ee9/scripts/build_tier1_index.py :23
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/scripts/preserve-diacritics.py :22
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/scripts/test_preserve_diacritics.py :15
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/alembic/env.py :19
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/cache.py :14
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/config.py :5
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/db.py :18
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/llm.py :7
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/migrations.py :24
import shutil - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/security.py :11
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/server.py :18
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/setup.py :14
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/setup_tool.py :9
import shutil - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/sources/crawler.py :24
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/sources/interact_orchestrator.py :26
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/sources/project_lock.py :19
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/sync/base.py :17
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/sync/gdrive.py :26
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/sync/s3.py :23
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/token_store.py :21
from pathlib import Path - fs n24q02m-wet-mcp-c853ee9/src/wet_mcp/transport_check.py :21
from pathlib import Path
shell / exec 4
- shell n24q02m-wet-mcp-c853ee9/scripts/preserve-diacritics.py :19
import subprocess - shell n24q02m-wet-mcp-c853ee9/src/wet_mcp/server.py :172
import subprocess - shell n24q02m-wet-mcp-c853ee9/src/wet_mcp/setup.py :12
import subprocess - shell n24q02m-wet-mcp-c853ee9/src/wet_mcp/token_store.py :20
import subprocess
network 10
- net n24q02m-wet-mcp-c853ee9/src/wet_mcp/credential_state.py :364
import httpx - net n24q02m-wet-mcp-c853ee9/src/wet_mcp/relay_setup.py :127
import httpx - net n24q02m-wet-mcp-c853ee9/src/wet_mcp/searxng_runner.py :57
import socket - net n24q02m-wet-mcp-c853ee9/src/wet_mcp/server.py :19
from urllib.parse import urlparse - net n24q02m-wet-mcp-c853ee9/src/wet_mcp/sources/_search_polish.py :27
from urllib.parse import urlparse - net n24q02m-wet-mcp-c853ee9/src/wet_mcp/sources/crawler.py :26
from urllib.parse import urljoin, urlparse - net n24q02m-wet-mcp-c853ee9/src/wet_mcp/sources/docs.py :23
from urllib.parse import urljoin, urlparse - net n24q02m-wet-mcp-c853ee9/src/wet_mcp/sources/search_strategies.py :4
from urllib.parse import urlparse - net n24q02m-wet-mcp-c853ee9/src/wet_mcp/sources/searxng.py :12
import httpx - net n24q02m-wet-mcp-c853ee9/src/wet_mcp/sync/gdrive.py :29
import httpx
secrets 3
- secrets n24q02m-wet-mcp-c853ee9/src/wet_mcp/server.py :242
if not (os.environ.get("GITHUB_TOKEN") or os.environ.get("GH_TOKEN")): - secrets n24q02m-wet-mcp-c853ee9/src/wet_mcp/sources/docs.py :38
token = os.environ.get("GITHUB_TOKEN") or os.environ.get("GH_TOKEN") - secrets n24q02m-wet-mcp-c853ee9/src/wet_mcp/token_store.py :16
import getpass
database 4
- db n24q02m-wet-mcp-c853ee9/src/wet_mcp/alembic/env.py :22
from sqlalchemy import create_engine, event, pool - db n24q02m-wet-mcp-c853ee9/src/wet_mcp/cache.py :12
import sqlite3 - db n24q02m-wet-mcp-c853ee9/src/wet_mcp/db.py :13
import sqlite3 - db n24q02m-wet-mcp-c853ee9/src/wet_mcp/migrations.py :25
import sqlite3
declared dependencies 1
- n24q02m-web-core@>=2.2.1,<2.3