Deterministic synthetic test data generation and pseudonymization for Python, CI/CD, and AI agents with MCP server support
Severe definition quality issues across all 4 tools. While tool names follow a logical datamimic_* prefix pattern and descriptions exist, the input schemas are critically underdocumented. All tools accept generic 'request' parameters with opaque type references (CheckRequest, RunRequest, ReferenceRequest, ScaffoldRequest) that are not defined or visible in the provided source code. Without inspectable JSON Schema definitions showing parameter types, constraints, and field descriptions, the tools cannot be reliably used by LLMs. The descriptions, while present (94-210 chars each), lack actionable detail about prerequisites, parameters, expected return structures, and error conditions. No output schemas are documented. The tool composition is sound (each performs a single responsibility), but the interface opacity creates a major usability barrier. Code review best practices (pattern:tool, pattern:tool-description, pattern:constrained-input) are not met.
Lint one DATAMIMIC XML descriptor without executing it. Provide exactly one inline xml document or server-local path. Repair every error diagnostic before calling datamimic_run.
Query canonical DATAMIMIC DSL and intent-model reference data. Start with topic=overview or topic=authoring, then request one narrow element, rule, category, or typed authoring variant.
Safely execute one bounded DATAMIMIC XML dry-run. Counts are capped and write targets are neutralized unless the caller explicitly enables side effects. Inspect captured samples and diagnostics.
Compile and verify one intent model. Use acceptance_requirements only for caller-owned, transaction-scoped assertions that must be checked without mutating the submitted model. Their result source is reported as caller.
Input schemas completely undocumented. All tools declare 'request' parameter with opaque type names (CheckRequest, RunRequest, ReferenceRequest, ScaffoldRequest) but the actual JSON Schema definitions are not visible in source code. Cannot verify parameter names, types, constraints, or required fields.
No output schemas documented. Descriptions mention 'captured samples and diagnostics' (datamimic_run) and 'canonical DATAMIMIC DSL reference data' (datamimic_reference), but the exact structure, field names, and types of returned data are not specified. LLMs cannot plan downstream operations without knowing what fields to extract.
Tool descriptions lack parameter documentation and usage guidance. E.g., datamimic_check says 'Provide exactly one inline xml document or server-local path' but does not specify the parameter name accepting the XML, whether it is 'xml_content' vs 'xml_path' vs a field inside 'request', or the error behavior when both are provided.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 36 | - | v1 |
No error handling guidance. Descriptions mention 'repair every error diagnostic' (datamimic_check) and 'acceptance_requirements' (datamimic_scaffold) but do not explain the error response format, what fields indicate failure, or what the LLM should do when validation fails. Per pattern:recovery-guide, errors must tell the agent what to do next.
Ambiguous parameter structure. datamimic_reference says 'topic=overview or topic=authoring' in the description, suggesting parameter names and enum values, but these are not formally declared in a visible JSON Schema. LLMs cannot reliably infer parameter names from prose descriptions.