Legal Document Anonymization & Privacy MCP (local-first, sin IA). Detects and anonymizes personal data in legal documents using deterministic rules, control digits, and Spanish legal lexicon without requiring external AI models or API calls.
VELUM has well-structured schemas and descriptions for all 5 tools, with proper enums and parameter types. Tool names are action-oriented (revisar, anonimizar_*). However, descriptions lack LLM-optimization guidance (e.g., no 'when to use' or 'what happens' clarity), and error handling is minimal. Output schemas are defined as Pydantic models but not documented in tool descriptions. Security-focused design (no secrets in params, path validation) is a strength. Spanish-language tool names and descriptions are appropriate for the domain but reduce discoverability for English-speaking agents.
Anonimiza todos los documentos compatibles dentro de una carpeta (recursivamente) y genera un informe consolidado.
Anonimiza un documento local y guarda el resultado junto con acta de anonimización y tabla de equivalencias (si aplica).
Anonimiza un fragmento de texto y devuelve el resultado sin guardar ficheros.
Comprueba la conexión y explica dónde y cómo se procesan los documentos.
Analiza un documento local y devuelve un informe de datos personales detectados sin modificar el fichero.
Descriptions lack LLM-optimization guidance. 'Comprueba la conexión...' (estado) and 'Analiza un documento...' (revisar) do not explain WHEN to call the tool or what the LLM should do with the result. Baseline: 50-200 chars with clear intent.
Output schemas (Informe, TextoAnonimizado, DocumentoAnonimizado, ResultadoCarpeta) are defined as Pydantic models in code but NOT documented in tool descriptions. LLMs cannot infer what fields to expect without explicit schema documentation.
Error handling is minimal. No recovery guidance in tool descriptions (e.g., 'If path is invalid, check VELUM_AUTHORIZED_PATHS'). No categorization of errors as retryable vs. user-fixable. Agents cannot self-correct on failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Spanish-language tool names and descriptions reduce discoverability for English-speaking LLM agents. 'revisar' vs 'review', 'anonimizar' vs 'anonymize'. Consider English aliases or bilingual descriptions.
Parameter 'categorias' (optional array) lacks enum constraint in schema. Description says 'Categorías de datos a detectar (opcional; por defecto todas)' but does not list valid values. LLMs may hallucinate invalid category names.