certdesk

TLS certificate diagnostics: served-cert expiry, chain, security grade, error explainer, alerts

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
99%
Naming quality
94%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'check_dns' description lacks action verbin check_dns

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,007Tokens (tool definitions)
~522 BTypical response size
Moderate attention impact (0.79% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "certdesk": {
      "url": "https://certdesk.dev/mcp"
    }
  }
}

Remote endpoints

https://certdesk.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (7)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢check_certificate(domain)

Check one domain's TLS certificate in depth: expiry and days left for the certificate the server actually serves (measured from a Korean network, CT logs as fallback), whether a newer certificate exists in CT logs but is not deployed, live TLS verification from a global PoP and from Korea, certificate chain (leaf → intermediates → root), revocation, SAN list, and recent incident history of the issuing CA.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Domain name, e.g. example.com"
    }
  },
  "required": [
    "domain"
  ]
}
🟢check_expiry(domains)

Expiry summary for up to 5 domains at once: served certificate expiry and issuer, undeployed newer certificate in CT logs, domain registration expiry (RDAP), and alert lines (Korean). Use this for inventories and periodic checks.

Input Schema

{
  "type": "object",
  "properties": {
    "domains": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "maxItems": 5,
      "description": "Domain names"
    }
  },
  "required": [
    "domains"
  ]
}
🟢check_security(domain)

Security posture check of a web server (no port scanning): TLS protocol support (legacy 1.0/1.1 detection via a Korean network probe), security headers (HSTS/CSP/X-Content-Type-Options/anti-clickjacking/Referrer-Policy), HTTP→HTTPS redirect, and certificate key/signature strength. Returns per-item pass/warn/fail and an overall grade.

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Domain name, e.g. example.com"
    }
  },
  "required": [
    "domain"
  ]
}
🟢check_dns(domain)

DNS and hosting facts for a domain: nameservers with DNS provider, A/AAAA with IP owner (ASN), CNAME, MX, CAA (which CAs may issue), SPF/DMARC, DNSSEC, registrar and domain expiry (RDAP).

Input Schema

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "description": "Domain name, e.g. example.com"
    }
  },
  "required": [
    "domain"
  ]
}
🟢check_dns_propagation(name, type)

Compare answers for one DNS record across resolvers — the authoritative nameservers, Korean ISPs (KT, SK Broadband, LG U+) and public resolvers (Cloudflare, Google, Quad9, OpenDNS) — measured from a Korean network. Use it to confirm a TXT/CNAME for certificate domain validation (e.g. _acme-challenge) has propagated.

Input Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Record name, e.g. _acme-challenge.example.com"
    },
    "type": {
      "type": "string",
      "enum": [
        "A",
        "AAAA",
        "CNAME",
        "TXT",
        "MX",
        "NS",
        "CAA",
        "SOA"
      ]
    }
  },
  "required": [
    "name",
    "type"
  ]
}
🟢explain_tls_error(error)

Explain a TLS/SSL certificate error message from a browser, curl/OpenSSL, Java, Python, Node.js, Go or .NET: likely causes, fixes, and links to step-by-step guides (Korean). Works offline from a curated knowledge base.

Input Schema

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "description": "Full error text, e.g. \"PKIX path building failed\" or \"NET::ERR_CERT_DATE_INVALID\""
    }
  },
  "required": [
    "error"
  ]
}
⚪watch_expiry(email, domains)

Subscribe an email address to free daily expiry monitoring of up to 5 domains (certificate, domain registration and security grade) with email alerts. Double opt-in: a confirmation email is sent and monitoring starts only after the recipient clicks the link. Use only an address the user owns and explicitly asked to use.

Input Schema

{
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "Email address that will receive the alerts"
    },
    "domains": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "maxItems": 5,
      "description": "Domain names to monitor"
    }
  },
  "required": [
    "email",
    "domains"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded7 tools