blackwall-mcp
blackwall-mcp is a guardrail MCP server that pre-checks irreversible or high-stakes actions for AI agents, preventing disasters like unintended data loss, unauthorized payments, or harmful content posting.
Core capabilities:
Pre-action risk assessment (
forecasttool): Before any risky action (sending emails, making payments, running SQL, deleting files, posting content, calling external APIs), submit the action and parameters to receive:A risk score (0–100)
A recommendation:
GO,CAUTION, orSTOPNamed red flags identifying specific dangers (e.g., SQL with no WHERE clause, irreversible operations without backups)
A reversibility class, rollback cost estimate, and alternative action suggestions
A cryptographic receipt (Ed25519 signature) for offline audit verification
Post-action outcome reporting (
observetool): Report what actually happened after a decision to close the feedback loop and improve prediction accuracy over time.Observe mode: Logs all forecast results without blocking the agent — useful for safe testing and dashboard review before switching to full enforcement.
Enforcement mode (default): A
STOPverdict blocks the action; the system fails closed if a verdict cannot be obtained (e.g., due to network issues).Contextual awareness: Optionally provide
agent_role,user_intent, andenvironmentto help judge whether an action matches the user's actual intent, with configurablestandardordeepanalysis depth.Node.js/TypeScript integration (
gate()function): Wraps risky actions in an enforceable guard that automatically forecasts, enforces verdicts, runs the allowed action, and reports the outcome.Broad compatibility: Supports Claude Desktop, Cursor, Claude Code, Windsurf, and any agent framework with MCP support.
blackwall-mcp
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_….
Related MCP server: MCP Permission Guard
2. Add the server to your MCP host
Claude Desktop
Edit 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" }
}
}
}Restart Claude Desktop. You'll see a forecast tool available.
Cursor
Settings → MCP → Add new global MCP server, then in 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-mcpRun locally (any host / testing)
BLACKWALL_API_KEY=bw_live_your_key_here npx -y blackwall-mcp3. 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
Parameter | Type | Required | Description |
| string | ✅ | The action type, e.g. |
| object | ✅ | Concrete parameters: recipient, |
| object | — | Optional: |
|
| — | Analysis depth. |
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/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.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.
{
"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. ReturnsGO/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.
npm i blackwall-mcpimport { 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:
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/verifywith{ 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 var | Required | Default | Notes |
| ✅ | — |
|
| — |
| |
| — |
|
|
Links
Site & docs: https://blackwalltier.com
Get a key: https://blackwalltier.com/dashboard/keys
MIT licensed.
Available Tools
1 toolforecastBLACK_WALL pre-action risk checkA
Call this BEFORE taking ANY irreversible or high-stakes action — sending an email, making a payment, running SQL, deleting files or data, posting public content, calling an external API that changes state. It returns a risk score (0–100), a recommendation (GO / CAUTION / STOP), and named red flags. If the recommendation is STOP, do not take the action — surface the flags to the user instead. If CAUTION, confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | The action about to be taken, e.g. 'send_email', 'make_payment', 'run_sql', 'delete_file', 'delete_database', 'post_content', 'api_call'. | |
| inputs | Yes | The concrete parameters of the action: recipient, amount_usd, SQL statement, file path, message body, URL, etc. Include everything relevant to judging risk. | |
| context | No | Optional situational context: { agent_role, user_intent, environment } — helps the model judge whether the action fits the intent. | |
| depth | No | Analysis depth. 'standard' (default) or 'deep' (more thorough, costs more). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explains the return values but does not explicitly state that the tool is read-only or non-destructive. While the name 'forecast' implies safety, the description could be clearer about its lack of side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that is well-structured and front-loaded with the main directive. It is slightly verbose but contains essential guidance; minor conciseness improvements could be made.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all necessary aspects: when to use, what parameters are for, what output to expect, and how to handle results. Given no output schema, it adequately describes the return structure and action protocol.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add significant meaning beyond what the schema already provides for each parameter; it gives examples in the overview but not per-parameter elaboration.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: a pre-action risk check to be called before irreversible or high-stakes actions. It lists specific examples and explains the output, making it distinct and clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool ('BEFORE taking ANY irreversible or high-stakes action') and provides actionable guidance on how to interpret the recommendation (STOP, CAUTION, GO). This is comprehensive and leaves no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
1 tool update
v1.0.7- First observed
forecast
TDQS
Only one tool exists, so there is no possibility of ambiguity.
The single tool name 'forecast' is concise and follows a clear verb pattern, which is trivially consistent.
A single generic risk assessment tool seems under-scoped for the stated domain of any irreversible action; typically 3-15 tools would be expected.
The tool covers a broad need but lacks domain-specific variations or configuration options, leaving notable gaps for nuanced use cases.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Deterministic runtime safety for AI agents: scan PII, gate tool actions, verify LLM output.
Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.
See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.
Zero-trust gateway for AI agents: score tool calls, verify agent cards, enforce policy, audit.
Related MCP Servers
- FlicenseNot gradedqualityFmaintenanceA secure middleware that intercepts AI agent tool calls to evaluate risks and manage human-in-the-loop approvals via durable Inngest workflows. It ensures compliance with standards like the EU AI Act by pausing high-risk actions until authorized by a human reviewer.1-
- AlicenseNot gradedqualityCmaintenanceA pre-action authorization server for AI agents that classifies tool calls into 14 intent categories, scores risk 0-100, and produces deterministic allow/deny/ask decisions with full audit trail.MIT
- AlicenseNot gradedqualityBmaintenanceDeterministic policy enforcement for AI agent tool calls. It evaluates every tool call against user-defined rules before execution, with no LLM in the authorization path.3MIT
- AlicenseNot gradedqualityAmaintenanceProvides AI agents with a transparent proxy and journal for every tool action, including pre-state snapshots and approval gates for risky operations. Enables per-action undo, rewind to a point in time, and a kill switch that agents cannot override.15Business Source 1.1
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bluetieroperations-create/blackwall-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server