Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Permission-gated superuser (sysadmin) MCP agent with enterprise guardrails and audit.
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.
SUPERUSER_HUMAN_OWNER, SUPERUSER_APPROVAL_AT, AI_DEFENSE_INSPECTION_API_KEY, DUO_TOKEN_URL, DUO_CLIENT_ID, DUO_CLIENT_SECRET, STRIPE_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
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": {
"superuser": {
"command": "uvx",
"args": [
"superuser"
],
"env": {
"SUPERUSER_HUMAN_OWNER": "your-value",
"SUPERUSER_APPROVAL_AT": "your-value",
"AI_DEFENSE_INSPECTION_API_KEY": "your-value",
"DUO_TOKEN_URL": "your-value",
"DUO_CLIENT_ID": "your-value",
"DUO_CLIENT_SECRET": "your-value",
"STRIPE_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add superuser --env SUPERUSER_HUMAN_OWNER=your-value --env SUPERUSER_APPROVAL_AT=your-value --env AI_DEFENSE_INSPECTION_API_KEY=your-value --env DUO_TOKEN_URL=your-value --env DUO_CLIENT_ID=your-value --env DUO_CLIENT_SECRET=your-value --env STRIPE_API_KEY=your-value -- uvx superuserFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"superuser": {
"command": "uvx",
"args": [
"superuser"
],
"env": {
"SUPERUSER_HUMAN_OWNER": "your-value",
"SUPERUSER_APPROVAL_AT": "your-value",
"AI_DEFENSE_INSPECTION_API_KEY": "your-value",
"DUO_TOKEN_URL": "your-value",
"DUO_CLIENT_ID": "your-value",
"DUO_CLIENT_SECRET": "your-value",
"STRIPE_API_KEY": "your-value"
}
}
}
}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": {
"superuser": {
"type": "stdio",
"command": "uvx",
"args": [
"superuser"
],
"env": {
"SUPERUSER_HUMAN_OWNER": "your-value",
"SUPERUSER_APPROVAL_AT": "your-value",
"AI_DEFENSE_INSPECTION_API_KEY": "your-value",
"DUO_TOKEN_URL": "your-value",
"DUO_CLIENT_ID": "your-value",
"DUO_CLIENT_SECRET": "your-value",
"STRIPE_API_KEY": "your-value"
}
}
}
}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.
SUPERUSER_HUMAN_OWNER envSUPERUSER_APPROVAL_AT envDUO_TOKEN_URL envDUO_CLIENT_ID envThese 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 fitzyracing1, 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.
You need to fill in: AI_DEFENSE_INSPECTION_API_KEY, DUO_CLIENT_SECRET, STRIPE_API_KEY
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 (0.1.0) reached the registry 15 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, HotCodePush
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.
Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.
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.
A permission-gated superuser agent exposed over the Model Context Protocol (MCP). It gives an AI agent real system-administration powers on this machine — running shell commands, checking system state, and acting on GitHub — while wrapping every action in guardrails: a dangerous-command denylist, a human-approval gate for risky operations, least-privilege GitHub access, an append-only audit log, and Cisco AI Defense runtime inspection of every tool call and response.
The design goal is the version of a "superuser agent" you can actually ship: powerful, but safe, auditable, and compatible with enterprise guardrails.
Landing site: https://fitzyracing1.github.io/super-landing/ (source: fitzyracing1/super-landing).
The previous Pages site in this repo is preserved at tag
site-v1/ branchsite-archive.
An agent that can do *anything* as root is a liability, not a product. Buyers (and marketplace security reviews) expect scoping, approvals, and an audit trail. So capabilities here always pass through a single choke point — the Guard — which enforces, in order:
approval_required_at (default MEDIUM) needs an explicit confirm=true from a human.human owner -> agent -> tool -> action -> outcome.This mirrors the enterprise model: your app owns scoping + approvals + local audit; Cisco AI Defense provides runtime threat inspection at the MCP layer; Cisco Duo Agentic Identity provides per-tool-call authorization tied to an accountable human owner; and Stripe turns metered tool calls into revenue.
Duo follows a "Duo decides, the gateway enforces" model. This agent registers as a non-human identity, authenticates via the OAuth 2.1 client-credentials grant (with an RFC 8707 resource indicator), and authorizes every tool call either by matching the tool's required scope against what Duo granted, or by calling an explicit Duo decision endpoint. Set DUO_ENABLED=true plus DUO_TOKEN_URL / DUO_CLIENT_ID / DUO_CLIENT_SECRET (see .env.example). When Duo is not configured, calls are allowed but flagged governed: false; in enforce mode authorization errors fail closed.
Each authorized, successful tool call emits a Stripe meter event (v2 billing meter events API), so the agent can be sold per-action. Configure a meter in Stripe, then set STRIPE_ENABLED=true, STRIPE_API_KEY, STRIPE_CUSTOMER_ID, and STRIPE_METER_EVENT_NAME. Per-tool weights let higher-risk actions cost more. Billing is best-effort: metering failures are logged and never block or fail the tool call (results are annotated billed: true|false).
| Tool | Risk | Notes |
|---|---|---|
system_status | LOW | Host, CPU, memory, uptime |
disk_usage | LOW | Per-partition disk usage |
list_processes | LOW | Top processes by memory/cpu |
run_command | HIGH* | Shell command; denylist + approval + audit |
github_get_repo | LOW | Repo metadata (allowlisted repos only) |
github_list_issues | LOW | Issues for an allowlisted repo |
github_create_issue_comment | HIGH | Write; needs approval + GITHUB_ALLOW_WRITES |
security_status | — | Reports the active guardrail configuration |
\* run_command is LOW risk only when its base command is in command_allowlist; otherwise HIGH (requires confirm=true).
Not yet on PyPI. Install straight from git:
pip install "superuser @ git+https://github.com/fitzyracing1/Super.git"
pip install "superuser[all] @ git+https://github.com/fitzyracing1/Super.git" # + Cisco AI Defense + Stripe SDKs
From a clone:
Requires Python 3.10+.
pip install -e . # core agent (Duo authz uses requests; no extra dep)
pip install -e '.[security]' # + Cisco AI Defense SDK (cisco-aidefense-sdk) pip install -e '.[billing]' # + Stripe SDK (usage-based billing) pip install -e '.[all]' # security + billing pip install -e '.[dev]' # + pytest / ruff
Copy .env.example to .env (or use a YAML file — see superuser.example.yaml) and set values. Key settings:
SUPERUSER_HUMAN_OWNER — the human accountable for the agent's actions.SUPERUSER_APPROVAL_AT — risk threshold for the approval gate (LOW…CRITICAL).AI_DEFENSE_* — Cisco AI Defense credentials/mode (see below).DUO_* — Cisco Duo Agentic Identity authorization (see below).STRIPE_* — Stripe usage-based billing (see below).GITHUB_TOKEN, GITHUB_ALLOWED_REPOS, GITHUB_ALLOW_WRITES — least-privilege GitHub.For a full console-value → env-var mapping for all three services, see
docs/INTEGRATIONS.md.
Install the SDK (pip install 'superuser[security]') and provide credentials:
AI_DEFENSE_INSPECTION_API_KEY.agentsec.protect() auto-patches LLM + MCP clients): set AI_DEFENSE_API_MODE_LLM_ENDPOINT + AI_DEFENSE_API_MODE_LLM_API_KEY, or point AI_DEFENSE_AGENTSEC_CONFIG at an agentsec.yaml (see agentsec.example.yaml).AI_DEFENSE_MODE: enforce (block), monitor (log only), or off.If the SDK is not installed or no credentials are set, the agent still runs but every result is annotated protected: false / UNPROTECTED — the gap is never silent. In enforce mode, inspection errors fail closed (the call is blocked); in monitor mode they fail open (logged, allowed).
| Area | Variables |
|---|---|
| Core | SUPERUSER_CONFIG, SUPERUSER_HUMAN_OWNER, SUPERUSER_APPROVAL_AT, SUPERUSER_COMMAND_TIMEOUT, SUPERUSER_AUDIT_LOG |
| Cisco AI Defense | AI_DEFENSE_ENABLED (default true; set false for local dev), AI_DEFENSE_MODE, AI_DEFENSE_INSPECTION_API_KEY, AI_DEFENSE_API_MODE_LLM_ENDPOINT, AI_DEFENSE_API_MODE_LLM_API_KEY, AI_DEFENSE_AGENTSEC_CONFIG |
| Cisco Duo | DUO_ENABLED, DUO_MODE, DUO_AGENT_ID, DUO_TOKEN_URL, DUO_CLIENT_ID, DUO_CLIENT_SECRET, DUO_AUTHORIZATION_URL, DUO_RESOURCE, DUO_SCOPES |
| Stripe | STRIPE_ENABLED, STRIPE_API_KEY, STRIPE_CUSTOMER_ID, STRIPE_METER_EVENT_NAME, STRIPE_DEFAULT_VALUE |
| GitHub | GITHUB_TOKEN, GITHUB_ALLOWED_REPOS, GITHUB_ALLOW_WRITES, GITHUB_API_URL |
With no keys set the server still runs: Duo and Stripe are off by default, and Cisco AI Defense runs unprotected (clearly flagged) if the SDK/keys are missing.
# Validate configuration and print guardrail/Cisco status, then exit:
superuser --check
superuser
Example client config (stdio):
{
"mcpServers": { "superuser": { "command": "superuser", "env": { "SUPERUSER_HUMAN_OWNER": "you@example.com", "AI_DEFENSE_MODE": "enforce", "AI_DEFENSE_INSPECTION_API_KEY": "..." } } } }
pytest
.env / *.yaml config files out of version control (already in .gitignore).Apache-2.0.
This project is free, and its license stays as is. Support it through GitHub Sponsors: