mcpbeat Sign in

VITNA – Containment for rogue AI agents MCP Server

by costrinity Your server? Claim it
not responding

VITNA – Containment for rogue AI agents is listed as active in the registry but did not answer our last check. 38 installs a week from npm. It exposes 23 tools. Last commit 15 Oct 2026.

Guard wraps stdio MCP servers: risky calls wait for a person; no answer, no run. Remote: cooperative

Installs per day peak 335 · avg 53 · -92% w/w
a month agotoday
Uptime history 75 days of history · worst day 9%
75 days agonow
19.6%
Uptime 24h
18 of 92 checks
23
Tools
read from the server
379 ms
Response time
average over 24h
38
Installs / week
npm and PyPI

What changed 10

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 19 August 2026. No other catalogue keeps this.

7 Oct a tool changed version
6 Oct a tool description was rewritten vitna_claim
5 Oct a tool description was rewritten privacy_notice_get
26 Sep a tool changed version
5 Sep 2 tool descriptions were rewritten consent_check, vitna_preflight
20 Aug a tool appeared vitna_claim
20 Aug a tool changed version
19 Aug a tool changed version2 times that day
and 1 more, back to 19 August 2026

What the code does

We read the source, 4 d ago · tools taken from the live server · rules 995398eba69f

Evidence

Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.

Deletes files or strips permissions src/tools.ts:363
        action: { type: 'string', description: 'The proposed action / command text, e.g. "rm -rf /" or "DROP TABLE users".' },
Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Runs an external command src/index.ts:190
    const child = spawn(how.command, how.args, { stdio: 'ignore', detached: true, windowsHide: true, shell: false });

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

We found things in this code

Code changes quietly between releases, and nobody reads the diff of a dependency. We do, on every release — watch VITNA – Containment for rogue AI agents and you get told the day something new turns up.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 6 min ago.

run in your terminal
claude mcp add vitna-compliance-preflight --transport http https://vitna.costrinity.xyz/api/mcp
Settings → Connectors → Add custom connector, then paste this address
https://vitna.costrinity.xyz/api/mcp
~/.codex/config.toml
[mcp_servers.vitna-compliance-preflight]
url = "https://vitna.costrinity.xyz/api/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "vitna-compliance-preflight": {
      "url": "https://vitna.costrinity.xyz/api/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "vitna-compliance-preflight": {
      "type": "http",
      "url": "https://vitna.costrinity.xyz/api/mcp"
    }
  }
}

Available tools 23

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

india
india_cross_border_status
Before you transfer personal data out of India, check the destination country's DPDP §16 status (permitted / restricted / sectoral_restricted) plus any RBI / SEBI / IRDAI caveats. Pass the ISO-3166 alpha-2 country code (e.g. US). Stateless lookup: records no decision and leaves no dashboard timeline trace.
india_regulators_directory
Static reference directory of Indian data and sector regulators (DPB, RBI, SEBI, IRDAI, TRAI, DoT, PFRDA, MeitY, MCA), optionally filtered by sector: a lookup of who exists and what they cover. To instead work out which of them apply to a specific processing activity, use india_sectoral_check. Stateless lookup: records no decision and leaves no dashboard timeline trace.
india_sectoral_check
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.
vitna
vitna_claim
Ask whether this VITNA account has been claimed by a real person yet. Call this when the user asks about their VITNA account or when you are told evidence is not being kept. Returns { claimed, claim_url: null, claim_note, what_claiming_gets_you }. You are never given the claim link, and you must not look for it: only a person may claim the account that oversees you. If claimed is false, tell the user that the account's evidence is NOT being durably recorded and that they can claim it with the claim link VITNA showed them when the trial started (the stdio server prints it in its MCP server log).
vitna_help
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.
vitna_preflight
SAFETY / OVERSIGHT CHECK before a dangerous or destructive action (shell command, file deletion, DB statement, network call). Call this to have VITNA check the action BEFORE you run it: it flags dangerous shell / SQL / secret-exfil / prompt-injection / suspicious-network patterns and returns { decision: allowed|blocked|flagged }. RESPONSE SHAPE DEPENDS ON THE KEY: an unclaimed trial key gets the decision label only, because the pattern detail is what makes the classifier worth stealing. A claimed key additionally gets threat_category, severity, reason (the rule names that matched, never the matched text), a threats[] array and a redacted echo of what was scanned, plus a signed audit record the user can review. VITNA evaluates and records; it does NOT enforce, so treat blocked / flagged as a stop and get human approval. This is how a user keeps you in check. Heuristic pattern match, not a sandbox: novel or obfuscated payloads can pass.
aadhaar
aadhaar_mask
Mask + Verhoeff-validate an Aadhaar number. Returns masked form, validity, and an owner-scoped reference token. No persistence of the raw value. Stateless validator: records no decision and leaves no dashboard timeline trace.
act
ai_act_classify
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.
breach
breach_classify
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.
consent
consent_check
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 vitna_preflight instead.
cpf
cpf_validate
Validate a Brazilian CPF (mod-11 check digits, rejects all-same). Stateless validator: records no decision and leaves no dashboard timeline trace.
dpia
dpia_threshold_check
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.
global
global_compliance_map
Master catalogue of every privacy/security/sectoral regime VITNA has fabric for (28 entries covering 24 named statutes). Stateless lookup: records no decision and leaves no dashboard timeline trace.
gstin
gstin_validate
Validate a GSTIN format + mod-36 check digit; returns state code lookup. Stateless validator: records no decision and leaves no dashboard timeline trace.
iban
iban_validate
Validate an IBAN format + ISO 7064 mod-97 check digit; supports 71 countries. Stateless validator: records no decision and leaves no dashboard timeline trace.
japan
japan_cross_border_status
Before you transfer personal data out of Japan, check the destination country's APPI Art 28 status (adequacy / standard basis / high scrutiny). Pass the ISO-3166 alpha-2 country code. Stateless lookup: records no decision and leaves no dashboard timeline trace.
pan
pan_classify
Classify a PAN entity type from the 4th character (P=Person, C=Company, H=HUF, F=Firm, ...). Stateless validator: records no decision and leaves no dashboard timeline trace.
pii
pii_test
Dry-run VITNA's PII / threat detection on a sample event before you send real data, to preview what would be tagged, how it would be redacted, and whether severity would escalate. Nothing is persisted and nothing is filtered: a safe rehearsal you act on, not an enforced gate — it records no decision and leaves no dashboard timeline trace.
privacy
privacy_notice_get
Generate the operator's jurisdiction-templated privacy notice. Returns markdown or JSON. Called with an API key, the operator's name and contact details appear as placeholders; the signed-in owner gets the real values. Stateless generator: records no decision and leaves no dashboard timeline trace.
sectoral
us_sectoral_check
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.
sin
sin_validate
Validate a Canadian SIN (Luhn checksum); returns series region + masked form. Stateless validator: records no decision and leaves no dashboard timeline trace.
state
us_state_breach_deadline
Quick reference lookup of a single US state's breach-notification window, AG recipient and resident threshold (e.g. 'CA' gives 500 residents, CA AG, without unreasonable delay). This is a static table, not an incident ruling. When you have the actual incident facts and need a reportable / not-reportable decision with reasoning, use breach_classify instead. Stateless lookup: records no decision and leaves no dashboard timeline trace.
sub
sub_processors_register
Return the public sub-processor register (Supabase, Vercel, Resend, etc.). Stateless lookup: records no decision and leaves no dashboard timeline trace.

Endpoints

URLTransportStateLatencyChecked
https://vitna.costrinity.xyz/api/mcp streamable-http answering 57 ms 6 min ago

Alternatives to VITNA – Containment for rogue AI agents

same job, measured the same way
Veridion Nexus
by brano80

Veridion Nexus MCP server - GDPR Art. 44-49 runtime compliance for AI agents

15 installs/wk local only
Aguara MCP
by garagon

Security scanner for AI agent skills and MCP servers

local only
MCP Security Guard
by petrovicistefan

Audit MCP servers for tool poisoning, rug pulls and supply-chain risk (OWASP MCP Top 10).

70 installs/wk local only
Shadowgate MCP
by josephibra

Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.

answering
MCP Server for OSCAL
by dfkunstler

AI agent tools for Open Security Controls Assessment Language (OSCAL)

1 500 installs/wk local only
MCP Server for OSCAL
by awslabs

AI agent tools for Open Security Controls Assessment Language (OSCAL)

local only
Prism Scanner
by aidongise-cell

Security scanner for AI Agent skills, plugins, and MCP servers with A-F grading.

154 installs/wk local only
Palanit Core
by stasxr

Scan MCP servers and agent tool manifests for poisoning, exfiltration, secrets and supply-chain risk

729 installs/wk local only

VITNA – Containment for rogue AI agents — questions

Answers built from our own checks of this server.

What can VITNA – Containment for rogue AI agents do?
It exposes 23 tools, read directly from the server on our last check. Among them: aadhaar_mask, ai_act_classify, breach_classify, consent_check, cpf_validate, dpia_threshold_check and 17 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is VITNA – Containment for rogue AI agents mostly used for?
Its tools cluster around india and vitna. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is VITNA – Containment for rogue AI agents working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 18 of 92 checks got a reply (19.6%), average response time 379 ms. The bar chart above shows every period we have measured.
The registry lists VITNA – Containment for rogue AI agents as active — why does it not respond?
The official MCP registry stores what the author submitted; it does not verify that the server still runs. We check the endpoint ourselves, and this one does not answer. Catalogues that copy the registry without checking will show it as working.
How do I connect VITNA – Containment for rogue AI agents?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does VITNA – Containment for rogue AI agents need an API key?
No. VITNA – Containment for rogue AI agents completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 23 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is VITNA – Containment for rogue AI agents?
It answers our handshake in 379 ms on average, which is faster than 35% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use VITNA – Containment for rogue AI agents?
The npm package @costrinity/vitna-compliance-mcp was installed 38 times in the last week. Week over week that is -92%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is VITNA – Containment for rogue AI agents open source?
The code is open source: it is published under the MIT licence, written in TypeScript, 0 stars on GitHub and 1 open issue. The licence covers the code in the repository, not the hosted service at vitna.costrinity.xyz, which runs on its operator's own terms.