MCP Server de producción (Nivel Fortaleza) para Google Cloud Secret Manager.
Server demonstrates solid foundational quality with complete JSON Schema definitions, consistent error handling patterns, and thoughtful security-aware descriptions. All 10 tools have explicit schemas with type constraints, regex patterns, and min/max bounds. Descriptions are present and contextually appropriate (avg ~120 chars), though some lack actionable guidance for LLM selection. Tool naming follows verb_noun convention (vault_get_secret, vault_list_secrets). Key gaps: no output schemas documented, parameter descriptions sometimes generic, no idempotency guarantees stated, and destructive operations lack confirmation patterns. Error responses use structured prefixes (SECURITY_VIOLATION, MUTATION_DENIED) but don't guide recovery. Composition is clean, each tool has single responsibility, but chaining metadata is incomplete (e.g., vault_list_secrets returns secretIds but no labels/versions for downstream calls).
Rotar secreto (nueva versión). Notifica vía Pub/Sub a receptores. ⚠️ Alta Sensibilidad.
Verifica si un secreto tiene el label mcp-accessible=true para auditoría.
Crea un secreto con label de boveda mcp-accessible=true para auditoría.
Invalida una versión específica del contenedor. Acción destructiva en acceso.
Obtiene información estructural del secreto SIN revelar su valor.
Obtiene el valor real de un secreto. Requiere un 'reason' descriptivo. ⚠️ Alta Sensibilidad.
No output schemas documented. LLMs cannot predict response structure for downstream tool chaining. E.g., vault_list_secrets returns secretIds but no schema specifies field names, types, or pagination metadata.
Destructive operations (vault_disable_version, vault_add_version) lack confirmation/dry-run pattern. Agents can irreversibly disable secret versions without explicit approval step.
Error responses use prefixes (SECURITY_VIOLATION, MUTATION_DENIED) but lack recovery guidance. E.g., 'SECURITY_VIOLATION: Access Denied' tells LLM nothing about next steps, should suggest 'Try vault_check_permission() first' or 'Contact admin for mcp-accessible label'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Lista secretos habilitados para MCP en el inventario actual.
Obtiene el historial de versiones activas de un secreto.
Diagnóstico operacional del servidor de bóveda.
Genera una estructura de entorno .env resolviendo múltiples secretos.
Parameter descriptions lack actionable constraints. E.g., 'reason' param says 'Motivo de acceso, ej: Procesar pago de factura #1234' but does not state min/max length (10-500 chars are in schema but not described). LLMs cannot read JSON Schema, they rely on text descriptions.
No idempotency guarantees stated. vault_create_secret and vault_add_version are write operations, agents need to know if retrying with same input is safe or risks duplicates.