CMMC Level 2 practice mapper — stack-aware SSP skeleton generator
The 'scan' tool has a minimal description (67 chars) and an input schema that is present but poorly structured. The schema uses a generic 'object' type with only a description field, no explicit property definitions, type constraints, or parameter-level descriptions. The tool name 'scan' is a generic verb that does not clearly convey the CMMC-specific action. No output schema is documented. Error handling, validation guidance, and recovery paths are absent. The implementation delegates to cognis_core.mcp.build_mcp_server, which is not visible in the provided source, making it impossible to verify actual tool registration details or schema enforcement.
CMMC Level 2 practice mapper — stack-aware SSP skeleton generator
Tool name 'scan' is too generic and does not start with a clear action verb. 'scan' alone does not convey that this tool performs CMMC Level 2 gap assessment. Rename to 'assess_cmmc_compliance' or 'map_cmmc_practices' to clarify intent.
Input schema uses generic 'object' type with no explicit property definitions. The 'inventory' parameter lacks type, format, enum constraints, or field-level descriptions. LLMs cannot infer what keys/values the inventory object should contain (e.g., is 'mfa' a boolean, string, or enum?).
No output schema documented. The tool description does not specify what fields the response contains, what data types they are, or how the LLM should interpret the SSP skeleton and gap findings. This violates the pattern requirement that tools document their return types.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
Tool description (67 chars) is below the baseline average (194 chars) and lacks WHEN/WHY guidance. It does not explain when to call this tool vs. other assessment methods, what prerequisites are needed, or what the output is used for. No dependency hints or recovery guidance.
No error handling or validation guidance. The tool does not document what happens if the inventory object is malformed, missing required fields, or contains invalid values. No recovery paths or actionable error messages are defined.