mcpField
S
superuser

superuser

ローカル
github.com/fitzyracing1クラウド・インフラ32 日前に更新

superuser について

superuserは、マシン管理、シェル操作、システム確認、許可リスト内のGitHub操作を行う、権限ゲート付きMCPエージェントです。リスクに応じた承認、コマンド制御、監査ログに加え、Cisco AI Defenseによる検査やCisco Duo認可を設定できます。

主な機能

  1. 01リスク制御付きのシェルコマンド実行
  2. 02ホスト、ディスク、プロセス状態の確認
  3. 03許可リスト内のGitHubリポジトリへのアクセス
  4. 04高リスク操作に対する人間の承認
  5. 05追記専用監査ログへの操作記録
  6. 06Cisco AI Defenseによるツール呼び出しと応答の検査

活用シーン

  1. 01マシンの状態とリソース使用量の確認
  2. 02承認済みのシステム管理コマンドの実行
  3. 03許可リスト内のGitHubリポジトリのIssue確認
  4. 04エージェント操作と承認結果の監査

MCP 対応

stdioで動作するMCPサーバーとして、システム、シェル、GitHub、安全状態のツールを提供します。中央のGuardが、ツール呼び出しに承認と設定済みの認可・検査制御を適用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"fitzyracing1-superuser": {
"command": "uvx",
"args": [
"superuser"
],
"env": {
"SUPERUSER_HUMAN_OWNER": "<SUPERUSER_HUMAN_OWNER>",
"SUPERUSER_APPROVAL_AT": "<SUPERUSER_APPROVAL_AT>",
"AI_DEFENSE_INSPECTION_API_KEY": "<AI_DEFENSE_INSPECTION_API_KEY>",
"DUO_TOKEN_URL": "<DUO_TOKEN_URL>",
"DUO_CLIENT_ID": "<DUO_CLIENT_ID>",
"DUO_CLIENT_SECRET": "<DUO_CLIENT_SECRET>",
"STRIPE_API_KEY": "<STRIPE_API_KEY>"
}
}
}
}
起動コマンドuvx superuser
設定が必要な環境変数
SUPERUSER_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypisuperuser0.1.0

ツール

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 を経由し、次の順序で適用されます。

  1. Cisco AI Defense がツール呼び出しを検査します(ブロックする場合があります)。
  2. Cisco Duo Agentic Identity がポリシーに基づいてツール呼び出しを認可します(ブロックする場合があります)。
  3. 承認ゲート — approval_required_at 以上(デフォルトは MEDIUM)の操作には、人間による明示的な confirm=true が必要です。
  4. 操作を実行します。
  5. 返却前に Cisco AI Defense が応答を検査します(データ漏えいを検出します)。
  6. Stripe が成功した呼び出しを計測します(ベストエフォートで実行され、ブロックすることはありません)。
  7. 結果を次の形式で 監査ログ に記録します。 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_statusLOWホスト、CPU、メモリ、稼働時間
disk_usageLOWパーティションごとのディスク使用量
list_processesLOWメモリ/CPU 使用量の上位プロセス
run_commandHIGH*シェルコマンド。拒否リスト + 承認 + 監査
github_get_repoLOWリポジトリのメタデータ(許可リストに登録されたリポジトリのみ)
github_list_issuesLOW許可リストに登録されたリポジトリの Issue
github_create_issue_commentHIGH書き込み。承認 + 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 DefenseAI_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 DuoDUO_ENABLED、DUO_MODE、DUO_AGENT_ID、DUO_TOKEN_URL、DUO_CLIENT_ID、DUO_CLIENT_SECRET、DUO_AUTHORIZATION_URL、DUO_RESOURCE、DUO_SCOPES
StripeSTRIPE_ENABLED、STRIPE_API_KEY、STRIPE_CUSTOMER_ID、STRIPE_METER_EVENT_NAME、STRIPE_DEFAULT_VALUE
GitHubGITHUB_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。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。