Unofficial MCP server that integrates with the Proton Pass CLI
This server has 47 tools but suffers from systematic schema and documentation deficiencies that severely limit LLM usability. ALL tools show identical input schemas (`{"type":"object","properties":{}}`), indicating either complete absence of parameter documentation or a critical templating failure. Descriptions exist and are reasonable length (average ~80-120 chars), but lack specificity about parameters, expected inputs, outputs, and error handling. The server registers tools but provides no visible documentation of input parameter names, types, constraints, or descriptions, critical for LLM invocation. Tools like `inject`, `run`, `create_vault`, `update_vault`, `share_vault` etc. all show empty property objects, meaning the LLM has zero guidance on what parameters to pass or how to structure them. While tool names follow verb_noun conventions (positive), parameter schemas are functionally absent. Composition is reasonable (each tool has a clear singular purpose), but the lack of input schema detail makes these tools nearly unusable by an LLM without extensive trial-and-error. File references (src/server/tool-definitions-core.ts, src/server/tool-definitions-item.ts) show where tools are defined, but the source snippets provided do not show the actual inputSchema objects, only the empty `properties:{}` pattern seen in the manifest. This suggests either: (a) schemas are defined elsewhere and not shown, or (b) they are genuinely missing/empty. Given the evidence, scoring reflects what IS visible: minimal schema detail.
Accept an invitation token.
Run preflight checks for connectivity/authentication and CLI version compatibility.
Create a credit card item in a vault or share.
Create a custom item from template payload in a vault or share.
Create an identity item from template payload in a vault or share.
Create an email alias item.
Create a login item in a vault or share.
ALL 47 tools have empty input schemas ({"type":"object","properties":{}}). Parameters are completely undocumented, LLM has no visibility into what inputs each tool accepts, their types, constraints, or semantics.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 11 | - | v1 |
Create a login item from template JSON.
Create a note item in a vault or share.
Create a new vault.
Create a WiFi item in a vault or share.
Permanently delete an item by share ID and item ID, bypassing trash.
Delete a vault by share ID or vault name.
Download an item attachment to a local path, potentially overwriting it. Requires write permission and confirmation.
Generate TOTP code(s) for an item by URI or selectors, optionally targeting a specific field.
Generate a passphrase.
Generate a random password.
Generate a TOTP token from a secret or otpauth URI.
Inject secrets from Proton Pass references into a template file.
List pending invitations accessible to the current authenticated user.
List item members.
List items for a vault or share with MCP pagination support for JSON output.
List shares accessible to the current authenticated user.
List members for a vault by share ID or vault name.
List vaults accessible to the current authenticated user.
Move an item from one vault to another.
Reject an invitation token.
Remove an item member.
Remove a member from a vault.
Run a command with Proton Pass secret references resolved in environment.
Score password strength.
Search items by title with MCP pagination support for JSON output.
Set default vault by share ID or vault name.
Share an item with a user.
Share a vault with a user.
Transfer vault ownership to a member.
Move an item to trash by selectors.
Unset default vault setting.
Restore an item from trash by selectors.
Update an item using selectors and field assignments.
Update an item member role.
Update a vault by share ID or vault name.
Update a vault member role.
View a specific item by URI or selectors, optionally returning a specific field.
View current Proton Pass session/account summary from pass-cli info.
View current Proton Pass CLI settings.
View Proton user profile/account details from pass-cli user info.
No visible parameter descriptions in input schemas. The rubric requires every parameter to have a description explaining what it controls. Without descriptions, LLMs cannot understand parameter semantics or constraints.
No output schemas documented. Tool responses are opaque to the LLM, it has no guidance on what fields to expect, what IDs will be returned for downstream chaining, or how to extract the signal it needs.
Destructive tools (delete_vault, delete_item) lack confirmation/dry-run pattern. No evidence of confirmation workflow before permanent deletion. Agents can trigger irreversible data loss without safety gates.
No pagination parameters visible in list/search tools. list_items and search_items mention 'MCP pagination support for JSON output' in descriptions but no limit/offset/cursor parameters are exposed in the empty property objects.
No error handling guidance visible. Tools should return actionable error messages that guide recovery (e.g. 'Vault not found. Try list_vaults() to see available vaults.'). Current implementation unclear.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) visible. Modern MCP allows servers to declare tool safety properties; these are absent.