Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Local guardrail proxy that blocks destructive MCP tool calls, rug pulls, and tool poisoning
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"shield": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/aperionai/shield:shield-v1.0.1"
]
}
}
}Run this in your terminal
claude mcp add shield -- docker run -i --rm ghcr.io/aperionai/shield:shield-v1.0.1Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"shield": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/aperionai/shield:shield-v1.0.1"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"shield": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/aperionai/shield:shield-v1.0.1"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified with the GitHub account AperionAI, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.0.1) reached the registry 5 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Docker on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, Recta
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cheaper cross-chain stablecoin routes for AI agents; 5 % of the verified saving, nothing if none.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Works with:
### ⭐ Star this repo if you think AI agents shouldn't touch prod unsupervised
aperion-shieldis the free reference implementation of consequence-level control for AI coding agents — the layer that stops a destructivetools/call*before* it lands, not a log you read after the damage is done. It's transparent insurance: you don't notice it until the day it saves you.
If that's a problem you take seriously, a ⭐ is the fastest way to help other engineers in regulated and high-stakes shops find it before they need it → [Star aperion-shield on GitHub](https://github.com/AperionAI/shield)
aperion-shield is a tiny, local MCP guardrail that sits between your AI coding agent (Cursor, Claude Code, …) and the real MCP servers your agent talks to (postgres, github, shell, filesystem, …) — local stdio servers *and*, since v0.9, remote Streamable HTTP ones. On every tools/call it evaluates 65+ adaptive safety rules (plus an optional 40-rule community pack) across destructive surfaces — SQL, git, filesystem, secrets exfiltration, supply-chain RCE, reverse shells, sudo / privilege escalation, cloud (AWS/GCP/Azure), Kubernetes, Docker, IAM / cloud privilege escalation, anti-forensics (audit & log tampering), NoSQL / cache / search (Mongo, Redis, Elasticsearch, Cassandra), disabling host security controls, and Windows / PowerShell — and either blocks the call, prompts you for approval, or lets it through with a warning banner. And since v0.9 it watches the other direction too: tool catalogs are TOFU-pinned against rug pulls, descriptions are scanned for tool poisoning, and tool results are scanned for prompt injection. v1.0 completes the story before install and below the protocol: --scan audits an MCP server before you ever wire it in, and --sandbox confines the server *process* at the OS level. And since v1.4, reversible secret cloaking lets your agent reference a real credential as a {{cloak:NAME}} placeholder — the secret is substituted in only on the frame Shield forwards upstream and scrubbed back out of any result, so it never enters the model's context, transcript, or prompt cache. v1.5 adds the seam the August 2026 market actually demos: native Cursor / Claude Code PreToolUse hooks (fail-closed), --scan-ide for TrustFall project MCP + Skills, and curl -fsSL https://shield-get.aperion.ai | sh.
Plus, when you need to prove who approved a destructive call — not just that *someone* did — Shield can gate selected rules behind biometric identity verification (ID.me, or a pluggable OIDC provider). And when you outgrow the single-machine model, the same binary enrolls into a Smartflow control plane with one command to pull org-wide policy, ship audit upstream, and use your existing IdP as the relying party — no rewrite, no re-install.
v1.8 and v1.9 ship together as shield-v1.20.0. Same ask on every host we install hooks for: Claude Code and Gemini get permissionDecision: ask on PreToolUse. Cursor, Codex, and Copilot get permission: ask on beforeShellExecution and beforeMCPExecution, which is the event those hosts actually prompt on. A rule written as Critical (rm -rf /, a reverse shell, an agent editing Shield) is still a hard deny.
curl -fsSL https://shield-get.aperion.ai | sh
aperion-shield --install-agent-hooks aperion-shield --install-guard
A watcher that sits next to the hooks, not in front of them.
AGENTS.md, CLAUDE.md, .cursorrules, .cursor/rules). When one changes it runs the IDE scan again. If an agent deleted Shield's hook entry, the entry is put back. A desktop notification is the alert. No root.--guard-once is a single pass.aperion-shield --install-agent-hooks
aperion-shield --install-guard
A credential read followed by curl is an ask, the same allow/deny card Cursor already shows for a git push. rm -rf /, a reverse shell, and an agent editing Shield's own hooks stay a hard deny.
Shield already stopped a bad tool call before it ran. It did not watch what the agent had just read, so "read .env, then curl it somewhere" got through whenever the two steps were separate. v1.8 closes that on the machine you already installed, with no cloud and no model in the loop.
--install-agent-hooks now also registers Claude/Gemini PostToolUse and Cursor afterShellExecution, afterMCPExecution, and postToolUse (Codex and Copilot get postToolUse). The new --check-hook-post scans that output with the existing tool_result injection rules, tags any credential shape into the taint ledger, and writes a short-lived session flag. Claude can deny and hand the reason back to the model. Cursor's post events cannot deny, so the flag is what the next pre-call acts on. Cursor beforeReadFile is wired too: that event already has the file body and can deny before the model sees it.egress.after_secret_read asks (the IDE allow/deny card) before a network send (curl -d/-F/-T, wget --post-file, nc, socat, remote scp/rsync, git push of a URL, an inline HTTP POST, DNS via $(...)) when this session already read a credential or the taint ledger matches. egress.after_injection asks when the session saw injected tool output. egress.unlisted_host warns on any other send. policy.egress.allow_hosts (or APERION_SHIELD_EGRESS_ALLOW) quiets the warn for known hosts. It does not quiet the two escalations.op read / gh auth token, and dev configs (.npmrc, .pypirc, .netrc, docker, kube, gcloud, wallet paths).shield.self_tamper blocks an agent write or shell call that touches hook configs, ~/.aperion-shield/, SHIELD_HOOKS_DISABLE, SHIELD_SHIMS_DISABLE, or an uninstall flag. It is where: agent_hook, so it does not fire from your own terminal or the shell shims. aperion-shield --summarize still runs.aperion-shield --install-agent-hooks
One cost feature, on the security seam Shield already owns. Most of a coding agent's frontier-model bill is loading files, not thinking about them. v1.7 refuses the load and hands the file to a cheap model instead.
policy.io_offload.min_lines: 350 in your shieldset (or APERION_SHIELD_OFFLOAD_MIN_LINES=350 on one machine) and the PreToolUse hook denies a full Read, cat, less, or head -n 900 of any file over that many lines (rule io.offload_large_read). Targeted reads (offset/limit), pipes, redirects, head/tail with a small -n, binaries, and missing files pass. Off by default: nothing changes for existing installs until you set it./api/offload/summarize, and prints bullets with path:line citations from the efficient model. The expensive model sees a dozen lines instead of a few thousand. Gateway comes from --offload-url / --offload-key, APERION_SHIELD_OFFLOAD_URL / _KEY, or the org-mode enrollment. The saving shows up in FinOps under io_offload.export APERION_SHIELD_OFFLOAD_MIN_LINES=350
aperion-shield --summarize src/proxy_handler.rs --question "where is vkey auth enforced?"
The gate is the hook you already installed and the summarizer is your own governed gateway. Nothing leaves your Smartflow.
v1.5 covered the IDE hook seam and curl | sh. v1.6 fills the leftover holes from that pass:
--sandbox secrets / --sandbox strict now confine the stdio upstream on Linux the way Seatbelt already does on macOS. strict without --sandbox-allow-network refuses to start if the kernel cannot deny TCP. Helper flag --internal-sandbox-exec is not user-facing.--install-shims writes aws.cmd (and friends) so PATHEXT resolves them. Same fail-open / SHIELD_SHIMS_DISABLE=1 contract as the POSIX shims.--install-agent-hooks merges user-level config for those hosts too (Cursor dialect for Codex and Copilot, Claude dialect for Gemini).--scan-ide flags scan.ide.project_hooks.The August 2026 market moved the real attack surface off MCP wrappers. Agents run Bash, Write, and Read as native tools. Project mcp.json can auto-start on folder trust (TrustFall). Snyk Agent Scan walks the whole machine. v1.5 covers those three without a cloud account.
aperion-shield --install-agent-hooks writes fail-closed wrappers and merges user-level Claude Code PreToolUse (~/.claude/settings.json) and Cursor preToolUse (~/.cursor/hooks.json). --check-hook reads the host JSON on stdin and emits the matching deny dialect (they are not interchangeable). SHIELD_HOOKS_DISABLE=1 is the documented bypass. Project-level hook files are left alone on purpose — TrustFall is project-injected.$HOME and the project root, plus SKILL.md trees. Flags unwrapped command-type servers, unpinned npx/uvx, and project-local configs. Skills run through the ATR skill_compromise rules. Nothing is executed. Exit 0/1/2 for CI.curl -fsSL https://shield-get.aperion.ai | sh (same pattern as Halo). Then --install-agent-hooks. Halo's installer now prints that two-liner after a successful Halo install — Shield is not silently bundled.curl -fsSL https://shield-geOnly the beginning is shown; read the rest in the repo