Check SSL/TLS certificate validity, expiry, issuer, chain details, and security grade for any domain.
Single tool 'security_check_ssl' has a well-structured schema with proper type definitions and a comprehensive description (380+ chars). The description includes use cases, return fields, and explicit guidance on when NOT to use it (pattern:tool-description). Parameter 'domain' is typed as string with a clear description. However, the description is verbose and includes example output inline rather than documenting the actual response schema structure separately. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present. The tool name 'security_check_ssl' is action-oriented but could be more verb-forward (e.g., 'check_ssl_certificate'). Overall solid for a single-tool server, but lacks schema documentation for the response object and tool annotations.
Use this when you need to check if a domain's SSL/TLS certificate is valid, when it expires, and who issued it. Returns structured certificate data in JSON. Returns: 1. valid (boolean) 2. expiryDate and daysRemaining 3. issuer (name, organization, country) 4. subject (CN, alt names) 5. protocol (TLS version) 6. securityGrade (A+ to F) 7. certificate chain details. Example output: {"domain":"example.com","valid":true,"expiryDate":"2026-12-15","daysRemaining":245,"issuer":{"name":"DigiCert","organization":"DigiCert Inc"},"protocol":"TLSv1.3","securityGrade":"A+"} Use this BEFORE deploying a website, FOR monitoring certificate expiration, auditing security posture, and validating HTTPS setup. Do NOT use for DNS lookup -- use network_lookup_dns instead. Do NOT use for HTTP headers analysis -- use network_analyze_headers instead. Do NOT use for port scanning -- use network_scan_ports instead.
Response schema not formally documented. Description includes example output but no structured schema definition for return fields (valid, expiryDate, daysRemaining, issuer, subject, protocol, securityGrade, chain). LLMs cannot reliably extract nested fields without explicit schema.
Tool lacks annotations. No readOnlyHint, destructiveHint, or idempotentHint declared. This is a read-only, idempotent tool, should be explicitly marked to guide agent behavior and prevent unnecessary retries.
Tool name 'security_check_ssl' is noun-heavy. Verb-first naming (e.g., 'check_ssl_certificate' or 'verify_ssl_certificate') would improve LLM intent parsing and align with baseline naming conventions (90% of A+ tools start with action verb).
No error handling guidance in description. What happens if domain is invalid, unreachable, or has no certificate? Description should include recovery hints (e.g., 'If domain not found, verify spelling and DNS resolution').
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2025-06-18+ | v2 |
Parameter 'domain' lacks format constraints. Should specify: valid domain format (e.g., 'example.com', not 'https://example.com'), length limits, and whether subdomains are supported. Current description is minimal.