Safety and compliance oversight layer for AI agents: check risky actions before they run, get allow/deny/hold decisions, keep signed audit records. Supports 24 named statutes across 13 jurisdictions including the EU AI Act, GDPR and DPDP.
VITNA Compliance MCP demonstrates strong domain expertise with well-structured compliance-focused tools. All 7 tools have clear descriptions (avg 180 chars) and proper JSON Schema input definitions with required fields and enums. Naming follows verb_noun pattern (consent_check, breach_classify, dpia_threshold_check). However, output schemas are entirely undocumented, no tool declares what fields it returns, forcing LLMs to guess response structure. Parameter descriptions are present but sparse (avg 40 chars); many lack format guidance or constraints. Error handling and recovery guidance are absent. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all being read-only operations. Tool composition is sound, each has one clear responsibility and tools chain naturally (e.g., breach_classify → us_state_breach_deadline). Security is strong: no credentials in parameters, all tools are read-only compliance checks with no destructive side effects.
Before you build or ship an AI feature, check where it lands under the EU AI Act (Regulation 2024/1689). Describe the use case (with biometric / remote-identification / automated-decision / social-scoring / GPAI flags) and VITNA returns the risk tier (prohibited / high-risk / limited-risk / minimal-risk), GPAI obligations, and the per-tier obligations you would have to meet. A classification for you to act on: VITNA evaluates and records, it does not gate the build.
After a security incident, check whether it is legally reportable before you decide how to respond. Give the incident facts (affected count, data categories, sensitivity, recovery state) and VITNA returns reportability + reasoning + the notification deadline + who to notify, across DPDP §8, GDPR Art 33, CPRA §1798.82, LGPD Art 48, PDPA §26B, and US-FED sectoral. This makes the full incident decision from the facts; for a quick per-US-state deadline/recipient/threshold table without incident facts, use us_state_breach_deadline. VITNA evaluates and records; acting on the result is up to you.
Before you process someone's personal data, ask VITNA whether an active consent actually permits it for this purpose. Give the data principal + purpose (and optional category); returns { allowed, reason, matching_consent_id, principal_id }, a determination you must honour yourself since VITNA evaluates and records but does not enforce. Use this for personal-data processing legality; for a dangerous technical action (shell / file / DB / network) use action_preflight instead.
No output schemas documented. Tools return compliance decisions but LLMs cannot see expected response fields (e.g., breach_classify returns 'reportability + reasoning + deadline + who to notify' but no formal schema). Forces LLMs to infer structure from description text alone.
Parameter descriptions lack format guidance and constraints. E.g., 'sensitivity' enum is ['low','medium','high','special'] but description does not explain what each means or when to use each. 'jurisdiction' is optional but no guidance on default behavior if omitted.
No error handling or recovery guidance. Tools return compliance determinations but no documentation of failure modes (e.g., what if jurisdiction is unknown? What if data_categories are invalid?). LLMs have no guidance on retry or fallback.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
Before you start a new processing activity, check whether the law requires a DPIA first (GDPR Art 35 / DPDP §10 / LGPD Art 38). Give the purpose + data categories (and scale / systematic-monitoring / automated-decision / cross-border / vulnerable-subjects flags); returns dpia_required + the 9-criterion WP29 analysis + jurisdiction guidance, so you know whether to pause and assess before proceeding.
Before you process personal data under Indian law, find out which sectoral regulators actually bind your specific activity (RBI / SEBI / IRDAI / TRAI / DoT / PFRDA) from its processing profile, so you know whose rules apply before you act. This analyses your processing to say what applies; for a plain directory of every Indian regulator regardless of your activity, use india_regulators_directory.
Before you process personal data under US law, find out which US federal sectoral regimes bind you (HIPAA, GLBA, COPPA, FERPA, FCRA, SOX) for a given processing profile, so you can factor them in before you act. US-scoped; for Indian sectoral regulators use india_sectoral_check.
What is VITNA and how do I use it to keep myself in check? Call this FIRST after connecting to learn the safety and oversight checks available: how to check risky actions BEFORE running them, what a deny / hold decision means, trial vs claimed mode, and how the user can monitor and audit what you do. Runs entirely locally: no account, no API call, and no dashboard timeline trace.
No tool annotations despite all tools being read-only compliance checks. Missing readOnlyHint annotations would help clients optimize caching and prevent accidental misuse as state-modifying tools.
Parameter descriptions are minimal (avg 40 chars). E.g., principal_id: 'UUID of the data principal (if known).' does not explain when to use principal_id vs principal_ref, or what happens if both are provided.