Fast CLI for .env validation against JSON/YAML schemas. 14 types, secret detection, watch mode, remote schemas, 7 export formats, CI templates, health diagnostics, code scanning, auto-fix. Language-agnostic single binary.
zorath-env exposes 10 tools via MCP with reasonable naming (verb-noun pattern: check, docs, init, etc.) and descriptions present for all tools. However, critical gaps undermine quality: (1) Tool definitions are inferred from Cargo.toml/main.rs CLI argument parsing, not explicit MCP tool registration code, no visible ToolDefinition structs or schema declarations in the provided source. (2) Input schemas are visible in CLI args but NOT in structured JSON Schema format required by MCP, parameter types are inferred from clap derive macros (Option<String>, Option<bool>) rather than explicit JSON Schema with $schema, properties, required arrays. (3) Output schemas are completely undocumented, no indication what check, docs, scan, etc. return. (4) Descriptions are brief (10-50 chars) and lack LLM-optimized context: 'Validate .env against schema' does not explain WHEN to use it vs scan, or what it returns. (5) No error handling guidance visible, tools do not document recovery paths or error categories. (6) No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels (READ_ONLY vs WRITE). Baseline: 549 production tools average 194-char descriptions; zorath-env averages ~40 chars. Per-tool scores reflect these gaps.
Validate .env against schema
Compare two .env files
Generate documentation from schema
Run health diagnostics on .env and schema
Generate .env.example from schema
Export .env to various formats
Auto-fix common .env issues
Create a starter schema from .env.example or preset
Tool definitions inferred from CLI args, not explicit MCP ToolDefinition registration. No visible tool registration code in provided source, cannot verify tools are properly exposed to MCP clients.
Input schemas not in JSON Schema format. Parameters defined via clap derive macros (Option<String>, Option<bool>) but no explicit JSON Schema with $schema, properties, required, type declarations visible. MCP requires structured schemas.
Output schemas completely undocumented. No indication what check, docs, scan, doctor, export, diff return. LLMs cannot plan downstream calls or extract required fields without documented return types.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | <=2025-11-25 | v2 |
Scan for secrets and security issues in .env files
Generate CI/CD templates for .env validation
Descriptions too brief and lack LLM-optimized context. Average 35 chars vs baseline 194 chars. 'Validate .env against schema' does not explain WHEN to use check vs scan, what it returns, or error recovery paths.
No tool annotations despite clear risk levels. Tools marked READ_ONLY or WRITE in metadata but no readOnlyHint, destructiveHint, or idempotentHint in MCP definitions. Agents cannot determine safe retry behavior.