SSL Certificate Check
Inspect one endpoint's served certificate, expiry, hostname coverage, and accepted TLS versions.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"ssl-certificate-check": {
"url": "https://powmcp.com/ssl-certificate-check/mcp"
}
}
}远程端点
https://powmcp.com/ssl-certificate-check/mcpstreamable-http它能做什么
工具清单
工具(1)
🟢ssl_check(url)
Opens its own TLS handshakes to one public host with openssl, using the URL's explicit port or 443 by default, and reports what they establish: which of TLS 1.3, TLS 1.2, TLS 1.1, TLS 1.0 and SSLv3 the server accepts, a protocol-support grade, and the certificate the server actually serves (subject, issuer, covered hostnames, hostname match, and validity dates). Reach for it on padlock, HTTPS, 'Not Secure', certificate-expiry and wrong-hostname questions, and to inspect which certificate is served after a renewal on the probed endpoint; this does not verify every load-balanced node. It does not fetch the page or establish whether plain HTTP is actually served or redirected, and it is not a browser trust decision: no chain-of-trust build, no revocation check, no cipher-suite inspection. Measured 0.05-1.5 seconds against real hosts; each probe is cut off at 12 seconds.
输入模式
{
"type": "object",
"properties": {
"url": {
"pattern": "^https?://",
"type": "string",
"description": "Full public URL of the site to probe. Its hostname and explicit port drive the handshakes; port 443 is used when no port is named. The submitted scheme is reported, but the page is never fetched and plain-HTTP serving or redirects are not tested"
}
},
"required": [
"url"
],
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "The URL as requested"
},
"host": {
"type": "string",
"description": "The hostname the handshakes were opened against"
},
"port": {
"type": "number",
"description": "The port the handshakes were opened against (443 unless the URL named another)"
},
"checkedAt": {
"type": "string",
"description": "Probe timestamp"
},
"https": {
"type": "boolean",
"description": "Whether anything completed a TLS handshake on the port"
},
"protocolGrade": {
"type": "string",
"description": "A+ (TLS 1.3, no legacy protocols), A, B, or C: read from protocol support ALONE by this app. It ignores the certificate entirely, so an expired or wrong-hostname certificate can still sit behind an A. Not a Qualys SSL Labs grade"
},
"servedOverHttp": {
"type": "boolean",
"description": "Legacy field name: true when the submitted URL used the http scheme and TLS answered on the probed port. It records the input scheme in this TLS result, not whether HTTP content is served, redirected or enforced"
},
"protocols": {
"type": "object",
"required": [
"tls13",
"tls12",
"tls11",
"tls10",
"ssl3"
],
"properties": {
"tls13": {
"type": "boolean",
"description": "TLS 1.3 accepted"
},
"tls12": {
"type": "boolean",
"description": "TLS 1.2 accepted"
},
"tls11": {
"type": "boolean",
"description": "Deprecated TLS 1.1 still accepted"
},
"tls10": {
"type": "boolean",
"description": "Deprecated TLS 1.0 still accepted"
},
"ssl3": {
"type": "boolean",
"description": "Obsolete SSLv3 still accepted"
}
},
"description": "Protocol versions the server agreed to speak",
"additionalProperties": false
},
"certificate": {
"type": "object",
"required": [
"names"
],
"properties": {
"subject": {
"type": "string",
"description": "Certificate subject distinguished name"
},
"issuer": {
"type": "string",
"description": "Issuing CA distinguished name"
},
"names": {
"type": "array",
"items": {
"type": "string"
},
"description": "DNS names and IP addresses from subjectAltName; the subject common name is display-only"
},
"hostnameMatches": {
"type": "boolean",
"description": "Whether a DNS subjectAltName matches the probed hostname or an IP subjectAltName matches the probed IP address"
},
"issuedAt": {
"type": "string",
"description": "Certificate notBefore as an ISO 8601 timestamp (when this certificate became valid, which is what confirms a renewal is the one being served)"
},
"expiresAt": {
"type": "string",
"description": "Certificate notAfter as an ISO 8601 timestamp"
},
"daysUntilExpiry": {
"type": "number",
"description": "Rounded days until expiry; use expired for the exact validity state because an expiry within twelve hours can round to zero"
},
"expired": {
"type": "boolean",
"description": "Whether the certificate is already past its notAfter"
},
"expiringSoon": {
"type": "boolean",
"description": "Whether the certificate expires within 30 days"
}
},
"description": "The certificate the server served during the handshake",
"additionalProperties": false
},
"issues": {
"type": "array",
"items": {
"type": "string"
},
"description": "Protocol, certificate, and submitted-scheme observations found by the probe"
}
},
"required": [
"url",
"host",
"port",
"checkedAt",
"https",
"issues"
],
"additionalProperties": false
}社区
证据