MCP.Market

TLS Radar MCP server

online · 100% uptime
by tlsradar.com·com.tlsradar/tlsradar·v0.5.1·3 stars

SSL/TLS scanning, free Let's Encrypt issuance, and certificate-expiry monitoring.

B79/100grade B
What users say
No reviews yet
Be the first
Safety scan
B79/100

full report

Adoption
Growing

3 stars

Reviews

Write one

Nobody 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 posts
  • add_monitorFree

    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` (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_monitorsFree

    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.

  • check_certificate_propagationFree

    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.

  • create_certificatewrite actionFree

    Start 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_monitorsFree

    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.

  • finalize_certificateFree

    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.

  • get_accountFree

    Return the current user's plan, limits, and usage so the client can render upgrade nudges proactively.

  • get_certificate_statusFree

    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.

  • get_scan_historyFree

    Return recent scan results for a domain the user monitors. Useful for spotting issuer changes, grade drops, or vulnerability appearances over time.

  • import_monitorswrite actionFree

    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.

  • invite_team_memberFree

    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).

  • list_expiring_certificatesFree

    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.

  • list_monitorsFree

    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.

  • remove_monitorwrite actionFree

    Stop monitoring a domain. Accepts the domain name or the host_id returned by list_monitors.

  • renew_certificateFree

    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 90-day renewal time), call create_certificate for the domain instead; that IS the renewal.

  • scan_domainwrite actionFree

    Run 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

1 high
  • –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 authenticationauth.open-write
Overall 79/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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 page

See 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.