About checker-mcp
checker-mcp is a local-first MCP server for checking domain security and privacy. It gives MCP clients a scored report across certificate, email, DNS, infrastructure, and web security, with remediation guidance for failed checks.
Key features
- 01Run 17 live domain checks
- 02Score results from 0 to 100
- 03Check SSL, email, DNS, and web security
- 04Explain checks and remediation
- 05Use Cloudflare DoH without telemetry
Use cases
- 01Review a domain's security posture
- 02Find email authentication configuration issues
- 03Inspect web security headers and TLS
- 04Understand and remediate failed checks
MCP support
The MCP server exposes `check_domain`, `list_checks`, and `explain_check` to MCP clients. It runs over stdio and performs DNS-over-HTTPS, HTTP, RDAP, and TLS lookups.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
3Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| lang | enum | No | Report language: 'es' or 'en'. Defaults to $OKSIGENIA_LANG or 'en'.es | en |
| domain | string | Yes | Domain or URL to scan, e.g. 'oksigenia.com' or 'https://oksigenia.com/blog'. |
| format | enum | No | Output format: human-readable 'report' (default) or raw 'json'.report | json |
| categories | array | No | Optional subset of categories. Defaults to all: ssl, email, dns, web. |
Details
From the project README@oksigenia/checker-mcp
A domain security and privacy checker exposed as an MCP server. It runs entirely on your machine, makes no telemetry calls, and resolves DNS through Cloudflare DoH instead of Google.
Ask any MCP client to scan a domain and get back a scored report covering the certificate, email authentication, DNS and infrastructure, and web security headers, with a plain remediation for anything that fails.
Why it's different
- Local-first. The server runs over stdio and does its own DNS-over-HTTPS, HTTP, RDAP and TLS lookups. The only network traffic is the checks themselves.
- Zero telemetry. No analytics, no phone-home, no third-party scoring service in the loop.
- Privacy by default. DNS goes to Cloudflare DoH rather than Google, and the reputation check uses Cloudflare's malware/phishing resolver.
- Free software. Licensed GPL-3.0-or-later. Read it, run it, change it, self-host it.
Tools
The server exposes three tools.
check_domain
Scan a domain or URL and return a scored report from real live checks.
// arguments
{
"domain": "example.com", // bare domain or full URL
"categories": ["ssl", "email"], // optional subset; defaults to all
"format": "report", // "report" (default) or "json"
"lang": "en" // "es" or "en"
}
list_checks
List every check grouped by category, with the reason each one matters.
{ "lang": "en" }
explain_check
Explain a single check by id, why it matters, and how to remediate a failure.
{ "check_id": "dmarc", "lang": "en" }
Checks
Seventeen checks across four categories, weighted to a 0-100 score.
| Category | Check id | What it verifies |
|---|---|---|
| ssl | ssl | SSL/TLS certificate validity and expiry |
spf | SPF record present and not overly permissive | |
dmarc | DMARC policy and reporting | |
dkim | DKIM signing (common selectors probed) | |
mta_sts | MTA-STS against SMTP downgrade attacks | |
mx | MX records for mail delivery | |
bimi | BIMI brand logo record and VMC | |
| dns | dnssec | DNSSEC signing on the zone |
| dns | ptr | PTR / forward-confirmed reverse DNS |
| dns | caa | CAA records restricting certificate issuance |
| dns | blacklist | Malware/phishing reputation |
| dns | expiry | Domain registration expiry |
| dns | whois_redact | WHOIS/RDAP personal-data redaction |
| web | headers | HTTP security headers (HSTS, CSP, X-Frame-Options, …) |
| web | csp | Content-Security-Policy quality |
| web | web_tech | CMS/server version and API exposure |
| web | hsts_preload | HSTS preload-list status |
Run list_checks for the full descriptions, or explain_check for one at a time.
Install
Run it straight from npm with npx:
npx @oksigenia/checker-mcp
Register it with Claude Code:
claude mcp add oksigenia-checker -- npx -y @oksigenia/checker-mcp
Or add it to any MCP client config (works in Claude Desktop, Claude Code, or any MCP client):
{
"mcpServers": {
"oksigenia-checker": {
"command": "npx",
"args": ["-y", "@oksigenia/checker-mcp"],
"env": { "OKSIGENIA_LANG": "en" }
}
}
}
Then ask: "Check the security of example.com" or "Explain the dmarc check."
Run with Docker
Build and run it as a container. It speaks MCP over stdio, so run it attached to your client's stdin/stdout (-i), not on a port.
docker build -t oksigenia-checker-mcp .
docker run --rm -i oksigenia-checker-mcp
Languages
Reports render in Spanish and English. Set the default with OKSIGENIA_LANG (es or en), or pass lang on any tool call. It defaults to English.
Privacy
The only thing that leaves your machine is the domain name you scan, sent to:
- Cloudflare DoH (
cloudflare-dns.com) and Cloudflare's security resolver, for DNS and reputation - public RDAP (
rdap.org), for registration and WHOIS-privacy data - the HSTS preload API, for preload status
- the target site itself, over HTTPS, to read its certificate and security headers
There is no telemetry, no analytics, and no third-party scoring service. Nothing about your queries is stored or transmitted anywhere else.
Develop
npm install
npm run build # tsup -> dist/
npm run typecheck # tsc --noEmit
npm test # vitest (hermetic, mocked network)
npm run smoke # spawn the built server and exercise every tool live
Dev watch: npm run dev.
src/engine.ts— the network engine. Language-agnostic: returns i18n keys, not text. Every check is individually resilient andrunChecksnever throws.src/i18n.ts— es/en dictionaries andt().src/index.ts— the MCP server: renders engine keys into the requested language and exposes the three tools.
See CONTRIBUTING.md for the PR flow.
License
GPL-3.0-or-later © Oksigenia SL
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.