Environment & secrets inspector MCP server — read, validate, and diff .env files
Four tools with clear, concise descriptions (avg 95 chars) and complete input schemas. All parameters are typed and described. However, output schemas are undocumented, LLMs cannot predict response structure for planning. Error handling returns structured objects with 'error' fields but lacks recovery guidance. Tool names are verb-noun (read, validate, diff, missing) and unambiguous. No tool annotations (readOnlyHint, etc.). Composition is sound: each tool has one responsibility. Security is adequate for read-only operations, but no explicit permission gates or audit logging.
Compare two .env files — show keys only in each and differing values.
List vars required by .env.example that are missing from the .env file.
Read a .env file and return all key-value pairs. Secrets are masked by default.
Validate a .env file against a .env.example — show missing, extra, and empty vars.
Output schemas are not documented. LLMs cannot predict response structure (e.g., 'vars' dict, 'error' field, 'count' int) for downstream planning or field extraction.
Error responses lack recovery guidance. When a file is not found, the response includes 'error: File not found: <path>' but does not suggest next steps (e.g., 'Check the path or list available files').
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All four tools are read-only and idempotent, but this is not declared in the schema, forcing LLMs to infer safety.
Parameter descriptions lack format/constraint details. 'path' is described as 'Path to the .env file' but does not specify: relative vs absolute, required file extension, or max length.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
No pagination or result limits documented. If a .env file has thousands of variables, 'read' returns all of them, risking context window exhaustion.