VITNA — Agent Compliance Preflight logo

VITNA — Agent Compliance Preflight

Pre-action allow/deny for AI agents. 24 statutes, 13 jurisdictions: EU AI Act, GDPR, DPDP.

Install VITNA — Agent Compliance Preflight

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "vitna-agent-compliance-preflight": {
      "command": "npx",
      "args": [
        "-y",
        "@costrinity/vitna-compliance-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

8/8 checks healthy over the last 49d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 11d ago via OSV.dev · @costrinity/vitna-compliance-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

npm downloads1.6kPackage downloads in the last 30 days.
Last commit13d agoMost recent push to the default branch.

From the project README

VITNA

A containment layer for AI agents that go rogue.

Agents go rogue through their tools. VITNA sits on the tools you put behind it. Calls to the tools you mark as risky wait for a person. No answer, no run. No API key can decide a hold, including the agent's own. Claimed accounts get signed records you can check offline.

Try the demo: a labelled simulation in your browser. A scripted agent on pretend files reaches for risky tools, and you decide its held calls. No install, nothing stored.

Try it in 60 seconds

Terminal
npx -y @costrinity/vitna-compliance-mcp guard -- <your stdio MCP server command>

To see a hold, give the guard a policy file that lists the tools to hold. The reference filesystem server has no delete tool: it destroys a file by overwriting or moving it, so this policy.json holds those calls and allows the rest:

config.json
{ "allowed_actions": ["*"], "hold_actions": ["write_file", "edit_file", "move_file"] }
Code
VITNA_GUARD_POLICY=/path/to/policy.json npx -y @costrinity/vitna-compliance-mcp guard -- npx -y @modelcontextprotocol/server-filesystem /path/to/test-folder

In an MCP client config, put VITNA_GUARD_POLICY under env (see Guard mode).

Every tools/call is checked by VITNA before it reaches the server. Anything not allowed is refused with a tool error that says why. With no credentials you get a trial key: a risky call is held, and with nobody able to approve it yet, it's blocked when the window ends. To approve or deny holds and keep signed records, claim the account with GitHub or a passkey, then decide holds in the Aquarium on your dashboard. The claim link is printed in your MCP server log and never sent to the agent; VITNA_OPEN_CLAIM=1 opens it in your browser.

Try it on a test agent first.

Scope

VITNA sees only the servers it wraps. A built-in shell or an unwrapped server is outside it, so turn those off if you want every action to go through the guard. The session record lists what you declared as unwrapped. The remote endpoint offers the same checks as tools an agent calls itself; that's cooperative, not containment. Detection is heuristic pattern matching, not a sandbox.

What it doesn't do · Guard mode · Verify a record

Agent setups

The guard wraps stdio MCP servers, so it can sit in front of a client or SDK that launches stdio MCP servers. A setup is listed as tested only after we have run it with the guard.

The config for each is on Connect your agent; Compatibility says which are tested.

  • Claude Desktop: documented, not yet tested; a hold waits for the decision.
  • Claude Code: tested 2026-10-14, version 2.1.299; a hold waits for the decision.
  • Codex CLI: documented, not yet tested; a hold waits for the decision.
  • Gemini CLI: documented, not yet tested; a hold waits for the decision.
  • Cursor: documented, not yet tested; a hold is answered "held, not run", and a retry of the same call runs once after an approval.
  • VS Code (Copilot): documented, not yet tested; a hold waits for the decision.
  • Cline: documented, not yet tested; a hold waits for the decision.
  • Continue: documented, not yet tested; a hold waits for the decision.
  • Zed: documented, not yet tested; a hold waits for the decision.
  • Goose: documented, not yet tested; a hold waits for the decision.
  • Windsurf / Devin Desktop: documented, not yet tested; a hold is answered "held, not run", and a retry of the same call runs once after an approval.
  • OpenClaw (VITNA plugin): documented, not yet tested; a hold waits for the decision.
  • OpenClaw (MCP servers): documented, not yet tested; a hold waits for the decision.
  • OpenAI Agents SDK (Python): documented, not yet tested; a hold waits for the decision.
  • OpenAI Agents SDK (JS): documented, not yet tested; a hold waits for the decision.
  • Google ADK (Python): documented, not yet tested; a hold waits for the decision.
  • LangChain MCP adapters: documented, not yet tested; a hold is answered "held, not run", and a retry of the same call runs once after an approval.
  • CrewAI: documented, not yet tested; a hold is answered "held, not run", and a retry of the same call runs once after an approval.
  • AutoGen: documented, not yet tested; a hold waits for the decision.
  • Microsoft Agent Framework (Python): documented, not yet tested; a hold is answered "held, not run", and a retry of the same call runs once after an approval.
  • LlamaIndex: documented, not yet tested; a hold waits for the decision.
  • Mastra: documented, not yet tested; a hold waits for the decision.
  • Vercel AI SDK: documented, not yet tested; a hold waits for the decision.

Not supported:

  • n8n (MCP Client Tool): Its MCP Client Tool connects over SSE and HTTP only, not stdio, so the guard cannot sit in front of it. A remote VITNA gateway is planned.

Renamed from VIGIL

This package was formerly published as @costrinity/vigil-compliance-mcp and this repo was formerly COSTRINITY/vigil-compliance-mcp. The old package is still on npm at 0.2.4, deprecated with the message "Renamed: use @costrinity/vitna-compliance-mcp". It gets no updates and has no guard mode, so anything still pointing at it installs that old version. Directory listings that show the VIGIL name are stale snapshots of this repo.

Current package: @costrinity/vitna-compliance-mcp Registry entry: xyz.costrinity/vitna-compliance-preflight Site: https://vitna.costrinity.xyz

Also included

The same package carries VITNA's compliance checks: 23 MCP tools across 24 named statutes in 13 jurisdictions, for an agent to call itself before it acts. Decision support, not legal advice; scorecards are not certifications.

Most compliance servers answer questions about regulations. This one answers one question about the action your agent is holding right now: may it run? Your agent calls a check, gets allowed / blocked / flagged back synchronously, and decides. VITNA evaluates and records; your system enforces.

The package

One package to install. This is the server your agent calls before it acts.

PackageWhat it doesWhen you want itInstall
@costrinity/vitna-compliance-mcp (this one)Your agent asks before it acts. Returns allow / block / flag on a proposed action, and records a signed evidence record of the decision.You want a guardrail your agent calls, and provable receipts that it did.npx @costrinity/vitna-compliance-mcp — no credentials needed to start

A passive observer that records existing MCP traffic without deciding anything is built in this repo but is not published to npm, so it is not documented here yet. Nothing above depends on it.

Coverage

24 named statutesacross 13 jurisdictions
EU AI Act (Reg 2024/1689)risk-tier classification before you build or ship
GDPR + UK GDPRDPIA thresholds, breach reportability, ROPA
DPDP (India, 2023)§16 cross-border status, §8 breach path
LGPD · PDPA-SG · APPI · PIPEDA + Law 25 · PIPL · PIPA-KR · NDPA · APP-AU · CPRAjurisdiction packs
HIPAA · GLBA · COPPA · FERPA · FCRA · SOXUS federal sectoral applicability
RBI · SEBI · IRDAI · TRAI/DoT · PFRDAIndian sectoral regulators
16 US state privacy lawsplus breach deadlines for 21 states
23 MCP tools6 identifier validators, 15 stateless helpers

Readiness scorecards (pre-audit, not certifications) additionally cover NIST Privacy Framework, SOC 2, ISO/IEC 27001 and PCI DSS v4.0.

Every count above is derived from the code and enforced by a build gate — if an implementation is removed, the build fails before the number can go stale. See "Honest limits" below for what these numbers do not mean.

VITNA's detection is heuristic, and those limits are documented publicly. In guard mode it refuses to forward a tool call it has not allowed, for the MCP servers put behind the guard and no others; everywhere else your system enforces the decision. Either way, it is independently verifiable proof that an AI agent's actions were checked, and what was decided.

Free checkers — no install, no account

Two questions people usually have to answer before they need any of this. Both run entirely in the browser, take a few questions, and store nothing.

Does the 2 December 2026 deadline apply to you?Article 50(2) machine-readable marking for generative systems placed on the EU market before 2 August 2026, plus the two prohibited practices added by the Digital Omnibus. Works out which of the two dates you are actually on.
Article 50 transparency self-checkWhich Article 50 disclosure duties reach you as provider or deployer.

Both are scoping tools, not legal advice, and neither issues a score or a pass/fail. They cite the article and the Official Journal text behind every date they state.

Verify VITNA evidence yourself

Every decision on a claimed account also produces an Ed25519-signed evidence record that anyone can verify offline, with no account of their own and no trust in VITNA's servers. The public key is published, the verifier is open source, and the three commands below prove it in about a minute.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about VITNA — Agent Compliance Preflight

Add the following block to your claude_desktop_config.json under mcpServers: "mcpServers": { "vitna-agent-compliance-preflight": { "command": "npx", "args": ["-y","@costrinity/vitna-compliance-mcp"] } }

Pre-action allow/deny for AI agents. 24 statutes, 13 jurisdictions: EU AI Act, GDPR, DPDP.

We don't have confirmed pricing for VITNA — Agent Compliance Preflight. Listing it on AllMCPs is free, but that says nothing about what the server itself costs — check the project's own site for current pricing.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewVITNA — Agent Compliance Preflight AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/vitna-agent-compliance-preflight?style=directory)](https://allmcps.com/mcp/vitna-agent-compliance-preflight)
HTML Embed
<a href="https://allmcps.com/mcp/vitna-agent-compliance-preflight"><img src="https://allmcps.com/api/badge/vitna-agent-compliance-preflight?style=directory" alt="VITNA — Agent Compliance Preflight on AllMCPs" /></a>