Blackwall

com.blackwalltier由 blackwalltier.com 发布v1.4.2更新于 Oct 24, 2026

API-key pre-action risk gate: any irreversible agent action (money, SQL, delete, email).

发布方自己的服务:Blackwall X402 Guardrail

已验证STDIO仅桌面开发者工具安全与监控

概览

AI 生成的概览

本地 MCP 护栏,在智能体执行高风险操作前评分,并返回 GO、CAUTION 或 STOP 结论及风险标记。

可以做什么
对计划中的不可逆操作(发邮件、转账、执行 SQL、删除文件、发布内容)做预测,返回风险分、可逆性等级、建议和具名风险标记,以及可审计的签名回执编号。事后用预测编号上报实际结果,以便跟踪预测准确度。可运行在 observe 模式,只评分和记录而从不阻止;或 enforce 模式,让结论阻止操作。JS/TS 智能体还可选用随包提供的 gate 封装在代码中强制执行检查。
适用场景
适用于智能体可能执行后果严重、难以撤销的操作,且你希望在执行前做风险检查并留下审计记录的场景。observe 模式适合先观察本可拦截哪些操作,再决定是否启用阻止。
运行要求
以 stdio 本地运行,通常通过 npx 和 Node.js 启动。需要从服务商控制台获取 BLACKWALL_API_KEY 并设为环境变量。可选 BLACKWALL_MODE(observe 或 enforce)和 BLACKWALL_BASE_URL。需能访问服务商 API 的网络;免费额度约每月 100 次预测。
安装前请注意
提交的操作细节(如收件人、金额、SQL 语句、文件路径、消息正文)会发送到第三方服务进行评分。API 密钥属于机密,应避免写入共享配置。enforce 模式下结论可阻止智能体操作;库中的 gate 默认失败即关闭,服务不可达时会阻止操作,除非设置 failOpen。免费版回执保留时间有限。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Blackwall,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

blackwall-mcp

[Glama quality]

A guardrail for AI agents, as an MCP server. Your agent calls one tool — forecast — before any irreversible action (send email, move money, run SQL, delete data, post content). It gets back a risk score (0–100), a reversibility class, a GO / CAUTION / STOP recommendation, and named red flags in a few seconds (~4-8s).

Works in any MCP host: Claude Desktop, Claude Code, Cursor, Windsurf, and any agent framework with MCP support.

The wall between your agent and disaster. A BLUETIER product.


1. Get an API key

Sign up free at https://blackwalltier.com → Dashboard → API keys → Create key. Free tier: ~100 forecasts/month, no card. Your key looks like bw_live_….

2. Add the server to your MCP host

Claude Desktop

Edit claude_desktop_config.json (Settings → Developer → Edit Config):

json
{  "mcpServers": {    "blackwall": {      "command": "npx",      "args": ["-y", "blackwall-mcp"],      "env": { "BLACKWALL_API_KEY": "bw_live_your_key_here" }    }  }}

Restart Claude Desktop. You'll see a forecast tool available.

Cursor

Settings → MCP → Add new global MCP server, then in mcp.json:

json
{  "mcpServers": {    "blackwall": {      "command": "npx",      "args": ["-y", "blackwall-mcp"],      "env": { "BLACKWALL_API_KEY": "bw_live_your_key_here" }    }  }}

Claude Code

bash
claude mcp add blackwall -e BLACKWALL_API_KEY=bw_live_your_key_here -- npx -y blackwall-mcp

Run locally (any host / testing)

bash
BLACKWALL_API_KEY=bw_live_your_key_here npx -y blackwall-mcp

3. Use it

Once added, instruct your agent: "Before any irreversible action, call the forecast tool and stop if it returns STOP." The model will call it automatically when it's about to do something risky.


The forecast tool

ParameterTypeRequiredDescription
actionstring✅The action type, e.g. send_email, make_payment, run_sql, delete_file, post_content
inputsobject✅Concrete parameters: recipient, amount_usd, SQL statement, file path, message body, URL, etc.
contextobject—Optional: { agent_role, user_intent, environment }
depthstandard | deep—Analysis depth. standard is the default.

Returns: recommendation (GO/CAUTION/STOP), risk_score (0–100), reversibility (class + rollback cost), gate (proceed/confirm/human-required), confidence, red_flags[], predicted_result, alternative_actions[].

Example

Agent about to run DELETE FROM users; (no WHERE clause) →

🛑 BLACK_WALL: STOP — risk 99/100Red 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 pathGuidance: DO NOT take this action. Surface the red flags to the user.

Observe mode — try it with zero risk

Not ready to let a guardrail block your agents? Start in observe mode. It scores and logs every action but never tells the agent to stop — your agents behave exactly as they do today. After a week, review your dashboard and see what it would have caught.

json
{  "mcpServers": {    "blackwall": {      "command": "npx",      "args": ["-y", "blackwall-mcp"],      "env": {        "BLACKWALL_API_KEY": "bw_live_your_key_here",        "BLACKWALL_MODE": "observe"      }    }  }}

Then see "what your agents almost did" in your dashboard. Flip BLACKWALL_MODE to enforce (or just remove it — enforce is the default) when you're ready to actually block.

Two tools

The server exposes two MCP tools:

  • forecast — pre-action risk check. Returns GO / CAUTION / STOP, risk score, named red flags, reversibility class, and a verifiable receipt.
  • observe — post-action outcome report. Tells BLACK_WALL what actually happened after the action ran (or after the agent obeyed a STOP verdict). Closes the loop so the system can track prediction accuracy over time. FREE — no tokens charged.

Wire your agent to call forecast before any irreversible action, then call observe afterwards with the forecast_id from the original response. observe accepts an outcome_class (matched / over_scope / under_scope / no_op / diverged / aborted) and optional divergence_severity and details. See the forecast example below; the same wiring applies to observe.

Use it in code — the gate() control (any JS/TS agent)

Running an agent in Node (LangChain, a custom loop, ElizaOS, a cron job)? You don't need an MCP host — call BLACK_WALL straight from the library, and let gate() make the check impossible to skip. One wrap forecasts the action, enforces the verdict (fails closed on STOP / unknown / unreachable), runs your side effect only when allowed, and reports the real outcome with observe automatically.

bash
npm i blackwall-mcp
js
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}

Fails closed by design. If no verdict can be obtained (network / auth / timeout), the action does not run unless you explicitly pass failOpen: true. A risk gate that fails open is not a risk gate. The loop closes itself — gate() calls observe with the actual outcome (matched / diverged / aborted), so your forecasts sharpen over time.

Prefer the lower-level pieces? They're exported too:

js
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' });

Runnable demo: examples/gate-quickstart.mjs.

Decision receipts (cryptographic, verifiable offline)

Every forecast response now includes a receipt field — an Ed25519 signature over canonical SHA-256 hashes of the request + response. Anyone with the published public key can verify offline that BLACK_WALL signed off on a specific (request, response) pair, without trusting our servers.

  • Published keys: https://blackwalltier.com/.well-known/blackwall-signing-keys.json (stable, cacheable)
  • Stateless verify endpoint: POST https://blackwalltier.com/api/v1/receipts/verify with { envelope, request_body, response_body }
  • Hashes only — BLACK_WALL never stores the raw request/response bodies, so receipts give cryptographic audit without payload exposure
  • Free-tier retention: 90 days. Paid: indefinite.

The MCP server surfaces the receipt id in its tool output so your agent can log it for later replay / audit.

Config reference

Env varRequiredDefaultNotes
BLACKWALL_API_KEY✅—bw_live_… from your dashboard
BLACKWALL_BASE_URL—https://blackwalltier.com
BLACKWALL_MODE—enforceobserve = log only, never block

Links

MIT licensed.

来源:README.md,提交 f8750b5

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.4.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Blackwalltier 集成