netcheck-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ALLOW_PRIVATE | No | Opt-in flag that lifts the SSRF guard for the whole process, allowing checks against private/internal addresses (loopback, RFC 1918/ULA, link-local, CGNAT, multicast, reserved, cloud metadata endpoints). Set by starting the server with the explicit flag --allow-private (e.g. "args": ["netcheck-mcp", "--allow-private"]). Only the person who configures the server can set it; the agent cannot. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Is my site/host healthy and configured right? Tools: tls_check (certificate, chain, expiry, protocols), dns_lookup (A/AAAA/CNAME/MX/TXT/NS/CAA/SOA with TTLs, NXDOMAIN vs NODATA), http_check (redirect chain, timings, compression, caching, HSTS), security_headers (graded, with the exact header to add), port_check (TCP reachability + banner, max 20 ports), email_dns_check (MX, SPF, DMARC, DKIM, MTA-STS). Results start with a VERDICT of PASS, WARN or FAIL and each finding includes a concrete fix. Only check hosts you own or are authorised to test. Private, loopback and cloud-metadata addresses are refused unless the operator started the server with --allow-private.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| tls_checkA | Check a host's TLS setup and judge it PASS/WARN/FAIL with fixes. Reports the leaf certificate (subject, SAN, issuer, validity, days left, key and
signature algorithms), the chain actually served, whether the name matches, whether the
chain validates against the system trust store (distinguishing expired, self-signed,
incomplete chain and untrusted root), which of TLS 1.0/1.1/1.2/1.3 the server offers, and
the negotiated cipher. Expiry under 30 days is a WARN, under 14 days a FAIL.
|
| dns_lookupA | Look up DNS records with TTLs, following the CNAME chain.
|
| http_checkA | Follow a URL through its redirects and time every hop. For each hop: status, DNS/connect/TLS/time-to-first-byte/total milliseconds. Then judges the
final response: status, redirect problems (loops, >3 hops, HTTPS->HTTP downgrade, no HTTPS),
compression, caching headers, and HSTS. Sends no cookies or credentials; reads at most 1 MiB of
body; follows at most 10 redirects; gives up after 30 seconds. |
| security_headersA | Grade a site's security headers (A+ to F) and give the exact header line to add for each gap. Covers Strict-Transport-Security, Content-Security-Policy (flags unsafe-inline, unsafe-eval, wildcards), clickjacking protection (X-Frame-Options / frame-ancestors), X-Content-Type-Options, Referrer-Policy, Permissions-Policy, cookie flags (Secure/HttpOnly/SameSite), version-disclosing headers, and cross-origin isolation headers. Follows redirects and grades the final page. |
| port_checkA | Check whether specific TCP ports on one host are reachable, and grab any banner.
|
| email_dns_checkA | Audit a domain's email DNS: MX, SPF, DMARC, DKIM and MTA-STS. MX targets must resolve and not be CNAMEs. SPF is parsed and expanded through include:/redirect=
and the 10-DNS-lookup limit and 2-void-lookup limit are counted (exceeding either makes receivers
return permerror). DMARC reports its policy (none/quarantine/reject), pct and rua. DKIM probes
common selectors; pass your own as a comma-separated |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct diagnostic concern (HTTP hops, TLS handshake, DNS records, header grading, TCP ports, email DNS), and the descriptions make the boundaries explicit. The only real overlap is that http_check and security_headers both fetch a page and follow redirects, and http_check reports some TLS timing that tls_check also covers, so an agent may occasionally hesitate between them.
All names are snake_case, lowercase, and consistently resource-first (http_/tls_/dns_/port_/email_dns_ prefix). Minor deviations: the suffix alternates between _check and _lookup, and security_headers has no suffix at all, but the overall pattern is still predictable.
Six tools is well within the sweet spot and each one maps to a clearly separate diagnostic domain (HTTP, TLS, DNS, headers, ports, email). Nothing appears redundant or padded for the stated purpose of a network checkup server.
The surface covers the core network-health workflow end to end: reachability, TLS validity, DNS resolution, security headers, open ports, and email authentication. Gaps remain around domain registration/WHOIS expiry, IP/ASN reputation, and any raw HTTP request capability, but agents can still complete most audits with what is present.