TLS Radar
Server Details
SSL/TLS scanning, free Let's Encrypt issuance, and certificate-expiry monitoring.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2024-11-05
- URL
- Repository
- TLS-Radar/tlsradar-claude-plugin
- GitHub Stars
- 3
- Server Listing
- TLS Radar
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 16 tools
Most tools map cleanly to a distinct resource+action (scan, add monitor, export, get account). The main friction is add_monitor vs add_monitors, which differ only in batch semantics, and renew_certificate vs create_certificate, where the description itself admits that create_certificate 'IS the renewal' when no order_id exists. These are recoverable from the descriptions but are real misselection risks.
Every tool follows a snake_case verb_noun pattern with a small, predictable verb vocabulary (add/list/get/remove/import/export/create/finalize/check/scan/renew/invite). The singular/plural pair add_monitor/add_monitors is intentional and documented, not a convention break.
16 tools is on the heavy side of the ideal 3-15 range, but the server spans four real sub-domains: scanning, certificate issuance, monitoring management, and account/team. Each tool serves a workflow step, so the count is defensible rather than bloated.
Monitoring is fully covered (add single/bulk, list, remove, export, import, history, expiry listing) and issuance has a complete create -> propagate -> finalize -> status -> renew lifecycle. Minor gaps remain: no way to update a monitor's settings (e.g. alert recipient or warning window), no revocation, and only an invite for teams with no list/remove counterpart.
Available Tools
16 toolsadd_monitorAIdempotentInspect
Add a domain to ongoing certificate monitoring with expiry alerts. Requires authentication (the user runs /mcp once).
If the plan's monitor limit is reached, the response's structuredContent carries a limit-reached payload - when relaying it, LEAD with recommended_upgrade (it carries the plan name and price), mention also_available tiers in a single closing line, and offer removing an existing monitor as the free alternative. Don't dump a full tier comparison; that's choice paralysis at the moment of action.
Inputs: domain (required). Returns: address, host_id, team_id, scan_group_id
add_monitorsAIdempotentInspect
Add multiple domains to monitoring in one call. Returns a per-domain status so the caller can show partial-success outcomes. Honors the same plan-limit checks as add_monitor.
Inputs: domains (required). Returns: added, results, team_id, requested, +1 more
check_certificate_propagationARead-onlyIdempotentInspect
Check whether the DNS TXT records for a certificate order have propagated (Cloudflare/Google/Quad9). Step 2 of issuance - poll until all_found is true, then call finalize_certificate. Returns per-record resolver results.
Inputs: order_id (required). Returns: records, all_found
create_certificateAInspect
Start issuing a FREE Let's Encrypt certificate for a domain (no account required). Step 1 of 3. Lifetime is Let's Encrypt's default: 90 days today, 64 days from 2027-02-10; read the real expiry from the issued certificate.
Pick a validation method with challenge: "dns-01" (default; publish a TXT record; covers apex + www) or "http-01" (serve a file over HTTP on port 80; issues the exact domain only). dns-01 with a DNS-provider API token is the most automatable; http-01 suits a server you control on port 80.
Returns an order_id plus either dns_records (dns-01) or http_files (http-01) to put in place. Next: poll check_certificate_propagation until all_found, then call finalize_certificate.
Strongly prefer the CSR path at finalize (the private key never leaves the user's machine). Issuing automatically offers the user ongoing monitoring by email once it completes - don't add a monitor manually afterward.
Inputs: email (required), domain (required), challenge, client_id, +1 more. Returns: domain, order_id, challenge, http_files, +4 more
export_monitorsARead-onlyIdempotentInspect
Dump the user's monitors as a JSON structure suitable for backup, migration, or infrastructure-as-code workflows. Tokens and PII are NEVER included - only domain configuration.
Inputs: no named parameters. Returns: teams, version, exported_at
finalize_certificateAIdempotentInspect
Finalize and issue a certificate order in one call: validates the DNS challenges, waits for Let's Encrypt, and returns the issued cert. Step 3 of issuance - call after check_certificate_propagation reports all_found.
STRONGLY PREFER passing csr_pem (generate the key + CSR locally with openssl so the private key never leaves the machine). Returns leaf_pem/chain_pem/fullchain_pem. If you must, pass a passphrase instead to get a PKCS#12 bundle - but a CSR is safer.
If it replies "still validating", DNS hasn't fully propagated: re-check check_certificate_propagation and call again.
Needs a locally-generated CSR (csr_pem) - requires a local shell with openssl. On a surface without one (e.g. a Claude.ai custom connector) this can't complete; it returns guidance to finish in Claude Code/Cowork or the web form. Scanning and monitoring work everywhere.
On success the structuredContent carries a handoff object - relay handoff.message to the user and do NOT separately call add_monitor; the cert→monitoring handoff is automatic and server-side.
Inputs: order_id (required), csr_pem, passphrase, resume_token, +1 more. Returns: mode, state, handoff, leaf_pem, +3 more
get_accountARead-onlyIdempotentInspect
Return the current user's plan, limits, and usage so the client can render upgrade nudges proactively.
Inputs: no named parameters. Returns: plan, email, usage
get_certificate_statusARead-onlyIdempotentInspect
Return the current state of a certificate order (dns_pending, validating, ready, completed, failed) and per-authorization Let's Encrypt statuses. Use it to resume an interrupted issuance.
Inputs: order_id (required). Returns: state, challenge, fullchain_pem
get_scan_historyARead-onlyIdempotentInspect
Return recent scan results for a domain the user monitors. Useful for spotting issuer changes, grade drops, or vulnerability appearances over time.
Inputs: domain (required), limit. Returns: count, domain, results
import_monitorsAIdempotentInspect
Create monitors from a JSON structure (typically produced by export). Skips domains the user is already monitoring; honors the plan's domain limit. Returns a per-domain status.
Inputs: payload (required). Returns: added, results, requested
invite_team_memberAInspect
Invite a user to a team by email. Defaults to the user's current team. Honors the plan's seat limit (returns the same upgrade payload as add_monitor when the cap is hit).
Inputs: email (required), role, team_id. Returns: role, team_id, team_name, invited_email
list_expiring_certificatesARead-onlyIdempotentInspect
Return monitored certificates expiring within N days. Defaults to 30.
If the response's structuredContent includes a nudge object, the user is watching enough soon-to-expire certs to benefit from a higher tier - mention it casually ONCE (lead with nudge.recommended_upgrade); skip it if it doesn't fit.
Inputs: within. Returns: count, nudge, entries, within_days
list_monitorsARead-onlyIdempotentInspect
List all certificates currently being monitored across the user's teams.
If the response's structuredContent includes a nudge object, the user is at their monitor cap - surface it casually ONCE (lead with nudge.recommended_upgrade, mention nudge.also_available in one closing line); don't force it if it doesn't fit the conversation.
Inputs: no named parameters. Returns: count, nudge, monitors
remove_monitorADestructiveIdempotentInspect
Stop monitoring a domain. Accepts the domain name or the host_id returned by list_monitors.
Inputs: domain, host_id. Returns: removed_address
renew_certificateAInspect
Renew a certificate by cloning a recent order (requires the original order_id; Beacon purges orders after ~24h). Returns a new order_id and fresh DNS TXT records - then poll check_certificate_propagation and call finalize_certificate. If you don't have an order_id (the usual case at renewal time), call create_certificate for the domain instead; that IS the renewal.
Inputs: order_id (required). Returns: state, order_id, challenge, http_files, +1 more
scan_domainARead-onlyInspect
Run a free, anonymous SSL/TLS scan against a hostname and return certificate details. No account required.
Inputs: domain (required), client_id. Returns: domain, status, share_url, install_id, +3 more
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Security grades, SSL/TLS, headers and uptime for your domains, plus a CI deploy gate.
Monitor SSL certs (incl. origin behind Cloudflare), domain expiry, DNS, email auth and blacklists.
Free SSL/TLS certificate checker: expiry, chain trust, hostname match, TLS version, A/B/C/F grade.
Free anonymous website, DNS, email and TLS checks, plus monitor read and opt-in write access.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables live TLS/SSL certificate health checks for any hostname, providing expiry, hostname match, trust verdict, and a health score. Supports both free and paid deep tiers with protocol/cipher analysis.MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables ethical security testing and attack surface management through SSL certificate validation, CVE queries, subdomain enumeration, security header analysis, and comprehensive reconnaissance capabilities. Designed for authorized penetration testing workflows with responsible disclosure practices.-
- AlicenseNot gradedqualityFmaintenanceEnables comprehensive TLS security audits for any domain, including certificate validity, expiry warnings, cipher suite weaknesses, deprecated protocols, and HSTS checks. Supports single and bulk domain inspection via MCP tools or a CLI for CI/CD integration.787 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables agents to inspect certificate expiry and TLS/DNS status, then issue, deploy, revoke, and verify SSL certificates. Every state-changing action is gated by an approval step.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.