MCP audit and attestation gateway — transparent proxy with cryptographic attestation, policy enforcement, and OTel export
Four tools with complete schemas and descriptions, but significant quality gaps. Tool names lack action verbs (echo, audit_verify, audit_tail, audit_status are weak). Descriptions are present but generic (10-80 chars, below 194-char baseline). Parameters lack descriptions entirely, 'count' in audit_tail has no guidance on units or constraints. No output schemas documented. No error handling guidance. No parameter validation rules stated. Tools appear to be read-only (good security posture) but lack composition guidance and chaining IDs. Schemas are properly typed JSON Schema, which is the only strong point.
Report current audit chain health: total records, last verified timestamp, chain integrity.
Show the most recent audit log entries with verification status.
Verify integrity of an MCP audit log. Returns chain status and any broken links.
Echo the input back (health-check tool)
Tool names lack action verbs. 'echo', 'audit_verify', 'audit_tail', 'audit_status' do not follow verb_noun pattern. LLMs cannot infer intent from names alone. Should be: 'verify_audit_log', 'get_audit_tail', 'get_audit_status'.
Parameter descriptions missing entirely. 'count' in audit_tail has no description of units, range, or default behavior. 'logPath' in audit_verify lacks format guidance (absolute vs relative, file extension validation). LLMs cannot infer constraints from names alone.
No output schemas documented. Tool descriptions state what they return (e.g. 'chain status and any broken links') but no structured schema is provided. LLMs cannot plan downstream calls or extract fields reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
No error handling guidance. Tools do not document what happens on file not found, permission denied, or malformed JSONL. No recovery hints for LLMs (e.g. 'If logPath not found, try search_audit_logs() first').
Tool descriptions too short (10-80 chars vs 194-char baseline). 'Echo the input back (health-check tool)' is 44 chars and lacks context for when to use it. 'Show the most recent audit log entries with verification status' is 65 chars but omits what 'verification status' means or how to interpret it.