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_health - 31 OpenAPI checks from upstream (
ssl,dns,headers,ports,firewall,whois, …) - Presets:
quick|security|server|quality|heavy|all - Parallel fan-out + payload truncation (agent-context safe)
- Zero pip deps — Python 3.10+ stdlib only
- STDIO JSON-RPC with
initializehandshake + tool annotations (readOnlyHint+openWorldHint)
Public API works (with fallback)
Two public bases are tried automatically:
| Base | Status |
|---|---|
web-check.as93.net/api (Netlify mirror) |
200 OK — more open, Cloudflare front |
web-check.xyz/api (Vercel primary) |
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/api
Or compose (upstream + thin MCP image):
docker compose up -d web-check
# MCP stdio still launched by host; see Dockerfile ENTRYPOINT
Upstream 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 --stdio
Library
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 |
|---|---|
webcheck_list_checks |
Catalog of endpoints / groups |
webcheck_health |
Probe API base reachability |
webcheck_run |
Parallel multi-check (default group=quick) |
webcheck_ssl |
Certificate chain |
webcheck_dns |
DNS records |
webcheck_security |
Security preset bundle |
webcheck_headers |
HTTP headers |
webcheck_whois |
Domain WHOIS |
Env: WEB_CHECK_BASE_URL, WEB_CHECK_TIMEOUT, WEB_CHECK_MAX_WORKERS, WEB_CHECK_MAX_CHARS.
Tests
python3 -m pytest tests/ -v
All network paths mocked — no live API required for CI.
License
MIT. Upstream Web Check © Alicia Sykes, MIT.
Not affiliated with Lissy93; thin agent-facing client only.
Metadata
Release files for web-check-mcp 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| web_check_mcp-0.3.0.tar.gz | 20.6 kB | Without provenance | Details for web_check_mcp-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| web_check_mcp-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for web_check_mcp-0.3.0-py3-none-any.whl |
Total release size: 37.6 kB
Release files / web_check_mcp-0.3.0.tar.gz
| Download URL | web_check_mcp-0.3.0.tar.gz |
|---|---|
| Size | 20.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
773eadfda85b5b4670e1f278f3ceb2b25ccd0f6cb19ee485255c3fbff866a2b2
|
|
BLAKE2b-256 checksum How to use checksums |
bf328a81c0c0151d628e1229f0593ddc298bff54e33293684b0fe40535f51d84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Release files / web_check_mcp-0.3.0-py3-none-any.whl
| Download URL | web_check_mcp-0.3.0-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
320272799231c43356472eecd4b1f468a06d3b969799ec17d1364ae9855647d5
|
|
BLAKE2b-256 checksum How to use checksums |
6f7a039d40bc81925850ae267042c27ccfc009e5177e25f8c5104b09ec770326
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Security for web-check-mcp 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.