Developer API

Read-only infrastructure health data with no account or API key. Responses use permissive CORS and reports are cached for five minutes.

Stable report endpoint
curl https://api.varlog.in/v1/report/example.com

Add ?fresh=1 to verify a fix. Fresh scans are locked per domain for 60 seconds.

Embeddable grade badge
![varlog.in](https://varlog.in/v1/badge/example.com.svg)

MCP server — for AI agents

varlog is agent-callable: a keyless Model Context Protocol server exposes six diagnostic tools (domain_report, dns_lookup, tls_inspect, http_probe, provider_status, provider_history) over streamable HTTP. Same rate limits, same privacy: scanned domains are never recorded, and tool telemetry carries the tool name only.

Claude Code
claude mcp add --transport http varlog https://isitbork-api.sricola.workers.dev/mcp
Any MCP client (JSON config)
{ "mcpServers": { "varlog": { "type": "http", "url": "https://isitbork-api.sricola.workers.dev/mcp" } } }

No auth. Stateless streamable HTTP: POST JSON-RPC, one JSON response per call. The workers.dev host is the canonical MCP endpoint — api.varlog.in sits behind bot protection that challenges non-browser clients.

CLI & CI gate

The same report as a terminal one-liner or a build gate. Zero dependencies, Node 18+.

CLI
npx varlog-cli example.com
npx varlog-cli example.com --min-grade B --cert-min-days 14 --require dns-dnssec

Exit codes: 0 pass · 1 gate failed · 2 inconclusive evidence · 3 error. Inconclusive never silently passes or fails — you choose with --allow-inconclusive.

GitHub Action
- uses: sricola/varlog.in/action@main
  with:
    domain: example.com
    min-grade: B
    cert-min-days: 14

Writes a per-category table to the job summary; outputs grade, percent, coverage, report-url.

Report semantics

Each finding is pass, fail, or inconclusive. External evidence failures do not count as target failures. An overall grade is withheld when weighted evidence coverage is below 70%.

Other endpoints

GET /api/status returns the latest provider snapshot. GET /api/history/{provider} returns seven days of hourly samples. Existing DNS, TLS, probe, inspection, routing, and subdomain endpoints remain available.

Download OpenAPI 3.1 specification · Scoring methodology · Changelog