Skip to main content

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 initialize handshake + 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. LO confirms UI works fine; the agent wrapper mirrors that.

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

Upstream Go rewrite xray-web/web-check-api is early WIP — prefer Node/Docker image for full endpoint parity.

Quick Start

cd products/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/products/web-check-mcp",
      "env": {
        "WEB_CHECK_BASE_URL": "http://127.0.0.1:3000/api"
      }
    }
  }
}

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

web_check_mcp-0.2.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

web_check_mcp-0.2.0-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file web_check_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: web_check_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for web_check_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 1ce91ec2854f2f778ff7c310d9c7a88605a9075af4d7c6c30aba34ce8d1ff18e
MD5 9493fe2c3e5e94415db2822a8c2b6472
BLAKE2b-256 c4dce659db8cbff07d0218293546df34016dec687a876cdffb7e493ee338ea54

See more details on using hashes here.

File details

Details for the file web_check_mcp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: web_check_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for web_check_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e4d7e2b92e27f0ca249be5378cee0cdcdcd3420121ece78fbf80fbf373783e4d
MD5 bf9aa1cfde75bd3ffdd930d7000c87da
BLAKE2b-256 8051d89a607e5074ecf5b7d51ce340704537909a6d3ad7f5fc79985c33d42d92

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page