Skip to main content
Glama

Check a server's SSL/TLS certificate (expiry, chain, hostname, TLS version)

check_certificate
Read-onlyIdempotent

Run a live TLS handshake against host:port and audit the certificate the server presents. Returns an A/B/C/F grade and summary, expiry (days remaining), hostname match, chain completeness and trust against Mozilla's root store, negotiated TLS version and cipher suite, key type/size, findings, and a link to the full report. Revocation (OCSP/CRL) is NOT checked. Hosts on Cloudflare's own network cannot be checked live (result: isError with code live_check_unavailable, no grade); a failed handshake returns check_failed with no grade. Read-only: it only opens a TLS connection to the public host. Same engine, cache and limits as the CertGuard JSON API (GET /api/v1/check).

Input Schema

NameRequiredDescriptionDefault
hostYesHostname or public IP to check, e.g. example.com. An https:// URL is accepted and reduced to its host (and port). Private, internal and reserved addresses are rejected.
portNoTCP port (default 443). Allowed: 443, 8443, 465, 993, 995.
include_rawNoAlso return the full /api/v1/check JSON (all chain certificates, SANs, handshake attempts) in structuredContent.raw. Larger output.

Output Schema

NameRequiredDescriptionDefault
rawNoFull /api/v1/check response (only when include_raw is true)
tlsNo
hostYes
planNo
portYes
chainNo
gradeYes
apiUrlNo
cachedNo
expiryNo
issuesNo
sourceNo
statusYes
summaryYes
versionNo
hostnameNo
checkedAtNo
reportUrlYes
notCheckedNo
certificateNo
gradeEstimatedNotrue when the result was inferred from Certificate Transparency logs instead of a live handshake
revocation_checkedYesAlways false: OCSP/CRL status is not queried

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only/idempotent, but the description adds substantial context they cannot: the revocation blind spot, the Cloudflare network limitation with its error code, the failure mode and error semantics, and shared cache/limits with the underlying API. This is exactly the behavioral detail an agent needs before invoking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: what it does, what it returns, then the exceptions and error behavior. Every sentence carries information (exclusions, error codes, shared engine) and none are filler despite the length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need not be explained, yet the description still gives the error-path contract and the eligibility limits that an agent cannot infer from schema or annotations. Nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and all three parameters carry their own descriptions (host normalization/rejection of private IPs, port enum, include_raw flag), so the schema does the heavy lifting. The description only gestures at 'host:port' without adding format or default detail beyond it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Run a live TLS handshake against host:port and audit the certificate') and enumerates exactly what is audited: grade, expiry, hostname match, chain, TLS version, key type. There is no sibling to confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States clear boundaries: revocation is NOT checked, Cloudflare-hosted hosts cannot be checked live, and failures surface as check_failed/live_check_unavailable. No alternatives exist (no siblings), so the remaining gap is only the absence of an explicit when-to-prefer framing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources