Vaikora › Blog › Product Updates
vaikora-guard-mcp: an open-source MCP proxy that blocks tool calls before they execute
The problem with most AI agent guardrails is where they sit. They log what happened, alert on what already ran, or scan output after the fact. By the time you have a finding, the tool call already executed, the file was already written, the query already returned data.
vaikora-guard-mcp sits in front of the tool call, not behind it.
What it is
vaikora-guard-mcp is an MIT-licensed, self-hostable MCP-compatible proxy written in Python and published on PyPI. It acts as an inline gateway between an AI agent and the tools or LLMs it wants to call. Before any action executes, the proxy checks the request against policy and returns an allow, block, modify, or require-approval decision. If the decision is block, the action never runs.
Identical input always produces an identical decision. That determinism matters for auditability: you can replay a sequence of requests and get the same outcomes every time, which is what a compliance review or incident investigation actually needs.
How the enforcement works
When an agent issues a tool call through the MCP interface, the proxy intercepts it and runs it through six content inspection modules. Those modules check things like the tool being invoked, the parameters being passed, the data types involved, and whether the request matches a configured policy rule.
A concrete example: an agent is configured to query a customer database. The policy says read operations on the `customers` table are allowed, but any query that includes a `DELETE` statement or touches the `payment_info` column requires human approval. A request to run `SELECT * FROM customers WHERE id = 42` passes through. A request to run `SELECT payment_info FROM customers` gets held for approval. A request to run `DELETE FROM customers` is blocked outright, before the database sees it.
That decision, whatever it is, gets written to a SHA-256 hash-chained, tamper-evident audit log. Every entry is signed into the chain, so any modification of a past record is detectable.
Compliance presets and what they cover
The proxy ships with presets for SOC 2, HIPAA, GDPR, PCI DSS, and ISO 27001. A preset is a starting-point policy configuration that maps to the control requirements of that framework. For HIPAA, for example, the preset flags tool calls that would expose or transmit fields that look like protected health information. You can extend or override any preset rule.
This matters because writing policy from scratch for every AI agent deployment is expensive and inconsistent. Starting from a known baseline and adjusting for your environment is faster and produces more auditable results.
Installing and running it
The package is on PyPI:
```
pip install vaikora-guard-mcp
```
From there you configure your policy rules in a YAML file, point the proxy at your tool endpoints, and update your agent to route tool calls through the proxy's MCP interface. No SDK migration is required. The proxy supports adapters for the major hosted model APIs, so existing agent code typically needs no changes beyond the endpoint configuration.
The proxy is self-hosted. Your tool call traffic does not leave your infrastructure. The commercial product, the Vaikora Control Plane hosted by Data443, adds centralized policy management, team-level controls, and integration with platforms like Microsoft Sentinel, CrowdStrike Falcon, SentinelOne, and AWS Security Hub. But the core enforcement runs locally.
What to check before you deploy
Before you put any MCP proxy in front of production agent traffic, work through these:
- Policy coverage: which tools does each agent have access to, and do your rules cover every tool or just the obvious high-risk ones?
- Approval routing: if you use require-approval decisions, where do those requests go, and what is the timeout behavior if no one responds?
- Audit log retention: the hash-chained log is tamper-evident, but you need to decide where it lands and how long you keep it, especially if you are under a framework with defined retention requirements.
- Fallback behavior: what should the proxy do if it cannot evaluate a request (network fault, config error)? Fail open or fail closed? The right answer depends on your risk tolerance, but it needs to be a deliberate choice, not a default you discovered after an incident.
Start by installing vaikora-guard-mcp from PyPI, running it against a non-production agent, and reviewing the audit log output. That review will tell you quickly whether your policy rules match the actual tool calls your agent makes.
See Vaikora enforce policy on your AI
Open-core AI runtime control. Self-host the MIT gateway free, or run the hosted Control Plane.
Get a demo Self-host the gateway
Vaikora