MCP server for Envault CLI operations - securely manage environment variables and secrets
Envault MCP server has 8 tools with basic schemas and descriptions, but significant quality gaps. All tools have descriptions (10-60 chars, mostly short), and input schemas are present with type definitions. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool or what happens next. Parameter descriptions are minimal (e.g., 'The secret key name' without format/constraint details). No output schemas documented. Error handling is absent, no recovery guidance, no categorization of retryable vs fatal errors. Security concerns: envault_run_command accepts arbitrary CLI commands (command injection risk), and envault_read_env_file / envault_write_env_file accept arbitrary file paths (path traversal risk). No input validation, sanitization, or permission gates visible. Tool composition is weak: envault_sync_secrets combines pull/push/bidirectional logic in one tool rather than separate tools. No pagination, no batch operations, no idempotent markers.
Delete a secret from Envault
Retrieve a secret value from Envault by key name
List all secrets in an Envault project
Read environment variables from a local .env file
Execute an Envault CLI command
Set or update a secret value in Envault
Synchronize secrets between Envault and local environment files
Write environment variables to a local .env file
envault_run_command accepts arbitrary CLI commands without validation or sanitization, enabling command injection attacks. LLM could be tricked into passing malicious payloads.
envault_read_env_file and envault_write_env_file accept arbitrary file paths without path traversal protection. No validation prevents access to /etc/passwd or other sensitive files.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does envault_list_secrets return? Field names? Count? Pagination?)
Descriptions are generic and under 50 chars for most tools. No guidance on WHEN to use each tool, what happens on error, or what the LLM should do next. Baseline is 194 chars for A+ tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
envault_sync_secrets combines three distinct operations (pull, push, bidirectional) in one tool. Should be split into separate tools (sync_secrets_pull, sync_secrets_push) for clearer composition.