Vaultwarden API + Bitwarden vault MCP Server and A2A Agent for Agentic AI!
Single tool 'vaultwarden_maintenance' has a lengthy description (280+ chars) but critical structural defects. Input schema uses generic 'action' string enum and 'params_json' free-form string instead of typed, documented parameters. No output schema documented. Parameters lack individual descriptions explaining what each action does or what params_json should contain. Tool combines 5 distinct operations (plan_deduplication, apply_deduplication, rotate_password, generate_password, ingest_metadata) into one, violating single-responsibility principle. Destructive operations (apply_deduplication, rotate_password) require confirmation but no confirmation mechanism is visible in the schema. No error handling guidance for LLMs.
Plan/apply vault deduplication, rotate item passwords, generate passwords, and sync vault metadata into the knowledge graph. Deduplication and rotation results carry item ids and counts only — never item names, usernames, or passwords. ``apply_deduplication`` and ``rotate_password`` both require ``confirm: true``; a loose deduplication plan is always refused for ``apply_deduplication``.
Tool combines 5 distinct operations (plan_deduplication, apply_deduplication, rotate_password, generate_password, ingest_metadata) into one. Violates single-responsibility principle. Should be split into separate tools: plan_deduplication, apply_deduplication, rotate_password, generate_password, ingest_metadata.
Input schema uses 'params_json' as free-form string instead of typed, documented parameters. LLMs cannot infer what JSON structure is required for each action. No schema validation or error guidance.
No output schema documented. LLMs cannot plan downstream operations or extract required fields (item_ids, counts). Deduplication/rotation results are described as 'item ids and counts only' but no structured output format is specified.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | <=2025-11-25 | v2 |
Destructive operations require 'confirm: true' but confirmation mechanism is not visible in schema. No confirmation_request pattern implemented. No dry-run support documented.
Individual parameters ('action', 'params_json', 'ctx') lack descriptions explaining their purpose, constraints, or valid values. 'ctx' parameter defaults to null with no explanation of when/why it's used.