air-blackbox について
air-blackboxは、Python製AIエージェントのEU AI Act対応を調べるMCPサーバーです。コードのスキャンやリスク検出、修正提案に加え、SDKではGDPR確認、バイアス分析、エンジンとルールセットの履歴記録も利用できます。
主な機能
- 01コード、ファイル、プロジェクトのスキャン
- 02EU AI Actの6条項を確認
- 03プロンプトインジェクション検出とリスク分類
- 04修正案とコンプライアンスレポートの生成
- 05GDPR、バイアス、エージェント操作の確認
- 06履歴と結果の来歴を記録
活用シーン
- 01AIエージェントコードの法令対応確認
- 02スキャン結果に基づくコード修正
- 03実行前のエージェント操作の検証
- 04プロジェクトのスキャン傾向の追跡
MCP 対応
Claude Desktop、Claude Code、CursorなどのMCPクライアントに、コンプライアンスのスキャン、分析、修正、レポート用ツールを提供します。基本インストールでは10個、フルSDKでは14個のツールを利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AIR Blackbox MCP サーバー
Claude Desktop、Claude Code、Cursor、およびMCP互換のすべてのクライアント向けの、EU AI Act準拠スキャンです。
問題を報告するだけの他のコンプライアンススキャナーとは異なり、AIR Blackboxは修正も行います。動作するコード修正、トラストレイヤーの統合、GDPR準拠チェック、バイアス分析、完全なコンプライアンスレポートを生成します。内部では、スキャン結果をair-trustに取り込みます。これは、コンプライアンスデータの完全性を保証する、暗号化監査チェーン(HMAC-SHA256)とEd25519署名付きハンドオフです。
14個のツール(基本10個+SDK対応4個)
| Tier | Tool | What it does | Requires SDK |
|---|---|---|---|
| スキャン | scan_code | コード文字列を対象に、EU AI Actの全6条項をスキャンします(SDK使用時はPython、ノートブック、TypeScript、JavaScript、Java、Kotlin。SDKなしの場合はPythonのみ) | 推奨 |
| スキャン | scan_file | 単一のソースファイルを読み取り、スキャンします | 推奨 |
| スキャン | scan_project | プロジェクトディレクトリを再帰的にスキャンします | 推奨 |
| 分析 | analyze_with_model | ローカルのファインチューニング済みモデル(Ollama)を使用して詳細に分析します | いいえ |
| 分析 | check_injection | プロンプトインジェクション攻撃を検出します(15パターン) | いいえ |
| 分析 | classify_risk | EU AI Actのリスクレベルに基づいてツールを分類します | いいえ |
| 修正 | add_trust_layer | トラストレイヤーの統合コードを生成します | いいえ |
| 修正 | suggest_fix | 条項ごとの修正案を提示します | いいえ |
| ドキュメント | explain_article | EU AI Actの条項を技術的に解説します | いいえ |
| ドキュメント | generate_compliance_report | 完全なMarkdownコンプライアンスレポートを生成します | いいえ |
| GDPR | scan_gdpr | GDPR固有のコンプライアンススキャンを実行します | はい |
| バイアス | scan_bias | バイアスと公平性を分析します | はい |
| 検証 | validate_action | エージェントのアクションを実行前に検証します(第14条) | はい |
| 履歴 | compliance_history | 過去のスキャン、傾向、コンプライアンススコアを表示します | はい |
対応フレームワーク
LangChain、CrewAI、AutoGen、OpenAI、Haystack、LlamaIndex、Semantic Kernel、Google ADK、Claude Agent SDK、および汎用RAGパイプライン。
インストール
推奨(14個のツール、全言語対応)
pip install air-blackbox-mcp[full]
air-blackbox SDK(>=1.17,<2)をインストールします。スキャンツールは
air-blackbox CLIと同じエンジンを実行し、Python、Jupyter
ノートブック、TypeScript、JavaScript、Java、Kotlinを読み取ります。同じコードに対して、CLIと同じ判定結果を返します。最低バージョンはこのパッケージのテスト対象バージョンであり、メジャーバージョンの上限により、2.x SDKによって検出結果が予期せず変わることを防ぎます。
基本(10個のツール、Pythonのみ)
pip install air-blackbox-mcp
軽量な組み込みスキャナーで単独動作します。Pythonファイルのみが対象で、ルールセットもより小規模です。
MCP SDKの互換性(mcp 2.0)
このパッケージは、MCP SDKの両世代に対応しています — mcp>=1.0(上限なし)。
mcp 2.0ではmcp.server.fastmcpが削除され、FastMCPがMCPServerに置き換えられました。
このバージョンを避けるためのバージョン固定は行わず、サーバーがインストール済みの世代を検出して適切なクラスを使用するため、1.xと2.xのどちらでも動作します。
| インストール済み | サーバークラス |
|---|---|
mcp 1.x | FastMCP |
mcp 2.x | MCPServer |
どちらの経路も、python -m air_blackbox_mcpを実際のサブプロセスとして起動し、stdio経由で操作するテストでカバーしています。これはClaude Desktopや
Cursorと同じ方法であり、両方のバージョンで全テストスイートが成功します。
0.2.3をお使いの場合は、アップグレードしてください。 このバージョンでは
mcp>=1.0.0が上限なしで指定されていたため、mcp 2.0のリリース後に新規インストールを行うと、インポート時にクラッシュするサーバーが必ずインストールされていました。
ModuleNotFoundError: No module named 'mcp.server.fastmcp'
pip install --upgrade air-blackbox-mcp
0.2.4ではmcp<2を上限として設定して修正しました。0.3.0ではこの上限を完全に削除したため、このサーバーは同じ環境を共有するmcp 2.x向けのものと競合しなくなりました。
Claude Desktopのセットアップ
~/Library/Application Support/Claude/claude_desktop_config.jsonを編集します。
{
"mcpServers": {
"air-blackbox": {
"command": "python3",
"args": ["-m", "air_blackbox_mcp"]
}
}
}
Claude Desktopを再起動します。14個のツールが自動的に表示されます。
Claude Code/Cursor のセットアップ
プロジェクトの .cursor/mcp.json に追加します。
{
"mcpServers": {
"air-blackbox": {
"command": "python3",
"args": ["-m", "air_blackbox_mcp"]
}
}
}
または、Claude Code 用に .claude/mcp.json に追加します。
使用例
Claude Desktop、Claude Code、または Cursor で、次のように尋ねます。
- 「このコードが EU AI Act に準拠しているかスキャンしてください」
- 「この LangChain エージェントに信頼レイヤーを追加してください」
- 「このテキストにプロンプトインジェクションがないか確認してください」
- 「第 12 条では何が求められていますか?」
- 「~/myproject のコンプライアンスレポートを生成してください」
- 「
send_emailのリスクレベルを分類してください」 - 「このコードに GDPR 上の問題がないかスキャンしてください」(フル SDK が必要)
- 「この AI モデルのコードにバイアスがないか確認してください」(フル SDK が必要)
- 「このエージェントはこのシェル関数を呼び出せますか?」(フル SDK が必要)
- 「コンプライアンスの傾向を表示してください」(フル SDK が必要)
SDK の機能(任意)
フル air-blackbox SDK を使うと、4 つのツールを追加で利用できます。
-
GDPR スキャン(
scan_gdpr)- 同意なしでの個人データの取り扱い
- データの保持および消去ポリシー
- 国境を越える移転の保護措置
- データ処理契約
-
バイアス分析(
scan_bias)- 差別的影響のリスク検出
- 保護対象属性の取り扱い
- トレーニングデータのバイアス指標
- 公平性指標への対応状況
-
アクションの検証(
validate_action)- 実行前の承認ゲート(第 14 条)
- ConsentGate によるポリシー適用
- リスクに基づくアクションのフィルタリング
- 監査証跡の生成
-
コンプライアンス履歴(
compliance_history)- 過去のスキャン結果を追跡
- コンプライアンスの傾向を分析
- 監査証跡をエクスポート
- 時間の経過に伴う改善を監視
任意:Ollama による詳細分析
正規表現パターンを超える AI による分析を行う場合:
# 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
他との違い
他の MCP コンプライアンスツールはスキャンのみを行います。AIR Blackbox は次のことができます。
- スキャン+修正 - EU AI Act の 6 つの条項にわたる問題を検出し、動作する修正コードも生成します
- 詳細な分析 - 正規表現パターン、AI によるモデル分析、プロンプトインジェクション検出(15 パターン)を組み合わせます
- 実行前の検証 - エージェントのアクションに対する事前承認ゲートとリスク分類を行います(第 14 条)
- コンプライアンスの追跡 - GDPR チェック、バイアス分析、完全なレポート、過去の傾向の監視を行います(SDK)
アーキテクチャ
実行するエンジンは、インポート時にインストール状況に基づいて一度だけ決まり、 結果ごとにどのエンジンが実行されたかが示されます。 0.4.0 までは、SDK が インストールされていてもスキャンツールは常に組み込みスキャナーを使用していました。 両者には差が生じており(こちらのチェック項目が少ない、Python のみ対応、 SDK では修正済みの採用検出バグなど)、同じコードでも CLI と Claude で異なる判定が 返されていました。
| ツール | エンジン | SDK がない場合 |
|---|---|---|
scan_code、scan_file、scan_project(および analyze_with_model のルールベース部分) | インストールされている場合は air-blackbox SDK、それ以外は組み込みのルールベーススキャナー | 組み込みスキャナー:Python のみ、小規模なルールセット |
check_injection、classify_risk | 常に組み込みルール | 影響なし |
Tier 5(scan_gdpr、scan_bias、validate_action、compliance_history) | 常にフル air-blackbox SDK | [full] のインストールを促す明示的なエラー |
選択は呼び出しごとではなくサーバーの起動時に行われます。また、各結果の
provenance.engine にエンジン名が記録されるため、engine と
ruleset_version が一致するレポート同士を正確に比較できます。
結果の来歴
コンプライアンス上の検出結果を別の結果と比較できるのは、何によって生成されたかが分かっている場合に限られるため、すべての機械可読な結果には provenance ブロックが含まれます:
{
"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-rulesまたはair-blackbox-sdk。ruleset_version— 手作業で管理される文字列ではなく、有効なルールのコンテンツハッシュです。正規表現を変更すると自動的に変わります。人が忘れずに更新する必要があるバージョンは、いずれ実行されたルールを誤って報告することになります。sdk_version— この結果を生成した SDK のバージョンです。そのため、SDK が併せてインストールされていても、組み込みの結果ではnullになります。何も関与していないバージョンを報告すると、そのルールが実行されたかのような誤解を招きます。
engine と ruleset_version が同じ 2 つのレポートは、バイト単位で同一のルールによって生成されており、そのまま差分を比較できます。値が異なる場合はルールが変更されているため、差分を正しく理解するにはその背景情報が必要です。
エラーにも来歴が含まれます。エラーを生成したバージョンを把握することは、検出結果を生成したバージョンを把握するのと同じくらい有用です。
Tier 5 SDK ツールを利用するには [full] をインストールしてください。基本インストールだけでも単独で動作します。
AIR Blackbox の一部
この MCP サーバーは AIR Blackbox エコシステムの一部です:
- PyPI の air-trust - コンプライアンススキャンを支える暗号化監査チェーン
- PyPI の air-blackbox - コンプライアンス SDK と CLI スキャナーの完全版
- airblackbox.ai - プロジェクトのホームページとドキュメント
リンク
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。