TLS Radar MCP server
online · 100% uptimecom.tlsradar/tlsradar·v0.5.1·3 starsSSL/TLS scanning, free Let's Encrypt issuance, and certificate-expiry monitoring.
3 stars
Reviews
Write oneNobody has reviewed TLS Radar yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
TLS Radar tools (16, 4 write)
write = sends, deletes, buys or postsadd_monitorFreeAdd 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` (typically Starter, $9.99/mo), 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.
add_monitorsFreeAdd 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.
check_certificate_propagationFreeCheck 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.
create_certificatewrite actionFreeStart issuing a FREE 90-day Let's Encrypt certificate for a domain (no account required). Step 1 of 3. 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.
export_monitorsFreeDump 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.
finalize_certificateFreeFinalize 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.
get_accountFreeReturn the current user's plan, limits, and usage so the client can render upgrade nudges proactively.
get_certificate_statusFreeReturn 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.
get_scan_historyFreeReturn recent scan results for a domain the user monitors. Useful for spotting issuer changes, grade drops, or vulnerability appearances over time.
import_monitorswrite actionFreeCreate 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.
invite_team_memberFreeInvite 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).
list_expiring_certificatesFreeReturn 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.
list_monitorsFreeList 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.
remove_monitorwrite actionFreeStop monitoring a domain. Accepts the domain name or the host_id returned by list_monitors.
renew_certificateFreeRenew 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 90-day renewal time), call create_certificate for the domain instead; that IS the renewal.
scan_domainwrite actionFreeRun a free, anonymous SSL/TLS scan against a hostname and return certificate details. No account required.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 191ms20/20
- Tool poisoning16 tool descriptions checked15/15
- Auth qualityopen endpoint exposes 4 write-action tools with no auth3/15
- Maintenancelast push 13 days ago15/15
- Maintainer identitynamespace and repository owner differ; website matches verified namespace6/10
Findings (1)
- highWrite-action tools reachable without authentication
auth.open-write
How TLS Radar compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 79/100
- higher than 58% of 48,255 servers
- Tools
- 16
- the typical server has 7
- Tools that change things
- 25%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 342 ms
- faster than 43% of 30,031 servers
- GitHub stars
- 3
- more than 80% of 28,688 servers
What its tools let an agent do: 9 read · 4 create · 1 change · 1 delete · 1 send or post
Install TLS Radar in Claude Code, Cursor or VS Code
claude mcp add --transport http tlsradar https://tlsradar.com/api/v1/mcp
What the publisher says
From the TLS Radar repository's README, as published. We do not edit it. Read it on GitHub
TLS Radar plugin for Claude Code & Cowork
Run SSL/TLS scans, issue free Let's Encrypt certificates, and manage cert monitoring from inside Claude Code or Claude Cowork - through a single MCP server, with nothing to configure.
Independent monitoring from a vendor that doesn't sell certificates - built for the 90-day-cert era, where manual renewal tracking is already finished.
# Public - no account, no setup
/tls-scan example.com # free SSL/TLS scan
/tls-cert mydomain.dev # free 90-day Let's Encrypt cert (private key stays local)
/tls-renew mydomain.dev # renew a cert
# Connect once for monitoring (OAuth via /mcp)
/mcp # built-in Claude Code OAuth flow
/tls-monitor add api.foo.io # one or many: /tls-monitor add a.com b.com c.com
/tls-monitor list
/tls-monitor remove api.foo.io
/tls-diagnose # health check (use when something's off)
/tls-upgrade # open pricing pageSee real output before installing: sample scan report
Other actions - "what's expiring soon," "scan history for X," "what plan am I on," "export/import my monitors," "invite a teammate" - just ask in plain language; the plugin's skill routes them to the right tool. No slash command needed.
How it works
Claude Code's MCP client talks to one remote server:
- tlsradar.com/api/v1/mcp
Certificate issuance is proxied through that server to the Let's Encrypt backend (Beacon), so there's a single connection and a single auth model - no second server, no token to paste into your shell.
- Public tools (scan, createcertificate, checkcertificatepropagation, finalizecertificate, getcertificatestatus, renew_certificate) work with no account.
- Authenticated tools (monitoring, plan info, export/import, team) use Claude Code's built-in OAuth 2.0 + PKCE. Run /mcp once, pick the tlsradar server, approve in the browser; the token is managed by Claude Code.
When you run /mcp, Claude Code fetches tlsradar.com/.well-known/oauth-authorization-server (RFC 8414), dynamically registers as a public client (RFC 7591), opens the browser for consent (PKCE / RFC 7636), and includes the token on subsequent requests automatically.
Certificates keep your private key local
/tls-cert generates the key + CSR on your machine (via a bundled, tested helper that writes the key with 0600 permissions and never overwrites an existing key - it backs it up) and sends only the CSR. The private key never leaves your computer and no passphrase is ever typed into the chat. Before presenting the issued certificate, the plugin verifies locally that the returned chain actually covers your domain. If you want a .p12 bundle (e.g. for Windows/Java import), the plugin packages it locally too.
An interrupted issuance is resumable: the order state is saved to ~/.config/tlsradar/orders/.json, so you can close the session mid-flow and later say "finish my cert for example.com" (or re-run /tls-cert) to pick up where you left off. /tls-renew reuses the saved email and challenge method from that file, with confirmation.
You choose how to prove control of the domain, and the plugin remembers your choice (in ~/.config/tlsradar/config.json):
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
TLS Radar: common questions
- Is TLS Radar MCP server safe?
- Mostly: it is graded B (79/100). Read the TLS Radar safety report
- How do I install TLS Radar?
- It runs remotely at tlsradar.com. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does TLS Radar need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is TLS Radar maintained?
- The last commit was 52 days ago (2026-09-13). The latest release is v0.5.1.
- Is TLS Radar up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does TLS Radar compare with other MCP servers?
- safety score 79/100 (higher than 58% of 48,255 servers); tools 16 (the typical server has 7); tools that change things 25% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.