
Air Blackbox
io.github.shotwelljPublished by GitHub account shotwelljv0.1.2Updated Oct 26, 2026
EU AI Act compliance scanner for Python AI agents — scan, analyze, and remediate
Overview
Local Python MCP server that scans AI agent code for EU AI Act and GDPR compliance issues and suggests or generates fixes.
- What you can do
- Scan code strings, single files or whole project directories for EU AI Act article violations
- Analyze code with a local Ollama model, detect prompt injection patterns and classify tool risk levels
- Generate remediation: trust layer integration code and article-specific fix suggestions
- Explain EU AI Act articles and produce full markdown compliance reports
- With the full SDK: run GDPR scans, bias and fairness analysis, validate agent actions before execution, and review past scan history and trends
- When to use it
- Useful when you are building or auditing Python AI agents (LangChain, CrewAI, AutoGen, OpenAI and similar) and want compliance findings, fixes and reports without leaving your assistant. Also handy for checking text for prompt injection or classifying the risk level of a tool before an agent calls it.
- Requirements
- Runs as a local process via pip install air-blackbox-mcp (Python, launched as python3 -m air_blackbox_mcp). The optional [full] extra installs the air-blackbox SDK for 14 tools and multi-language scanning; the base install covers Python only. Deep model analysis needs Ollama with the air-compliance-v2 model pulled. No accounts, API keys or environment variables are declared.
Installation
In SourceWeft
- Open Air Blackbox in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
AIR Blackbox MCP Server
EU AI Act compliance scanning for Claude Desktop, Claude Code, Cursor, and any MCP-compatible client.
Unlike other compliance scanners that only report problems, AIR Blackbox also remediates - generating working code fixes, trust layer integrations, GDPR compliance checks, bias analysis, and full compliance reports. Under the hood, the scanning feeds into air-trust, a cryptographic audit chain (HMAC-SHA256) with Ed25519 signed handoffs that ensures compliance data integrity.
14 Tools (10 base + 4 SDK-powered)
Supported Frameworks
LangChain, CrewAI, AutoGen, OpenAI, Haystack, LlamaIndex, Semantic Kernel, Google ADK, Claude Agent SDK, and generic RAG pipelines.
Installation
Recommended (14 tools, every language)
Installs the air-blackbox SDK (>=1.17,<2). The scanning tools then run
the same engine as the air-blackbox CLI and read Python, Jupyter
notebooks, TypeScript, JavaScript, Java and Kotlin, with the same verdict
the CLI gives the same code. The floor is the version this package is tested
against, and the major cap means a 2.x SDK cannot silently change your
findings.
Basic (10 tools, Python only)
Works standalone with the lightweight built-in scanner: Python files only, a smaller rule set.
MCP SDK compatibility (mcp 2.0)
This package supports both MCP SDK generations — mcp>=1.0, no upper bound.
mcp 2.0 removed mcp.server.fastmcp and replaced FastMCP with MCPServer.
Rather than pin away from it, the server detects which generation is installed
and binds to the right class, so it runs on 1.x and 2.x alike:
Both paths are covered by tests that launch python -m air_blackbox_mcp as a
real subprocess and drive it over stdio — the same way Claude Desktop and
Cursor do — and the full suite runs green on both.
If you are on 0.2.3, upgrade. That version declared an unpinned
mcp>=1.0.0, so once mcp 2.0 shipped, every fresh install produced a server
that died on import:
0.2.4 fixed it by capping at mcp<2; 0.3.0 removes the cap entirely, so this
server no longer conflicts with anything built for mcp 2.x sharing the same
environment.
Claude Desktop Setup
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
Restart Claude Desktop. The 14 tools will appear automatically.
Claude Code / Cursor Setup
Add to .cursor/mcp.json in your project:
Or add to .claude/mcp.json for Claude Code.
Usage Examples
In Claude Desktop, Claude Code, or Cursor, just ask:
- "Scan this code for EU AI Act compliance"
- "Add a trust layer to this LangChain agent"
- "Check this text for prompt injection"
- "What does Article 12 require?"
- "Generate a compliance report for ~/myproject"
- "Classify the risk level of
send_email" - "Scan this code for GDPR issues" (requires full SDK)
- "Check for bias in this AI model code" (requires full SDK)
- "Can my agent call this shell function?" (requires full SDK)
- "Show me my compliance trends" (requires full SDK)
SDK Features (Optional)
The full air-blackbox SDK unlocks 4 additional tools:
-
GDPR Scanning (
scan_gdpr)- Personal data handling without consent
- Data retention and erasure policies
- Cross-border transfer safeguards
- Data processing agreements
-
Bias Analysis (
scan_bias)- Disparate impact risk detection
- Protected attribute handling
- Training data bias indicators
- Fairness metric awareness
-
Action Validation (
validate_action)- Pre-execution approval gates (Article 14)
- ConsentGate policy enforcement
- Risk-based action filtering
- Audit trail generation
-
Compliance History (
compliance_history)- Track past scan results
- Analyze compliance trends
- Export audit trails
- Monitor improvement over time
Optional: Deep Analysis with Ollama
For AI-powered analysis beyond regex patterns:
What Makes This Different
Other MCP compliance tools only scan. AIR Blackbox:
- Scans + Remediates - finds issues across 6 EU AI Act articles AND generates working code fixes
- Analyzes deeply - regex patterns + AI-powered model analysis + prompt injection detection (15 patterns)
- Validates before execution - pre-approval gates and risk classification for agent actions (Article 14)
- Tracks compliance - GDPR checks, bias analysis, full reports, and historical trend monitoring (SDK)
Architecture
Which engine runs is decided once, at import, by what is installed, and every result says which one ran. Until 0.4.0 the scanning tools always used the built-in scanner even when the SDK was installed; the two had drifted (fewer checks here, Python only, and a hiring-detection bug the SDK had fixed), so the same code got different verdicts from the CLI and from Claude.
The choice is made when the server starts, not per call, and provenance.engine
names it on every result, so two reports are comparable exactly when their
engine and ruleset_version match.
Result provenance
Because a compliance finding is only comparable to another if you know what
produced it, every machine-readable result carries a provenance block:
engine—builtin-rulesorair-blackbox-sdk, whichever actually ran.ruleset_version— a content hash of the active rules, not a hand-maintained string. Change a regex and it changes by itself; a version someone must remember to bump is one that eventually misreports which rules ran.sdk_version— the SDK that produced this result, so it isnullfor built-in results even when the SDK is installed alongside. Reporting a version that contributed nothing would imply its rules ran.
Two reports with the same engine + ruleset_version were produced by
byte-identical rules and can be diffed directly. Different values mean the
rules moved, and the diff needs that context to be meaningful.
Errors carry provenance too — knowing which version produced an error is as useful as knowing which version produced a finding.
Install [full] to unlock the Tier 5 SDK tools; the base install works
standalone.
Part of AIR Blackbox
This MCP server is part of the AIR Blackbox ecosystem:
- air-trust on PyPI - the cryptographic audit chain that backs compliance scanning
- air-blackbox on PyPI - the full compliance SDK and CLI scanner
- airblackbox.ai - the project homepage and docs
Links
Source: README.md at commit 93fe8e5
Tools
0Version history
1- v0.1.2LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts