BLACK_WALL — Pre-action risk gate for AI agents について
BLACK_WALLは、AIエージェントの操作前にリスクを評価し、実行・確認・停止の判断を返すMCPリスクチェックサービスです。操作後の報告、記録のみを行うモード、署名付きの判断レシートにも対応します。
主な機能
- 01操作リスクを評価しゲート判定を返す
- 02可逆性と具体的なリスク要因を提示
- 03監視モードで遮断せずに記録
- 04結果報告による予測の追跡
- 05オフライン検証可能な署名付きレシート
活用シーン
- 01送金やデータ削除前のリスク確認
- 02SQL実行や投稿前の確認要求
- 03エージェントの操作を監視してリスクを確認
- 04判断記録の監査レシートを作成
MCP 対応
MCPサーバーは、操作前のリスク確認を行う`forecast`と、操作後の結果を報告する`observe`をMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y blackwall-mcpBLACKWALL_API_KEYシークレットYour BLACK_WALL API key (bw_live_…) from https://blackwalltier.com/dashboard/keysBLACKWALL_MODEobserve (log only, never block) or enforce (default).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| depth | enum | いいえ | 分析の深さ。'standard'(デフォルト)または 'deep'(より詳細で、コストが高い)。standard | deep |
| action | string | はい | 実行予定の操作(例:'send_email'、'make_payment'、'run_sql'、'delete_file'、'delete_database'、'post_content'、'api_call')。 |
| inputs | object | はい | 操作的具体的なパラメーター:宛先、amount_usd、SQL 文、ファイルパス、メッセージ本文、URL など。リスク判断に関係する情報をすべて含めてください。 |
| context | object | いいえ | 任意の状況情報:{ agent_role, user_intent, environment } — 操作が意図に沿っているかをモデルが判断する際に役立ちます。 |
詳細
blackwall-mcp
AI エージェントを守るガードレールとして機能する MCP サーバーです。 エージェントは、取り消し不能な操作(メールの送信、資金の移動、SQL の実行、データの削除、コンテンツの投稿)を行う前に、1 つのツールである forecast を呼び出します。数秒(約 4~8 秒)で、リスクスコア(0~100)、可逆性クラス、GO / CAUTION / STOP の推奨、および名前付きの危険信号が返されます。
Claude Desktop、Claude Code、Cursor、Windsurf をはじめ、MCP に対応したあらゆるエージェントフレームワークで動作します。
エージェントと災害の間に立つ壁。BLUETIER の製品です。
1. API キーを取得する
https://blackwalltier.com で無料登録し、ダッシュボード → API keys → Create key に進みます。
無料プランでは、カード登録なしで月に約 100 回の予測を利用できます。キーは bw_live_… のような形式です。
2. MCP ホストにサーバーを追加する
Claude Desktop
claude_desktop_config.json を編集します(Settings → Developer → Edit Config)。
{
"mcpServers": {
"blackwall": {
"command": "npx",
"args": ["-y", "blackwall-mcp"],
"env": { "BLACKWALL_API_KEY": "bw_live_your_key_here" }
}
}
}
Claude Desktop を再起動します。forecast ツールが使用可能になります。
Cursor
Settings → MCP → Add new global MCP server を選択し、mcp.json に次のように記述します。
{
"mcpServers": {
"blackwall": {
"command": "npx",
"args": ["-y", "blackwall-mcp"],
"env": { "BLACKWALL_API_KEY": "bw_live_your_key_here" }
}
}
}
Claude Code
claude mcp add blackwall -e BLACKWALL_API_KEY=bw_live_your_key_here -- npx -y blackwall-mcp
ローカルで実行する(任意のホスト/テスト用)
BLACKWALL_API_KEY=bw_live_your_key_here npx -y blackwall-mcp
3. 使用する
追加したら、エージェントに次のように指示します。「取り消し不能な操作を行う前に、forecast ツールを呼び出し、STOP が返されたら中止してください。」 リスクのある操作を実行しようとすると、モデルが自動的にこのツールを呼び出します。
forecast ツール
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
action | string | ✅ | 操作の種類。例:send_email、make_payment、run_sql、delete_file、post_content |
inputs | object | ✅ | 具体的なパラメーター:宛先、amount_usd、SQL の statement、ファイルパス、メッセージ本文、URL など |
context | object | — | 任意項目:{ agent_role, user_intent, environment } |
depth | standard | deep | — | 分析の深さ。standard がデフォルトです。 |
戻り値: 推奨(GO/CAUTION/STOP)、risk_score(0~100)、reversibility(クラスとロールバックコスト)、gate(続行/確認/人間による対応が必要)、confidence、red_flags[]、predicted_result、alternative_actions[]。
例
エージェントが DELETE FROM users;(WHERE 句なし)を実行しようとしている場合 →
🛑 BLACK_WALL: STOP — risk 99/100
Red flags:
• [CRITICAL] SQL_NO_WHERE — deletes the entire table, not one row
• [CRITICAL] INTENT_MISMATCH — intent was "remove a single test row"
• [CRITICAL] IRREVERSIBLE_NO_BACKUP — no recovery path
Guidance: DO NOT take this action. Surface the red flags to the user.
監視モード — リスクなしで試す
ガードレールによるエージェントの制止にまだ抵抗がある場合は、監視モードから始めてください。すべての操作をスコア化して記録しますが、エージェントに停止を指示することはありません。エージェントの動作は、これまでとまったく変わりません。1 週間後にダッシュボードを確認し、どの操作が検出されていたかをご覧ください。
{
"mcpServers": {
"blackwall": {
"command": "npx",
"args": ["-y", "blackwall-mcp"],
"env": {
"BLACKWALL_API_KEY": "bw_live_your_key_here",
"BLACKWALL_MODE": "observe"
}
}
}
}
その後、ダッシュボードで 「エージェントが実行しかけたこと」 を確認できます。実際に操作をブロックする準備ができたら、BLACKWALL_MODE を enforce に切り替えてください(または、デフォルトが enforce なので、設定を削除するだけでもかまいません)。
2 つのツール
このサーバーは2 つの MCP ツールを公開します。
forecast— 操作前のリスクチェックです。GO/CAUTION/STOP、リスクスコア、名前付きの危険信号、可逆性クラス、および検証可能なレシートを返します。observe— 操作後の結果レポートです。操作の実行後(またはエージェントが STOP 判定に従った後)に、実際に何が起きたかを BLACK_WALL に伝えます。予測精度を長期的に追跡できるよう、フィードバックループを完結させます。無料 — トークンは消費されません。
エージェントが取り消し不能な操作の前に forecast を呼び出し、その後、最初の応答に含まれる forecast_id を指定して observe を呼び出すよう設定してください。observe は outcome_class(matched / over_scope / under_scope / no_op / diverged / aborted)と、任意の divergence_severity および details を受け付けます。以下の forecast の例をご覧ください。observe も同じ方法で設定できます。
コードで使用する — gate() 制御(あらゆる JS/TS エージェント)
Node でエージェントを実行していますか(LangChain、独自のループ、ElizaOS、cron ジョブなど)?MCP ホストは必要ありません。ライブラリから BLACK_WALL を直接呼び出し、gate() でチェックをスキップできないようにします。ラップするだけでアクションを予測し、判定を適用し(STOP/不明/到達不能の場合はフェイルクローズ)、許可された場合にのみ副作用を実行し、observe によって実際の結果を自動的に報告します。
npm i blackwall-mcp
import { gate, BlackWallBlocked } from 'blackwall-mcp/lib/gate';
// Wrap ANY risky action in a few lines. BLACKWALL_API_KEY lives in the env.
try {
const { result } = await gate(
{ action: 'run_sql', inputs: { statement: sql }, context: { user_intent } },
() => db.query(sql), // your real side effect — only runs if allowed
{ onCaution: (v) => confirmWithHuman(v) }, // CAUTION needs a yes; default = block
);
// ...use result
} catch (e) {
if (e instanceof BlackWallBlocked) {
// STOP, unconfirmed CAUTION, or forecast unavailable → the action NEVER ran
console.error('Blocked:', e.reason, e.verdict?.red_flags);
} else throw e; // a real error thrown by your action
}
設計上、フェイルクローズです。 判定を取得できない場合(ネットワーク/認証/タイムアウト)、明示的に failOpen: true を渡さない限り、アクションは実行されません。フェイルオープンするリスクゲートは、リスクゲートとはいえません。ループは自動的に閉じます。gate() は実際の結果(matched/diverged/aborted)を使って observe を呼び出すため、予測は時間とともに精度が高まります。
より低レベルの機能を使いたい場合は、そちらもエクスポートされています。
import { forecast, observe } from 'blackwall-mcp/lib';
const v = await forecast({ action: 'make_payment', inputs: { amount_usd: 50000 } });
if (v.recommendation === 'STOP') throw new Error('halt');
// ... take the action ...
await observe(v.id, { outcome_class: 'matched' });
実行可能なデモ:examples/gate-quickstart.mjs。
判定レシート(暗号学的、オフラインで検証可能)
すべての forecast レスポンスに receipt フィールドが含まれるようになりました。これはリクエストとレスポンスの正規化された SHA-256 ハッシュに対する Ed25519 署名です。公開鍵を持つ人なら誰でも、サーバーを信頼することなく、特定の(リクエスト、レスポンス)の組み合わせを BLACK_WALL が承認したことをオフラインで検証できます。
- 公開鍵:https://blackwalltier.com/.well-known/blackwall-signing-keys.json(安定しており、キャッシュ可能)
- ステートレスな検証エンドポイント:
POST https://blackwalltier.com/api/v1/receipts/verifyに{ envelope, request_body, response_body }を指定します - ハッシュのみを使用:BLACK_WALL はリクエスト/レスポンスの生の本文を保存しないため、レシートによってペイロードを公開せずに暗号学的監査が可能です
- 無料プランの保持期間:90 日。有料プラン:無期限。
MCP サーバーはツールの出力にレシート ID を表示するため、エージェントが後日の再実行/監査に備えて記録できます。
設定リファレンス
| 環境変数 | 必須 | デフォルト | 備考 |
|---|---|---|---|
BLACKWALL_API_KEY | ✅ | — | ダッシュボードで取得する bw_live_… |
BLACKWALL_BASE_URL | — | https://blackwalltier.com | |
BLACKWALL_MODE | — | enforce | observe = 記録のみ。ブロックしません |
リンク
- サイトとドキュメント:https://blackwalltier.com
- キーを取得:https://blackwalltier.com/dashboard/keys
MIT ライセンスです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。