superuser について
superuserは、マシン管理、シェル操作、システム確認、許可リスト内のGitHub操作を行う、権限ゲート付きMCPエージェントです。リスクに応じた承認、コマンド制御、監査ログに加え、Cisco AI Defenseによる検査やCisco Duo認可を設定できます。
主な機能
- 01リスク制御付きのシェルコマンド実行
- 02ホスト、ディスク、プロセス状態の確認
- 03許可リスト内のGitHubリポジトリへのアクセス
- 04高リスク操作に対する人間の承認
- 05追記専用監査ログへの操作記録
- 06Cisco AI Defenseによるツール呼び出しと応答の検査
活用シーン
- 01マシンの状態とリソース使用量の確認
- 02承認済みのシステム管理コマンドの実行
- 03許可リスト内のGitHubリポジトリのIssue確認
- 04エージェント操作と承認結果の監査
MCP 対応
stdioで動作するMCPサーバーとして、システム、シェル、GitHub、安全状態のツールを提供します。中央のGuardが、ツール呼び出しに承認と設定済みの認可・検査制御を適用します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx superuserSUPERUSER_HUMAN_OWNERHuman accountable for the agent's actions (recorded in every audit entry).SUPERUSER_APPROVAL_ATMinimum risk level that triggers the human-approval gate: LOW, MEDIUM, HIGH, or CRITICAL.AI_DEFENSE_INSPECTION_API_KEYシークレットCisco AI Defense Inspection API key for runtime tool-call/response inspection.DUO_TOKEN_URLシークレットCisco Duo OAuth 2.1 token endpoint (client-credentials) for per-tool-call authorization.DUO_CLIENT_IDCisco Duo OAuth client ID for the agent's non-human identity.DUO_CLIENT_SECRETシークレットCisco Duo OAuth client secret.STRIPE_API_KEYシークレットStripe secret API key for usage-based (metered) billing.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
8掲載時のツール一覧 · 5 日前に更新
このツールにパラメーターはありません。
詳細
Super
Model Context Protocol (MCP) 経由で公開される、権限ゲート付きのスーパーユーザーエージェントです。このマシン上でシェルコマンドを実行したり、システムの状態を確認したり、GitHub を操作したりする、実際のシステム管理権限を AI エージェントに提供します。その一方で、危険なコマンドの拒否リスト、リスクの高い操作に対する人間の承認ゲート、最小権限の GitHub アクセス、追記専用の監査ログ、そしてすべてのツール呼び出しと応答を対象とする Cisco AI Defense のランタイム検査によって、あらゆる操作にガードレールを設けています。
設計目標は、実際にリリースできる「スーパーユーザーエージェント」を実現することです。強力でありながら、安全で、監査可能で、エンタープライズのガードレールに対応します。
ランディングサイト: https://fitzyracing1.github.io/super-landing/ (ソース:fitzyracing1/super-landing)。 このリポジトリの以前の Pages サイトは、タグ
site-v1/ブランチsite-archiveに保存されています。
このように設計した理由
root として何でも実行できるエージェントは、製品ではなくリスクです。購入者(およびマーケットプレイスのセキュリティ審査)からは、スコープ設定、承認、監査証跡が求められます。そのため、ここでの機能はすべて、単一の制御点である Guard を経由し、次の順序で適用されます。
- Cisco AI Defense がツール呼び出しを検査します(ブロックする場合があります)。
- Cisco Duo Agentic Identity がポリシーに基づいてツール呼び出しを認可します(ブロックする場合があります)。
- 承認ゲート —
approval_required_at以上(デフォルトはMEDIUM)の操作には、人間による明示的なconfirm=trueが必要です。 - 操作を実行します。
- 返却前に Cisco AI Defense が応答を検査します(データ漏えいを検出します)。
- Stripe が成功した呼び出しを計測します(ベストエフォートで実行され、ブロックすることはありません)。
- 結果を次の形式で 監査ログ に記録します。
human owner -> agent -> tool -> action -> outcome
これはエンタープライズモデルを反映しています。アプリがスコープ設定、承認、ローカル監査を担い、Cisco AI Defense が MCP レイヤーでランタイムの脅威検査を行い、Cisco Duo Agentic Identity が責任を負う人間の所有者にひも付けてツール呼び出しごとに認可し、Stripe が計測されたツール呼び出しを収益につなげます。
Cisco Duo Agentic Identity(認可)
Duo は「Duo が判断し、ゲートウェイが適用する」モデルに従います。このエージェントは非人間 ID として登録され、RFC 8707 リソースインジケーターを使用する OAuth 2.1 client-credentials グラントで認証し、ツールに必要な scope と Duo が付与したスコープを照合するか、Duo の明示的な decision endpoint を呼び出して、各ツール呼び出しを認可します。DUO_ENABLED=true と DUO_TOKEN_URL / DUO_CLIENT_ID / DUO_CLIENT_SECRET を設定してください(.env.example を参照)。Duo が設定されていない場合、呼び出しは許可されますが、governed: false としてフラグが付けられます。enforce モードでは、認可エラーが発生するとフェイルクローズします。
Stripe の使用量ベース課金(収益化)
認可され、成功したツール呼び出しごとに Stripe の meter event(v2 課金 meter events API)が発行されるため、エージェントをアクションごとに販売できます。Stripe で meter を設定してから、STRIPE_ENABLED=true、STRIPE_API_KEY、STRIPE_CUSTOMER_ID、STRIPE_METER_EVENT_NAME を設定してください。ツールごとの重み付けにより、リスクの高いアクションほど料金を高くできます。課金処理はベストエフォートです。計測の失敗はログに記録されますが、ツール呼び出しをブロックしたり失敗させたりすることはありません(結果には billed: true|false が注記されます)。
ツール
| ツール | リスク | 備考 |
|---|---|---|
system_status | LOW | ホスト、CPU、メモリ、稼働時間 |
disk_usage | LOW | パーティションごとのディスク使用量 |
list_processes | LOW | メモリ/CPU 使用量の上位プロセス |
run_command | HIGH* | シェルコマンド。拒否リスト + 承認 + 監査 |
github_get_repo | LOW | リポジトリのメタデータ(許可リストに登録されたリポジトリのみ) |
github_list_issues | LOW | 許可リストに登録されたリポジトリの Issue |
github_create_issue_comment | HIGH | 書き込み。承認 + GITHUB_ALLOW_WRITES が必要 |
security_status | — | 有効なガードレール設定を報告 |
* run_command は、ベースコマンドが command_allowlist に含まれる場合に限り LOW リスクです。それ以外の場合は HIGH となります(confirm=true が必要です)。
インストール
PyPI ではまだ公開されていません。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
クローンからインストールする場合:
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
設定
.env.example を .env にコピーするか、YAML ファイルを使用して(superuser.example.yaml を参照)、値を設定します。主な設定項目:
SUPERUSER_HUMAN_OWNER— エージェントのアクションに責任を負う人間。SUPERUSER_APPROVAL_AT— 承認ゲートのリスクしきい値(LOW…CRITICAL)。AI_DEFENSE_*— Cisco AI Defense の認証情報/モード(以下を参照)。DUO_*— Cisco Duo Agentic Identity の認可(以下を参照)。STRIPE_*— Stripe の従量課金(以下を参照)。GITHUB_TOKEN、GITHUB_ALLOWED_REPOS、GITHUB_ALLOW_WRITES— 最小権限での GitHub アクセス。
3 つのサービスすべてについて、コンソールの値と環境変数の完全な対応表は
docs/INTEGRATIONS.mdを参照してください。
Cisco AI Defense
SDK をインストールし(pip install 'superuser[security]')、認証情報を設定します:
- このサーバー自身のツール呼び出し/応答を明示的に検査する場合:
AI_DEFENSE_INSPECTION_API_KEYを設定します。 - ランタイム保護(
agentsec.protect()が LLM と MCP のクライアントに自動的にパッチを適用します):AI_DEFENSE_API_MODE_LLM_ENDPOINTとAI_DEFENSE_API_MODE_LLM_API_KEYを設定するか、AI_DEFENSE_AGENTSEC_CONFIGにagentsec.yamlのパスを設定します (agentsec.example.yamlを参照)。 AI_DEFENSE_MODE:enforce(ブロック)、monitor(ログのみ)、off。
SDK がインストールされていないか、認証情報が設定されていない場合でもエージェントは動作しますが、
すべての結果に protected: false / UNPROTECTED と注記されます。この不足が
通知されないままになることはありません。enforce モードでは、検査エラー時はフェイルクローズとなり(呼び出しを
ブロックします)、monitor モードではフェイルオープンとなります(ログに記録して許可します)。
環境変数
| 領域 | 変数 |
|---|---|
| コア | SUPERUSER_CONFIG、SUPERUSER_HUMAN_OWNER、SUPERUSER_APPROVAL_AT、SUPERUSER_COMMAND_TIMEOUT、SUPERUSER_AUDIT_LOG |
| Cisco AI Defense | AI_DEFENSE_ENABLED(デフォルトは true。ローカル開発では false に設定)、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 |
キーを設定しなくてもサーバーは動作します。Duo と Stripe はデフォルトでオフになり、SDK/キーがない場合、Cisco AI Defense は保護されていない状態(明確に表示されます)で動作します。
実行
# Validate configuration and print guardrail/Cisco status, then exit:
superuser --check
# Start the MCP server (stdio transport, for MCP clients like Cursor/Claude):
superuser
# or: python -m superuser
MCP クライアントへの登録
クライアント設定の例(stdio):
{
"mcpServers": {
"superuser": {
"command": "superuser",
"env": {
"SUPERUSER_HUMAN_OWNER": "[email protected]",
"AI_DEFENSE_MODE": "enforce",
"AI_DEFENSE_INSPECTION_API_KEY": "..."
}
}
}
}
テスト
pytest
セキュリティに関する注意事項
- 危険なコマンドの拒否リストは最後の防護策であり、主要な制御ではありません。 主要な制御は Cisco AI Defense による検査と承認ゲートです。
- GitHub へのアクセスはフェイルクローズです。トークンがない場合、またはリポジトリの許可リストが空の場合、アクセスできません。 細粒度の最小権限トークンを使用してください。
- 監査ログではシークレットがマスキングされます。
.env/*.yamlの設定ファイルはバージョン管理に含めないでください(すでに.gitignoreに登録されています)。
ライセンス
Apache-2.0。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。