Value-blind MCP server with default-denied effectful workflows for managing secrets, tokens, and credentials in AI-agent environments
This server has 47 tools with moderate structural definition, but significant quality gaps. Tool naming is generally consistent (verb-first pattern: add_, remove_, rotate_, etc.), and most tools have descriptions. However, descriptions are brief and often lack clarity about prerequisites, side effects, and when to use each tool versus similar alternatives. Parameter schemas are present but minimal, most tools have only 1-2 parameters with basic string/integer types. Output schemas are not documented anywhere in the visible source. Several tools like 'why', 'approval', 'engineering_do', and 'setup_workspace' have vague descriptions that do not clearly convey their purpose or impact. Error handling guidance is absent, no indication of what happens on failure or how to recover. Security-critical operations (e.g., add_secret, remove_secret, cloud_push, cloud_pull) lack explicit permission gates or audit trail declarations in the schema. The 47-tool surface is broad but shallow in quality per tool.
Add a secret to the vault with validation
Add a secret interactively with prompts
Apply expiry policy to secrets
Request user approval for an operation
View audit alerts
View detailed access analytics
Detect anomalies in secret access patterns
Stream real-time anomaly detection
Tools with empty or no input schemas (e.g., add_secret_interactive, check, init, env, sync, doctor, audit_stats, compliance_status, cloud_push, cloud_pull, validate_all, expiry_check, rotation_due, phantom_expiry_enforce, audit_anomalies, audit_anomalies_realtime, audit_hotspot_alerts, audit_incidents, leak_incidents_realtime). LLMs cannot infer when to call these tools or how to parameterize them. Input schema score MUST be 0 for these tools.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | <=2025-11-25 | v2 |
Export audit report in various formats
Get alerts for hotspot secrets (frequently accessed)
View security incidents from audit log
View recent audit log entries
Get audit statistics and summary
Enable automatic rotation for a secret
Check secret health status
Pull secrets from cloud storage
Push secrets to cloud storage
Check compliance status of secrets
Copy a secret value to clipboard
Run diagnostics on Phantom installation
Execute engineering operations phase
Manage environment variables and dotenv files
Check for expired secrets
Initialize Phantom Secrets in current project
Stream real-time leak incident detection
List secrets with expiry information
Enforce expiry policies on secrets
Remove a secret from the vault
Rotate a secret with optional expiry
Promote a rotated secret candidate to active
Rotate secret using external provider
Rotate secret with candidate value
Rotate secret with new expiry date
Check which secrets are due for rotation
Get next scheduled rotation time
Setup workspace with initialization phase
Synchronize secrets across systems
Create a new team workspace
Invite user to team
Access team vault secrets
Unwrap an encrypted value
Validate all secrets in vault
Validate a secret against configured rules
View secret validation history
Schedule automatic secret validation
Explain why a tool requires approval
Wrap a value with encryption
Descriptions are generic and lack actionable context. E.g., 'check' = 'Check secret health status' (no mention of what 'health' means, what metrics, or when to call it). 'why' = 'Explain why a tool requires approval' (unclear if this is for documentation or runtime decision support). 'approval' = 'Request user approval for an operation' (no guidance on how approval is granted or what happens if denied). Descriptions should state WHAT, WHEN, and NEXT STEPS.
No output schemas documented. LLMs cannot plan downstream tool calls or extract structured data. For example, audit_recent returns a 'limit' parameter but no indication of what fields are in the response (timestamps? user IDs? operation types?). All tools should document return type and key fields.
No error handling guidance. Tools like remove_secret (DESTRUCTIVE) and cloud_push (WRITE) provide no indication of failure modes, recovery paths, or retry safety. Error responses should state whether the operation is retryable and suggest next steps if it fails.
Security-critical operations lack explicit permission gates in tool definitions. Tools like remove_secret, cloud_push, cloud_pull, team_invite, and rotate do not declare required permissions (e.g., 'requires: read:vault, write:vault'). This prevents least-privilege agent configuration and audit clarity.
Ambiguous tool relationships. Multiple tools perform similar functions without clear guidance on when to use each. E.g., 'rotate' vs 'rotate_with_expiry' vs 'rotate_with_candidate' vs 'rotate_provider' vs 'rotate_promote', no descriptions explain the difference or dependency chain. This forces LLMs to reason about subtle distinctions.
Parameter descriptions are minimal. E.g., 'phase' in engineering_do is described as 'Engineering phase to execute' with enum [plan, validate, execute], but no explanation of what each phase does, what state changes occur, or whether they must be called sequentially. Parameter descriptions should clarify format, constraints, and dependencies.
No pagination or result-limiting guidance. Tools like audit_recent accept a 'limit' parameter, but no cap is documented. Tools like validate_all, list_with_expiry, and audit_anomalies may return unbounded results, risking context window exhaustion. All list tools should state maximum results and support pagination.