MCP server that audits AI technology stacks for health, maturity, and best practices. Exposes tools to run audits on AI infrastructure, retrieve audit history, and list industry benchmarks.
Three tools with reasonable naming (verb_noun pattern) and documented schemas. run_audit has a comprehensive nested schema with enums and constraints; get_audit_history and list_benchmarks have simpler but valid schemas. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool vs. alternatives. Parameter descriptions exist but are minimal (10-30 chars typical). No error handling guidance, no output schema documentation, and no tool annotations (readOnlyHint). Schemas are present and typed, which elevates the score above 50, but lack the depth and clarity expected of production tools.
Retrieve audit history for a stack or all stacks, with optional filtering by minimum score and pagination.
List industry benchmarks and maturity reference data, optionally filtered by category or search query.
Audit a described AI stack and return a health score and findings across cost, latency, reliability, security, and quality dimensions. The stack is supplied in full with the call; no prior state is required.
Descriptions lack LLM-optimized guidance. 'Audit a described AI stack...' is functional but does not explain WHEN to call run_audit vs. get_audit_history, or what the health score represents. Descriptions should be 50-200 chars and answer: What? When? Why?
No output schema documentation. run_audit returns a 'health score and findings' but the response structure is not documented. LLMs cannot plan downstream calls or extract fields without knowing the output shape.
No error handling guidance. If run_audit receives an invalid component category or malformed stack, the tool provides no recovery hint. Error responses should guide the LLM: 'Invalid category. Valid options: model, embedding, vector_store, ...'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Parameter descriptions are minimal. 'Subset of dimensions to evaluate' (checks param) lacks detail on what happens if omitted, what the default behavior is, and which dimensions are most commonly used.
No tool annotations. Tools lack readOnlyHint, destructiveHint, or idempotentHint. run_audit with persist=true modifies state but is not marked as destructive; get_audit_history is read-only but unmarked.