AgentGuard MCP
AgentGuard
AIエージェントのためのアイデンティティセキュリティ
AgentGuardは、自律型AIエージェントのためのアイデンティティ認識型認可レイヤーです。
各エージェントに独自のマシンアイデンティティを付与し、OAuthスコープでアクセスを制限し、機密操作の実行前にコンテキストポリシーを評価し、自律的な権限を停止すべき場合には、個別認証された人間の承認境界を導入します。
ライブプロダクト:
https://agentguard-eight.vercel.app
MCP認可バックエンド:
https://github.com/haisamar/agentguard-mcp
問題提起
AIエージェントは、ますます実システムに接続されるようになっています。
CRM
財務ツール
サポートプラットフォーム
社内API
データベース
MCPサーバー
しかし、エージェントをツールに接続すると、セキュリティ上の疑問が生じます。
エージェントが認証できるからといって、そのツールがサポートするすべてのことを実行する権限を付与すべきでしょうか?
通常は、いいえです。
営業エージェントは、次のことを行う必要があるかもしれません:
read CRM accounts
update opportunities
inspect support contextしかし、自動的に次のことを実行できるべきではありません:
issue refunds
export customer data
modify security settingsまた、正当に返金権限を持つ財務エージェントであっても、高額な返金を実行する前に人間の承認が必要な場合があります。
AgentGuardは、アイデンティティ、認可、コンテキストポリシー、人間による制御を、AIエージェントの実行を中心にレイヤー化する方法を示します。
AgentGuardの機能
AgentGuardは、認可を複数のセキュリティ境界に分離します:
AI Agent
↓
Machine Identity
↓
OAuth Scope Authorization
↓
Contextual Policy
↓
Human Approval if Required
↓
Controlled Execution
↓
Audit Trail認証は、無制限の権限を意味するものではありません。
ライブデモ
公開デモは、認証なしで試すことができます:
https://agentguard-eight.vercel.app/demo
3つの実際の永続化された認可シナリオが含まれています。
Related MCP server: Oakallow MCP Server
シナリオ1 — 人間による承認
財務エージェントが$750の返金を要求します。
Finance Agent
↓
Authenticated machine identity
↓
finance:refund scope verified
↓
Refund exceeds $500 autonomous threshold
↓
APPROVAL_REQUIRED
↓
Authenticated human administrator approves
↓
Finance Agent executes approved refund
↓
ALLOW最終状態:
EXECUTEDシナリオ2 — 人間による拒否
同じ財務エージェントが、別の$750の返金を要求します。
エージェントは正しいOAuth権限を持っているため、要求はスコープチェックを通過します。
ただし、コンテキストポリシーでは人間の承認が必要です。
Finance Agent
↓
finance:refund ✓
↓
Refund > $500
↓
APPROVAL_REQUIRED
↓
Human Administrator
↓
DENY
↓
Finance Agent attempts execution
↓
DENY最終状態:
DENIEDこれは次のことを示しています:
アクションを要求する権限がエージェントにあるからといって、自律的に実行する権限があるとは限りません。
シナリオ3 — スコープによるブロック
営業エージェントが返金を試みます。
そのアイデンティティには次のものが含まれています:
crm:read
crm:write
support:readしかし、保護されたツールには次のことが必要です:
finance:refundAgentGuardはリクエストを即座にブロックします。
Sales Agent
↓
Authenticated
↓
Missing finance:refund
↓
DENYコンテキストポリシーは評価されません。
人間によるレビューに到達することはありません。
リクエストは最小権限の認可境界で失敗します。
アーキテクチャ
AgentGuardは、マシン認証、最小権限の認可、コンテキストリスク判断、人間の承認を分離し、認証されたAIエージェントが自動的に無制限の権限を受け取ることがないようにします。
flowchart LR
AGENT["AI Agent<br/>Sales / Finance"]
AUTH0M["Auth0<br/>Machine Identity"]
TOKEN["OAuth Access Token<br/>Scoped Permissions"]
MCP["AgentGuard MCP<br/>Protected Tools"]
SCOPE{"Scope<br/>Authorized?"}
POLICY{"Contextual<br/>Policy"}
APPROVAL["Approval Request<br/>Persisted"]
AUTH0H["Auth0<br/>Human Identity"]
HUMAN{"Human<br/>Decision"}
EXEC["Controlled<br/>Execution"]
BLOCK["Execution<br/>Blocked"]
DB[("Supabase<br/>Approvals + Audit")]
AGENT --> AUTH0M
AUTH0M --> TOKEN
TOKEN --> MCP
MCP --> SCOPE
SCOPE -->|"Missing scope"| BLOCK
SCOPE -->|"Authorized"| POLICY
POLICY -->|"Low risk"| EXEC
POLICY -->|"Forbidden"| BLOCK
POLICY -->|"Sensitive"| APPROVAL
APPROVAL --> DB
APPROVAL --> AUTH0H
AUTH0H --> HUMAN
HUMAN -->|"Approve"| EXEC
HUMAN -->|"Deny"| BLOCK
EXEC --> DB
BLOCK --> DBアイデンティティモデル
AgentGuardは、マシンアイデンティティと人間のアイデンティティを意図的に分離します。
マシンアイデンティティ
各エージェントランタイムは、個別のAuth0 Machine-to-Machineアイデンティティを受け取ります。
デモには3つのランタイムが含まれています。
アイデンティティ | 役割 | OAuthスコープ |
営業エージェント | レベニューオペレーションズ |
|
財務エージェント | ファイナンスオペレーションズ |
|
管理ランタイム | セキュリティ管理 |
|
これにより、複数のエージェントが広範な権限を持つ1つの資格情報を共有することを防ぎます。
人間のアイデンティティ
機密性の高い決定は、個別認証されたAuth0ユーザーを通じてレビューされます。
人間の管理者は、要求元のマシンと同じアイデンティティではありません。
例:
Requested by
Finance Agent
Machine Identity
Reviewed by
Human Administrator
Human Identityこれにより、次の間に明確な分離が生まれます:
machine authorityと:
human approval authority認可モデル
AgentGuardは、レイヤー化された認可を使用します。
1. 認証
Auth0は、呼び出し元エージェントのアイデンティティを確立します。
MCPサーバーは、マシンアイデンティティを含むOAuthアクセストークンを受け取ります。
2. OAuthスコープ認可
保護された各MCPツールは、呼び出しに必要な権限を宣言します。
例:
issue_refund
requires
finance:refundエージェントが必要なスコープを持っていない場合:
DENYポリシー評価や人間によるエスカレーションは必要ありません。
3. コンテキストポリシー
OAuthスコープチェックに合格しても、実行が自動的に保証されるわけではありません。
AgentGuardは、要求されたアクションのコンテキストを評価します。
現在のデモルールは次のとおりです:
Refund <= $500
→ ALLOW
Refund > $500
→ APPROVAL_REQUIRED
Customer data export
→ APPROVAL_REQUIRED
Customer deletion
→ DENYこれにより、次のことが分離されます:
Can this identity request this type of operation?から:
Should this exact operation execute autonomously?4. ヒューマン・イン・ザ・ループ認可
機密性の高い操作は一時停止され、永続化されます。
保護された管理者ダッシュボードに保留中のリクエストが表示されます。
認証された人間は、次のいずれかを選択できます:
Approveまたは:
Deny決定は永続化され、セキュリティ監査証跡に追加されます。
5. 承認バインド実行
人間の承認によって、アクションが直接実行されるわけではありません。
元のマシンアイデンティティが戻り、実行を要求します。
次に、AgentGuardは次のことを検証します:
Does the approval exist?
Is it APPROVED?
Does the approval belong to this agent?
Does it match this action?
Has it already been executed?その場合にのみ、実行を続行できます。
6. リプレイ保護
正常に実行された承認は、次の状態に遷移します:
EXECUTED同じ承認を2回目に実行しようとすると、ブロックされます。
EXECUTED
↓
second execution attempt
↓
DENYリプレイ試行はセキュリティイベントとして記録されます。
管理者コンソール
保護されたダッシュボードは、次の場所にあります:
/dashboardAuth0認証が必要です。
管理者コンソールは、以下を提供します:
マシンアイデンティティのインベントリ
付与されたOAuthスコープ
認証済みの人間のオペレーターコンテキスト
保留中の承認
承認/拒否コントロール
認可トレースエクスプローラー
セキュリティアクティビティフィード
詳細な監査イベントの検査
承認履歴
マシンと人間のアイデンティティの視覚化
生のアイデンティティと監査コンテキストは、認証の背後に残ります。
パブリックデモ
公開デモは、次の場所に個別に存在します:
/demo意図的に読み取り専用です。
データがブラウザに到達する前に、プライベートなセキュリティ情報が削除されます。
公開デモでは、次のものは公開されません:
Auth0 subject IDs
machine client IDs
administrator email addresses
OAuth access tokens
Supabase credentials
raw audit metadata
private approval identifiersパブリックインターフェースは、サニタイズされたシナリオデータのみを受け取ります。
認可トレースエクスプローラー
AgentGuardには、永続化されたセキュリティシナリオを再構築するインタラクティブなトレースエクスプローラーが含まれています。
ユーザーは次の間で切り替えることができます:
Human Approved
Human Denied
Scope Blocked各トレースは、次を視覚化します:
01 Agent Identity
02 Scope Check
03 Contextual Policy
04 Human Review
05 Executionこれにより、MCPインスペクター、Auth0ダッシュボード、データベースにアクセスしなくても、認可ライフサイクルを理解できます。
セキュリティアクティビティ
重要な認可決定はすべて、監査イベントとして記録されます。
決定の例は次のとおりです:
ALLOW
DENY
APPROVAL_REQUIRED
APPROVEDイベントを選択すると、次のような情報を含む詳細なセキュリティドロワーが開きます:
Identity
Identity Type
Decision
Action
Required Scope
Reason
Approval Reference
Timestamp
Event ID
Security Metadata認可失敗の例:
Sales Agent
Action
issue_refund
Decision
DENY
Required Scope
finance:refund
Granted Scopes
crm:read
crm:write
support:read
Missing Scope
finance:refund
Security Event
authorization_failure承認ライフサイクル
機密性の高いアクションは、永続化された承認レコードによって表されます。
利用可能な状態:
PENDING
APPROVED
DENIED
EXECUTED成功フロー:
PENDING
↓
APPROVED
↓
EXECUTED拒否フロー:
PENDING
↓
DENIEDAgentGuardはまた、次を分離します:
reviewed_byから:
approved_by拒否されたリクエストが正しく表現できるように:
status = DENIED
reviewed_by = Human Administrator
approved_by = nullテクノロジー
AgentGuardは、以下を使用して構築されています:
アイデンティティと認可
Auth0
OAuth 2.0
Machine-to-Machine Applications
Human Authentication
Scoped Access Tokensエージェントインターフェース
Model Context Protocol
FastMCPバックエンド
Python
Starlette
Uvicornアプリケーション
Next.js 16
React
TypeScript
Tailwind CSS永続化
Supabase
PostgreSQL
Row Level Securityデプロイ
Vercel
GitHubリポジトリ構造
agentguard/
│
├── src/
│ ├── app/
│ │ ├── dashboard/
│ │ │ ├── ApprovalButtons.tsx
│ │ │ ├── SecurityActivity.tsx
│ │ │ ├── TraceExplorer.tsx
│ │ │ ├── actions.ts
│ │ │ ├── layout.tsx
│ │ │ └── page.tsx
│ │ │
│ │ ├── demo/
│ │ │ ├── PublicTraceExplorer.tsx
│ │ │ └── page.tsx
│ │ │
│ │ └── page.tsx
│ │
│ ├── lib/
│ │ ├── agentguard-data.ts
│ │ ├── auth0.ts
│ │ └── public-demo-data.ts
│ │
│ └── proxy.ts
│
├── package.json
└── README.mdPython MCP認可サーバーは、個別に保守されています:
https://github.com/haisamar/agentguard-mcp
バックエンドMCPサーバー
コンパニオンバックエンドは、以下を実装しています:
Auth0アクセストークンの検証
保護されたリソースのOAuthメタデータ
MCPツールの認可
必須スコープの適用
コンテキストポリシー評価
承認の作成
人間の承認の適用
承認バインド実行
リプレイ保護
Supabaseの永続化
セキュリティ監査ログ
バックエンドリポジトリ:
https://github.com/haisamar/agentguard-mcp
MCPツール
現在のセキュリティプロトタイプには、以下が含まれます:
search_accounts
issue_refund
list_pending_approvals
approve_action
execute_approved_refund例:
Finance Agent
finance:refund
↓
issue_refund($100)
↓
ALLOW対比:
Finance Agent
finance:refund
↓
issue_refund($750)
↓
APPROVAL_REQUIRED対比:
Sales Agent
no finance:refund
↓
issue_refund($750)
↓
DENYデータベースセキュリティ
承認レコードと監査レコードは、Supabase/PostgreSQLに保存されます。
基になるテーブルでは行レベルセキュリティが有効になっています。
機密性の高いAgentGuardレコードに対して、意図的に公開ブラウザポリシーは定義されていません。
サーバーサイドコンポーネントは、保護された環境資格情報を使用します。
SupabaseシークレットキーがクライアントサイドのJavaScriptに送信されることはありません。
公開デモ情報は、インタラクティブなクライアントコンポーネントに渡される前に、サーバーサイドでサニタイズされます。
ローカル開発
要件
Node.js
Auth0 tenant
Supabase project
AgentGuard MCP backendクローン:
git clone https://github.com/haisamar/agentguard.git
cd agentguardインストール:
npm install作成:
.env.local独自の環境設定を使用します。
変数の例:
SUPABASE_URL=
SUPABASE_SECRET_KEY=
AUTH0_DOMAIN=
AUTH0_CLIENT_ID=
AUTH0_CLIENT_SECRET=
AUTH0_SECRET=
APP_BASE_URL=http://localhost:3000
AGENTGUARD_ADMIN_EMAIL=.env.localをコミットしないでください。
実行:
npm run dev次に開きます:
http://localhost:3000ルートモデル
/
Public product page
/demo
Public sanitized security demo
/dashboard
Auth0-protected administrator consoleこの分離により、特権管理者機能を公開せずに、プロジェクトをポートフォリオプロジェクトとして簡単にレビューできるようになります。
本番
フロントエンドはVercelにデプロイされています:
https://agentguard-eight.vercel.app
本番認証では、明示的な本番コールバック、ログアウト、オリジンURLを持つAuth0 Regular Web Applicationを使用します。
シークレットはVercel環境変数として保存され、Gitにコミットされません。
実証されたセキュリティ境界
AgentGuardは、1つのシステムでいくつかのアイデンティティセキュリティの概念を示しています:
認証≠認可
認証されたエージェントでも、拒否される可能性があります。
最小権限
エージェントは、その役割に必要なスコープのみを受け取ります。
コンテキスト認識型認可
認可は、呼び出し元だけでなく、アクションの詳細に依存する場合があります。
職務分離
マシンがアクションを要求し、人間が独立して承認できます。
ヒューマン・イン・ザ・ループ制御
自律実行は、定義されたリスク境界で停止できます。
承認バインド実行
承認は、要求元のアイデンティティとアクションに関連付けられています。
リプレイ保護
以前に実行された承認を再利用することはできません。
監査可能性
認可の決定は、アイデンティティと決定コンテキストとともに永続化されます。
公開/非公開の分離
ポートフォリオ閲覧者は、管理データにアクセスすることなく、サニタイズされたシナリオを調べることができます。
探求したかったこと
AgentGuardは、次の質問を調査するために構築されました:
ユーザーが常に人間であるとは限らない場合、アイデンティティセキュリティはどのようになるのでしょうか?
従来のアプリケーションセキュリティは、人間が認証してシステムと直接対話することを前提としていることがよくあります。
AIエージェントはそのモデルを変えます。
自律ランタイムは、次のことができます:
call APIs
use tools
modify records
trigger workflows
take financial actionsそのため、エージェントレイヤーではアイデンティティと認可がますます重要になっています。
AgentGuardは、次のような使い慣れたIAMの概念がどのように:
machine identity
OAuth scopes
least privilege
separation of duties
human approval
auditabilityAIエージェントの実行に適用できるかを探求します。
現在の範囲
AgentGuardは、セキュリティポートフォリオのプロトタイプであり、本番のIAM製品ではありません。
意図的な制限には、次のものがあります:
コンテキストポリシーは現在コードで定義されています
マシンアイデンティティはデモンストレーションの役割にマッピングされています
人間の管理者認可は現在、アプリケーションレベルの許可リストを使用しています
ポリシー管理にはまだ独自のコントロールプレーンがありません
データベース監査レコードは暗号化によって不変ではありません
本番の分散ロックはプロトタイプの範囲外です
MCPバックエンドのデプロイは、管理されたテスト用に設計されています
承認の有効期限は現在実装されていません
これらの制限は、隠すのではなく、意図的に文書化されています。
可能な拡張
将来のバージョンでは、次のことを検討できます:
Auth0 role-based administration
policy-as-code
policy versioning
agent identity registry
workload identity federation
delegated authorization
resource-level authorization
organization isolation
approval expiration
time-bound privileges
step-up authentication
signed audit events
SIEM integration
policy simulation
risk scoring
dynamic authorization
production MCP deployment関連リポジトリ
AgentGuard MCP
Python認可サーバー、ポリシーエンジン、承認の適用、監査の永続化:
https://github.com/haisamar/agentguard-mcp
ライブプロジェクト
AgentGuard
https://agentguard-eight.vercel.app
インタラクティブデモ
https://agentguard-eight.vercel.app/demo
管理者コンソール
https://agentguard-eight.vercel.app/dashboard認証が必要です。
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA governance and control layer for MCP tools that manages tool requests as intents through policy-based approval, queuing, or blocking. It enables secure human oversight and audit trails for consequential agent actions across platforms like Claude Desktop and Cursor.1MIT No Attribution

Oakallow MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceRuntime permission, approval, and audit governance for AI agent tool execution, enabling human oversight of risky actions via an MCP server.1MIT- FlicenseNot gradedqualityCmaintenanceMCP server that provides a security gateway for AI agents, enforcing allow/confirm/deny policies on tool calls and requiring human approval for risky operations, with full audit logging.
- FlicenseNot gradedqualityCmaintenanceA protected Model Context Protocol server that gives AI agents distinct machine identities, enforces least-privilege OAuth permissions, applies contextual authorization policies, and pauses sensitive actions for human approval.
Related MCP Connectors
Runtime permission, approval, and audit layer for AI agent tool execution.
Security firewall for AI agents — scans MCP calls for injection, secrets, and risks.
See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/haisamar/agentguard'
If you have feedback or need assistance with the MCP directory API, please join our Discord server