McpVanguard
An open-source security proxy and active firewall for the Model Context Protocol (MCP).
McpVanguard
A security proxy for AI agents that use MCP
MCP (Model Context Protocol) enables AI agents to interact with host-level tools. McpVanguard interposes between the agent and the system, provide real-time inspection and enforcement prefixing every tool call.
Transparent integration. Zero-configuration requirements for existing servers.
Part of the Provnai Open Research Initiative β Building the Immune System for AI.
β‘ Quickstart
pip install mcp-vanguard
Local stdio wrap (no network):
vanguard start --server "npx @modelcontextprotocol/server-filesystem ."
Cloud Security Gateway (SSE, deploy on Railway):
export VANGUARD_API_KEY="your-secret-key"
vanguard sse --server "npx @modelcontextprotocol/server-filesystem ."
π§ How it works
Every time an AI agent calls a tool (e.g. read_file, run_command), McpVanguard inspects the request across three layers before it reaches the underlying server:
| Layer | What it checks | Latency |
|---|---|---|
| L1 β Safe Zones & Rules | Kernel-level isolation (openat2 / Windows canonicalization) and 50+ deterministic signatures | ~16ms |
| L2 β Semantic | LLM-based intent scoring via OpenAI, MiniMax, or Ollama | Async |
| L3 β Behavioral | Shannon Entropy ($H(X)$) scouter and sliding-window anomaly detection | Stateful |
Performance Note: The 16ms overhead is measured at peak concurrent load. In standard operation, the latency is well under 2msβnegligible relative to typical LLM inference times.
If a request is blocked, the agent receives a standard JSON-RPC error response. The underlying server never sees it.
π‘οΈ What gets blocked
- Sandbox Escapes: TOCTOU symlink attacks, Windows 8.3 shortnames (
PROGRA~1), DOS device namespaces - Data Exfiltration: High-entropy payloads (H > 7.5 cryptographic keys) and velocity-based secret scraping
- Filesystem attacks: Path traversal (
../../etc/passwd), null bytes, restricted paths (~/.ssh), Unicode homograph evasion - Command injection: Pipe-to-shell, reverse shells, command chaining via
;&&\n, expansion bypasses - Network abuse: SSRF, cloud metadata endpoints (AWS/GCP/Azure), hex/octal encoded IPs
- Prompt injection: Jailbreak patterns, instruction-ignore sequences, hidden unicode characters
- Privilege escalation: SUID binary creation,
LD_PRELOADinjection, crontab manipulation
VEX Protocol β Deterministic Audit Log
When McpVanguard blocks an attack, it creates an OPA/Cerbos-compatible Secure Tool Manifest detailing the Principal, Action, Resource, and environmental snapshot.
This manifest is then sent as a cryptographically-signed report to the VEX Protocol. VEX anchors that report to the Bitcoin blockchain via the CHORA Gate.
This means an auditor can independently verify exactly what was blocked, the entropy score, and why β without relying on your local logs.
export VANGUARD_VEX_URL="https://api.vexprotocol.com"
export VANGUARD_VEX_KEY="your-agent-jwt"
vanguard sse --server "..." --behavioral
Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββ
AI Agent β McpVanguard Proxy β
(Claude, GPT) β β
β β βββββββββββββββββββββββββββββββββββββββββββββ β
β JSON-RPC β β L1 β Rules Engine β β
ββββββββββββββββΆβ β 50+ YAML signatures (path, cmd, net...) β β
β (stdio/SSE) β β BLOCK on match β error back to agent β β
β β ββββββββββββββββββ¬βββββββββββββββββββββββββββ β
β β β pass β
β β ββββββββββββββββββΌβββββββββββββββββββββββββββ β
β β β L2 β Semantic Scorer (optional) β β
β β β OpenAI / MiniMax / Ollama scoring 0.0β1.0β β
β β β Async β never blocks the proxy loop β β
β β ββββββββββββββββββ¬βββββββββββββββββββββββββββ β
β β β pass β
β β ββββββββββββββββββΌβββββββββββββββββββββββββββ β
β β β L3 β Behavioral Analysis (optional) β β
β β β Sliding window: scraping, enumeration β β
β β β In-memory or Redis (multi-instance) β β
β β ββββββββββββββββββ¬βββββββββββββββββββββββββββ β
β β β β
ββββ BLOCK ββββββββββββββββββββββββββ€ (any layer) β
β (JSON-RPC β β ALLOW β
β error) β βΌ β
β β MCP Server Process β
β β (filesystem, shell, APIs...) β
β ββββββββββββββββββββ¬βββββββββββββββββββββββββββββββ
β β
βββββββββββββββββ response βββββββββ
β
β (on BLOCK)
ββββββββββββββββΆ VEX API βββΆ CHORA Gate βββΆ Bitcoin Anchor
(async, fire-and-forget audit receipt)
L2 Semantic Backend Options
The Layer 2 semantic scorer supports three LLM backends. Set the corresponding API key to activate a backend β the first available key wins (priority: OpenAI > MiniMax > Ollama):
| Backend | Env Vars | Notes |
|---|---|---|
| OpenAI | VANGUARD_OPENAI_API_KEY, VANGUARD_OPENAI_MODEL | Default model: gpt-4o-mini |
| MiniMax | VANGUARD_MINIMAX_API_KEY, VANGUARD_MINIMAX_MODEL, VANGUARD_MINIMAX_BASE_URL | Default model: MiniMax-M2.5 (204K context). Also available: MiniMax-M2.5-highspeed. API docs |
| Ollama (local) | VANGUARD_OLLAMA_URL, VANGUARD_OLLAMA_MODEL | Default model: phi4-mini. No API key required |
# Example: use MiniMax as semantic backend
export VANGUARD_SEMANTIC_ENABLED=true
export VANGUARD_MINIMAX_API_KEY="your-minimax-key"
vanguard start --server "npx @modelcontextprotocol/server-filesystem ."
Project Status
| Phase | Goal | Status |
|---|---|---|
| Phase 1 | Foundation (Proxy, CLI, Defensive Rules) | [DONE] |
| Phase 2 | Intelligence (L2 Semantic, L3 Behavioral) | [DONE] |
| Phase 3 | Flight Recorder (VEX & CHORA Integration) | [DONE] |
| Phase 4 | Distribution (stable PyPI release) | [DONE] |
| Phase 5 | Production Hardening (v1.1.3 stability) | [DONE] |
| Phase 6 | Security Audit Remediation (v1.1.4 hardening) | [DONE] |
| Phase 7 | Titan-Grade L1 Perimeter (v1.5.0 Forensic Hardening) | [DONE] |
| Phase 8 | Agent Identity & VEX v0.2 Spec | [IN PROGRESS] |
Resources
License
Apache License 2.0 β see LICENSE.
Built by the Provnai Open Research Initiative. "Verifying the thoughts and actions of autonomous agents."
Related Servers
Plex
Provides AI assistants with comprehensive access to a Plex Media Server.
CryptoAPIs MCP Simulate
MCP server for dry-run EVM transaction simulation via Crypto APIs
Turtle Noir
MCP server for Turtle Soup (lateral thinking puzzles). Start sessions, ask questions, get 4-class judgments (Yes/No/Both/Irrelevant), and reveal the full story when allowed.
Relay-gateway
Relay is a desktop application for managing Model Context Protocol (MCP) servers. It provides a user-friendly interface to configure, enable/disable, and export MCP servers for use with Claude Desktop and other AI applications.
IcoGenie MCP
MCP server for AI-powered SVG icon generation. Generate production-ready icons from text descriptions. Supports single icons, bundles, style customization, and regeneration.
Uncyclopedia MCP Server
An MCP server for performing operations on Uncyclopedia with interactive authentication.
rfcxml-mcp
MCP server for structural understanding of RFC documents.
RustChain MCP
MCP server for RustChain Proof-of-Antiquity blockchain and BoTTube AI video platform β 14 tools for wallet management, mining stats, video operations, and agent-to-agent job marketplace.
Trayd
Trade Robinhood with natural language in Claude Code
Transkribus MCP Server
MCP server for the Transkribus REST API β manage collections, documents, HTR/OCR recognition, models, and more. 290 tools across 22 resource domains.