Repository navigation
Merge superuser MCP server into main (mcp<2 pin, CI) - #15
Merged
Merged
Conversation
…ails Implements an MCP server that exposes sysadmin 'superuser' tools (shell, system status, GitHub) behind a single guard that enforces: - Cisco AI Defense inspection of every tool call and response (agentsec runtime protection + explicit MCPInspectionClient), with graceful degradation when the SDK/credentials are absent - a human-approval gate for risky actions - a dangerous-command denylist and allowlist-based risk classification - least-privilege, fail-closed GitHub access - an append-only, secret-redacting audit log Includes tests (9 passing), ruff-clean source, README, and example config. Co-authored-by: fitzyracing1 <fitzyracing1@users.noreply.github.com>
Extends the guard pipeline with two enterprise layers: - Cisco Duo Agentic Identity authorization (authz.py): the agent authenticates as a registered non-human identity via the OAuth 2.1 client-credentials grant (with RFC 8707 resource indicator) and authorizes each tool call by scope or via an explicit Duo decision endpoint. Fails closed in enforce mode; degrades to 'governed: false' when unconfigured. - Stripe usage-based billing (billing.py): each authorized, successful tool call emits a v2 meter event with per-tool weighting. Best-effort — never blocks or fails a tool call. Guard order is now: AI Defense inspect -> Duo authorize -> approval gate -> execute -> AI Defense response inspect -> Stripe meter -> audit. Adds config, CLI --check output, security_status fields, example config, README docs, and tests (16 passing, ruff clean). Co-authored-by: fitzyracing1 <fitzyracing1@users.noreply.github.com>
Document the exact console-value to env-var mapping for all three external services, including where to find each value in the Duo Admin Panel and the scope->tool mapping. Link it from the README. Co-authored-by: fitzyracing1 <fitzyracing1@users.noreply.github.com>
- server.json: registry metadata for io.github.fitzyracing1/superuser (pypi package 'superuser', stdio transport, documented env vars); validated against the official registry schema. - README: add 'mcp-name' ownership-verification marker for the PyPI package. - .github/workflows/publish-mcp.yml: on a v* tag, sync version, build, publish to PyPI via OIDC trusted publishing, then publish metadata to the MCP Registry via mcp-publisher (github-oidc). Co-authored-by: fitzyracing1 <fitzyracing1@users.noreply.github.com>
…olete merge-sync-audit workflow, add CI
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings the superuser MCP server (PR #1 branch + mcp<2 pin) to main. README documents install from git and env vars and links the landing site (fitzyracing1/super-landing). index.html now redirects to the landing site; google verification file kept. Obsolete/invalid merge-sync-audit workflow removed; pytest CI added. Old site preserved at tag site-v1 / branch site-archive.