Web Check MCP
Web Check MCP server provides OSINT reconnaissance tools for websites and domains via the Web Check API, enabling:
Listing available checks and groups (
webcheck_list_checks)Probing API health (
webcheck_health)Running parallel multi-check bundles with customizable groups (e.g.,
quick,security,server,quality,heavy,all) or individual checks (webcheck_run)Performing specific checks: SSL certificate chain (
webcheck_ssl), DNS records (webcheck_dns), HTTP headers (webcheck_headers), WHOIS data (webcheck_whois), and a security preset bundle (webcheck_security) covering SSL, TLS, HSTS, HTTP security, firewall, DNSSEC, security.txt, threats, and block-lists.
All tools are read-only, support configurable timeouts, custom API base URLs, and payload truncation. The server includes automatic fallback to public API bases, environment variable configuration (e.g., WEB_CHECK_BASE_URL, WEB_CHECK_TIMEOUT), and (targeting v0.4.0) reliability features such as retry with exponential backoff, circuit breaking, TTL-based caching, token-bucket rate limiting, and input validation.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Web Check MCP Run security and SSL checks on example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Web Check MCP
Agent wrapper for Lissy93/web-check — 31 OSINT checks as MCP tools + CLI.
Gap verified 2026-07-25: no public MCP/SDK/Hermes skill existed for this API. This package fills it.
Features
8 MCP tools:
webcheck_run,webcheck_ssl,webcheck_dns,webcheck_security,webcheck_headers,webcheck_whois,webcheck_list_checks,webcheck_health31 OpenAPI checks from upstream (
ssl,dns,headers,ports,firewall,whois, …)Presets:
quick|security|server|quality|heavy|allParallel fan-out + payload truncation (agent-context safe)
Zero pip deps — Python 3.10+ stdlib only
STDIO JSON-RPC with
initializehandshake + tool annotations (readOnlyHint+openWorldHint)
Related MCP server: OSINT Tools MCP Server
Public API works (with fallback)
Two public bases are tried automatically:
Base | Status |
| 200 OK — more open, Cloudflare front |
| 200/429 — may challenge datacenter IPs |
Set WEB_CHECK_BASE_URL explicitly to skip probing. Fallback auto-enables when base starts with https://web-check. and can be forced via WebCheckClient(fallback=True).
No key, no auth.
Self-host (optional)
For heavy load or offline use:
docker run -d --name web-check -p 3000:3000 lissy93/web-check
export WEB_CHECK_BASE_URL=http://127.0.0.1:3000/apiOr compose (upstream + thin MCP image):
docker compose up -d web-check
# MCP stdio still launched by host; see Dockerfile ENTRYPOINTUpstream Go rewrite xray-web/web-check-api is early WIP — prefer Node/Docker image for full endpoint parity.
Quick Start
# from repo root
pip install -e .
# or: python3 -m pip install web-check-mcp
# Manifest
python3 -m src.server --manifest
# List checks
python3 -m src.server list --group quick
# Health probe
python3 -m src.server health
# Run quick recon (needs live API)
python3 -m src.server run example.com --group quick
# Single check
python3 -m src.server check ssl example.com
# MCP STDIO (Claude Desktop / Hermes / Cursor)
python3 -m src.server --stdioLibrary
from src.client import WebCheckClient
client = WebCheckClient(base_url="http://127.0.0.1:3000/api")
print(client.run("example.com", group="quick"))
print(client.check_one("ssl", "example.com"))MCP client config
{
"mcpServers": {
"web-check": {
"command": "python3",
"args": ["-m", "src.server", "--stdio"],
"cwd": "/absolute/path/to/web-check-mcp",
"env": {
"WEB_CHECK_BASE_URL": "http://127.0.0.1:3000/api"
}
}
}
}After pip install web-check-mcp:
{
"mcpServers": {
"web-check": {
"command": "web-check-mcp",
"args": ["--stdio"],
"env": {
"WEB_CHECK_BASE_URL": "https://web-check.as93.net/api"
}
}
}
}Official registry metadata lives in server.json (io.github.AMEOBIUS-space/web-check-mcp). Publish with mcp-publisher after the next PyPI release that includes the mcp-name marker above.
Tool Reference
Tool | Description |
| Catalog of endpoints / groups |
| Probe API base reachability |
| Parallel multi-check (default group= |
| Certificate chain |
| DNS records |
| Security preset bundle |
| HTTP headers |
| Domain WHOIS |
Env: WEB_CHECK_BASE_URL, WEB_CHECK_TIMEOUT, WEB_CHECK_MAX_WORKERS, WEB_CHECK_MAX_CHARS.
Tests
python3 -m pytest tests/ -vAll network paths mocked — no live API required for CI.
Production Readiness Features (unreleased; target v0.4.0)
These features are available on
main. The latest published package remains v0.3.0; the v0.4.0 release and MCP Registry namespace migration are tracked in #45.
Reliability
Retry Logic - Auto-retries transient failures (5xx, connection errors) with exponential backoff (1s, 2s, 4s). Configure: WEB_CHECK_MAX_RETRIES (default: 3)
Circuit Breaker - Protects failing APIs. Per base_url tracking, opens after 5 failures, auto-recovers after 60s, fails fast when open.
Input Validation - Validates URLs, check names, groups, timeouts. Clear error messages instead of exceptions.
Performance
Caching - TTL-based cache reduces redundant API calls. Configure: WEB_CHECK_CACHE_TTL (default: 300s). Stats in health endpoint.
Rate Limiting - Token bucket protects API. Configure: WEB_CHECK_RATE_LIMIT (default: 1.0 req/s). Burst: 10 requests.
Environment Variables
Variable | Default | Description |
|
| API base URL |
|
| Request timeout (seconds) |
|
| Parallel workers |
|
| Max payload size |
|
| Retry attempts |
|
| Cache TTL (seconds, 0=disabled) |
|
| Requests per second |
Production Deployment
Self-host Web Check API:
docker run -p 3000:3000 lissy93/web-checkSet
WEB_CHECK_BASE_URL: Point to your instanceEnable caching: Configure
WEB_CHECK_CACHE_TTLConfigure rate limiting: Adjust
WEB_CHECK_RATE_LIMITMonitor health endpoint: Use cache/rate stats
Use Docker: Non-root user, healthcheck included
License
MIT. Upstream Web Check © Alicia Sykes, MIT.
Not affiliated with Lissy93; thin agent-facing client only.
Available Tools
8 toolswebcheck_dnsARead-only
Fetch DNS records for a domain via Web Check /dns.
Inputs: url (required), timeout, base_url, max_chars.
webcheck_headersARead-only
Fetch HTTP response headers via Web Check /headers.
Inputs: url (required), timeout, base_url, max_chars.
webcheck_healthARead-only
Probe whether the configured Web Check API base URL is reachable.
Inputs: timeout, base_url.
webcheck_list_checksARead-only
List available Web Check endpoints/groups (ssl, dns, headers, ports, …).
Inputs: group.
webcheck_runARead-only
Run one or more Web Check jobs against a URL (parallel fan-out). Prefer group=quick for recon; avoid heavy (screenshot/ports/traceroute) unless needed.
Inputs: url (required), group, checks, timeout, +3 more.
webcheck_securityCRead-only
Security bundle: ssl, tls, hsts, http-security, firewall, dnssec, security-txt, threats, block-lists.
Inputs: url (required), timeout, base_url, max_chars, +1 more.
webcheck_sslARead-only
Fetch SSL certificate chain for a URL via Web Check /ssl.
Inputs: url (required), timeout, base_url, max_chars.
webcheck_whoisBRead-only
WHOIS / domain registration data via Web Check /whois.
Inputs: url (required), timeout, base_url, max_chars.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
The specific check tools (ssl, dns, headers, whois) are clearly distinct, but webcheck_run and webcheck_security overlap with them by design as generic and bundled operations. The descriptions clarify intended use cases, so agents can select appropriately, though run's generality introduces some redundancy.
All tools share the webcheck_ prefix and snake_case, but the suffixes mix nouns (ssl, dns) and verb/noun phrases (list_checks) or bare verbs (run). This is consistent enough to predict purpose, but not a uniform verb_noun pattern.
At 8 tools, the set is well-scoped for a web check service: discovery, health, specific checks, a generic runner, and a bundle. Each tool serves a purpose without bloat.
The tool surface covers the full workflow: discover available checks via list_checks, verify API health, run individual checks (ssl, dns, headers, whois), execute arbitrary jobs via run, and get the security bundle. The generic run tool compensates for missing specific wrappers, making the set complete.
Maintenance
Related MCP Connectors
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Network, domain and website diagnostics for AI clients via MCP.
Unified 15-tool SEO, SERP, clean Markdown & GEO (LLM citation Share-of-Voice) MCP server.
Related MCP Servers
- AlicenseAqualityDmaintenanceA comprehensive MCP server providing 15 web tools including search, scraping, screenshots, SEO audits, and DNS/SSL checks through a single installation. It delivers clean, LLM-optimized outputs so AI agents can focus on reasoning rather than parsing raw HTML.1517 npmMIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server that exposes multiple OSINT tools to AI assistants like Claude, enabling sophisticated reconnaissance and information gathering tasks using industry-standard OSINT tools.249MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that exposes 108+ omega-cli OSINT tools for reconnaissance, web analysis, threat intelligence, and reporting, enabling AI assistants to perform comprehensive open-source intelligence tasks.MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for website reconnaissance. Gives Claude the ability to fingerprint tech stacks, audit security headers, map endpoints, analyze SSL certificates, enumerate DNS records, and scan ports.11,016 npmMIT