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)
| Tier | Tool | What it does | Requires SDK |
|---|---|---|---|
| Scanning | scan_code |
Scan Python code string for all 6 EU AI Act articles | No |
| Scanning | scan_file |
Read and scan a single Python file | No |
| Scanning | scan_project |
Recursively scan all .py files in a directory | No |
| Analysis | analyze_with_model |
Deep analysis via local fine-tuned model (Ollama) | No |
| Analysis | check_injection |
Detect prompt injection attacks (15 patterns) | No |
| Analysis | classify_risk |
Classify tools by EU AI Act risk level | No |
| Remediation | add_trust_layer |
Generate trust layer integration code | No |
| Remediation | suggest_fix |
Get article-specific fix recommendations | No |
| Documentation | explain_article |
Technical explanation of EU AI Act articles | No |
| Documentation | generate_compliance_report |
Full markdown compliance report | No |
| GDPR | scan_gdpr |
GDPR-specific compliance scan | Yes |
| Bias | scan_bias |
Bias and fairness analysis | Yes |
| Validation | validate_action |
Validate agent actions before execution (Article 14) | Yes |
| History | compliance_history |
View past scans, trends, and compliance scores | Yes |
Supported Frameworks
LangChain, CrewAI, AutoGen, OpenAI, Haystack, LlamaIndex, Semantic Kernel, Google ADK, Claude Agent SDK, and generic RAG pipelines.
Installation
Basic (10 tools, no SDK features)
pip install air-blackbox-mcp
Works standalone with just the lightweight built-in scanner.
Full (14 tools with GDPR, bias, validation, and history)
pip install air-blackbox-mcp[full]
Installs the full air-blackbox SDK (v1.6.3+) for advanced compliance features.
Claude Desktop Setup
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"air-blackbox": {
"command": "python3",
"args": ["-m", "air_blackbox_mcp"]
}
}
}
Restart Claude Desktop. The 14 tools will appear automatically.
Claude Code / Cursor Setup
Add to .cursor/mcp.json in your project:
{
"mcpServers": {
"air-blackbox": {
"command": "python3",
"args": ["-m", "air_blackbox_mcp"]
}
}
}
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:
# Install Ollama
brew install ollama
# Pull the fine-tuned compliance model
ollama pull air-compliance-v2
# The analyze_with_model tool will automatically use it
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 fixed per tool, not a runtime fallback. Earlier versions of this README described a "try the SDK first, fall back to built-in" pattern. That was never what the code did, and it mattered: a reader could not tell whether two reports came from the same rules. The actual behavior:
| Tools | Engine | If the SDK is missing |
|---|---|---|
Tiers 1–4 (scan_code, scan_file, scan_project, check_injection, classify_risk, …) |
Always the built-in rule-based scanner | No effect — these never use the SDK |
Tier 5 (scan_gdpr, scan_bias, validate_action, compliance_history) |
Always the full air-blackbox SDK |
Explicit error telling you to install [full] |
So a given tool produces results from the same engine on every install, and there is no silent switch between engines.
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:
{
"findings": [ ... ],
"provenance": {
"engine": "builtin-rules",
"scanner_version": "0.2.4",
"ruleset_id": "eu-ai-act-art9-15",
"ruleset_version": "cee71577c486",
"sdk_version": null
}
}
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file air_blackbox_mcp-0.2.4.tar.gz.
File metadata
- Download URL: air_blackbox_mcp-0.2.4.tar.gz
- Upload date:
- Size: 28.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb4abf255076b2d2dce6ed75f2b62586e32949458b88e396f79a9540db2c429e
|
|
| MD5 |
75205044f3501935dc60cbfd640843a7
|
|
| BLAKE2b-256 |
ee4af71796541b6f7e7308356e06f46643a2a39a22ec74fd4da94e8e1c324029
|
File details
Details for the file air_blackbox_mcp-0.2.4-py3-none-any.whl.
File metadata
- Download URL: air_blackbox_mcp-0.2.4-py3-none-any.whl
- Upload date:
- Size: 29.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
905cfef9cd9220f81c1428ee92d4fe1f025b682dbf5db9538c45795282fcfddd
|
|
| MD5 |
bd4304ca2a87dce1d116baaf82c45e74
|
|
| BLAKE2b-256 |
aded8764a0e5d321280d62b7c12bd9799bef9bd5a820ef6640a361c35ab3ae1c
|