Skip to main content
Glama
haisamar

AgentGuard MCP

by haisamar

AgentGuard

Identitätssicherheit für KI-Agenten

AgentGuard ist eine identitätsbewusste Autorisierungsebene für autonome KI-Agenten.

Es gibt jedem Agenten eine eigene Maschinenidentität, begrenzt den Zugriff über OAuth-Scopes, bewertet kontextbezogene Richtlinien, bevor sensible Aktionen ausgeführt werden, und führt eine separat authentifizierte menschliche Genehmigungsgrenze ein, wenn autonome Autorität enden sollte.

Live-Produkt:
https://agentguard-eight.vercel.app

MCP-Autorisierungs-Backend:
https://github.com/haisamar/agentguard-mcp


Das Problem

KI-Agenten werden zunehmend mit realen Systemen verbunden:

  • CRMs

  • Finanzinstrumente

  • Support-Plattformen

  • interne APIs

  • Datenbanken

  • MCP-Server

Aber die Verbindung eines Agenten mit einem Tool wirft eine Sicherheitsfrage auf:

Nur weil ein Agent sich authentifizieren kann, sollte es ihm erlaubt sein, alles zu tun, was das Tool unterstützt?

Normalerweise nein.

Ein Vertriebsagent muss möglicherweise:

read CRM accounts
update opportunities
inspect support context

aber er sollte nicht automatisch in der Lage sein:

issue refunds
export customer data
modify security settings

Und selbst ein Finanzagent, der legitimerweise über Rückerstattungsberechtigungen verfügt, benötigt möglicherweise eine menschliche Genehmigung, bevor er eine Rückerstattung mit hohem Wert ausführt.

AgentGuard demonstriert, wie Identität, Autorisierung, kontextbezogene Richtlinien und menschliche Kontrolle rund um die Ausführung von KI-Agenten geschichtet werden können.


Was AgentGuard tut

AgentGuard trennt die Autorisierung in mehrere Sicherheitsgrenzen:

AI Agent
   ↓
Machine Identity
   ↓
OAuth Scope Authorization
   ↓
Contextual Policy
   ↓
Human Approval if Required
   ↓
Controlled Execution
   ↓
Audit Trail

Authentifizierung allein bedeutet nicht unbegrenzte Autorität.


Live-Demo

Die öffentliche Demo kann ohne Authentifizierung erkundet werden:

https://agentguard-eight.vercel.app/demo

Sie enthält drei reale, persistierte Autorisierungsszenarien.


Related MCP server: Oakallow MCP Server

Szenario 1 – Von Menschen genehmigt

Ein Finanzagent fordert eine Rückerstattung über $750 an.

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

Endzustand:

EXECUTED

Szenario 2 – Von Menschen abgelehnt

Derselbe Finanzagent fordert eine weitere Rückerstattung über $750 an.

Der Agent besitzt die korrekte OAuth-Berechtigung, daher besteht die Anfrage die Scope-Prüfung.

Die kontextbezogene Richtlinie erfordert jedoch eine menschliche Genehmigung.

Finance Agent
      ↓
finance:refund ✓
      ↓
Refund > $500
      ↓
APPROVAL_REQUIRED
      ↓
Human Administrator
      ↓
DENY
      ↓
Finance Agent attempts execution
      ↓
DENY

Endzustand:

DENIED

Dies demonstriert:

Berechtigt zu sein, eine Aktion anzufordern, bedeutet nicht zwangsläufig, dass der Agent autorisiert ist, sie autonom auszuführen.


Szenario 3 – Scope blockiert

Ein Vertriebsagent versucht, eine Rückerstattung auszugeben.

Seine Identität enthält:

crm:read
crm:write
support:read

aber das geschützte Tool erfordert:

finance:refund

AgentGuard blockiert die Anfrage sofort.

Sales Agent
      ↓
Authenticated
      ↓
Missing finance:refund
      ↓
DENY

Die kontextbezogene Richtlinie wird nie ausgewertet.

Eine menschliche Überprüfung wird nie erreicht.

Die Anfrage scheitert an der Grenze der geringsten Privilegien.


Architektur

AgentGuard trennt Maschinenauthentifizierung, Autorisierung mit geringsten Privilegien, kontextbezogene Risikoentscheidungen und menschliche Genehmigung, sodass ein authentifizierter KI-Agent niemals automatisch unbegrenzte Autorität erhält.

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

Identitätsmodell

AgentGuard trennt bewusst Maschinenidentitäten von menschlichen Identitäten.

Maschinenidentitäten

Jede Agentenlaufzeit erhält eine separate Auth0-Maschine-zu-Maschine-Identität.

Die Demo enthält drei Laufzeiten.

Identität

Rolle

OAuth-Scopes

Vertriebsagent

Umsatzbetrieb

crm:read, crm:write, support:read

Finanzagent

Finanzbetrieb

crm:read, finance:read, finance:refund

Admin-Laufzeit

Sicherheitsverwaltung

agent:manage

Dies verhindert, dass mehrere Agenten eine einzige, weitreichende Berechtigung gemeinsam nutzen.


Menschliche Identität

Sensible Entscheidungen werden durch eine separat authentifizierte Auth0-Benutzeridentität überprüft.

Der menschliche Administrator ist nicht dieselbe Identität wie die anfragende Maschine.

Beispiel:

Requested by
Finance Agent
Machine Identity

Reviewed by
Human Administrator
Human Identity

Dies schafft eine klare Trennung zwischen:

machine authority

und:

human approval authority

Autorisierungsmodell

AgentGuard verwendet eine mehrschichtige Autorisierung.

1. Authentifizierung

Auth0 stellt die Identität des aufrufenden Agenten fest.

Der MCP-Server empfängt ein OAuth-Zugriffstoken, das die Maschinenidentität enthält.


2. OAuth-Scope-Autorisierung

Jedes geschützte MCP-Tool deklariert die Berechtigung, die für seinen Aufruf erforderlich ist.

Beispiel:

issue_refund
requires
finance:refund

Wenn der Agent nicht über den erforderlichen Scope verfügt:

DENY

Keine Richtlinienauswertung oder menschliche Eskalation ist erforderlich.


3. Kontextbezogene Richtlinie

Das Bestehen der OAuth-Scope-Prüfung garantiert nicht automatisch die Ausführung.

AgentGuard bewertet den Kontext der angeforderten Aktion.

Die aktuellen Demonstrationsregeln umfassen:

Refund <= $500
→ ALLOW

Refund > $500
→ APPROVAL_REQUIRED

Customer data export
→ APPROVAL_REQUIRED

Customer deletion
→ DENY

Dies trennt:

Can this identity request this type of operation?

von:

Should this exact operation execute autonomously?

4. Menschliche Genehmigung (Human-in-the-Loop)

Sensible Vorgänge werden pausiert und persistiert.

Das geschützte Administrator-Dashboard zeigt die ausstehende Anfrage.

Der authentifizierte Mensch kann dann wählen:

Approve

oder:

Deny

Die Entscheidung wird persistiert und zum Sicherheitsauditpfad hinzugefügt.


5. Genehmigungsgebundene Ausführung

Eine menschliche Genehmigung führt die Aktion nicht direkt aus.

Die ursprüngliche Maschinenidentität kehrt zurück und fordert die Ausführung an.

AgentGuard überprüft dann:

Does the approval exist?

Is it APPROVED?

Does the approval belong to this agent?

Does it match this action?

Has it already been executed?

Erst dann kann die Ausführung fortgesetzt werden.


6. Replay-Schutz

Erfolgreich ausgeführte Genehmigungen gehen über in:

EXECUTED

Ein zweiter Versuch, dieselbe Genehmigung auszuführen, wird blockiert.

EXECUTED
      ↓
second execution attempt
      ↓
DENY

Der Replay-Versuch wird als Sicherheitsereignis protokolliert.


Administrator-Konsole

Das geschützte Dashboard ist verfügbar unter:

/dashboard

Es erfordert eine Auth0-Authentifizierung.

Die Administrator-Konsole bietet:

  • Maschinenidentitätsinventar

  • gewährte OAuth-Scopes

  • Kontext des authentifizierten menschlichen Bedieners

  • ausstehende Genehmigungen

  • Genehmigen-/Ablehnen-Steuerelemente

  • Autorisierungs-Trace-Explorer

  • Sicherheitsaktivitätsfeed

  • detaillierte Audit-Ereignisprüfung

  • Genehmigungsverlauf

  • Visualisierung von Maschinen- vs. menschlicher Identität

Rohidentitäts- und Auditkontext bleibt hinter der Authentifizierung geschützt.


Öffentliche Demo

Die öffentliche Demo existiert separat unter:

/demo

Sie ist absichtlich schreibgeschützt.

Bevor Daten den Browser erreichen, werden private Sicherheitsinformationen entfernt.

Die öffentliche Demo legt nicht offen:

Auth0 subject IDs
machine client IDs
administrator email addresses
OAuth access tokens
Supabase credentials
raw audit metadata
private approval identifiers

Die öffentliche Oberfläche empfängt nur bereinigte Szenariodaten.


Autorisierungs-Trace-Explorer

AgentGuard enthält einen interaktiven Trace-Explorer, der persistierte Sicherheitsszenarien rekonstruiert.

Benutzer können wechseln zwischen:

Human Approved
Human Denied
Scope Blocked

Jeder Trace visualisiert:

01 Agent Identity

02 Scope Check

03 Contextual Policy

04 Human Review

05 Execution

Dies macht den Autorisierungslebenszyklus verständlich, ohne Zugriff auf den MCP-Inspektor, das Auth0-Dashboard oder die Datenbank zu benötigen.


Sicherheitsaktivität

Jede wichtige Autorisierungsentscheidung wird als Audit-Ereignis aufgezeichnet.

Beispielentscheidungen umfassen:

ALLOW
DENY
APPROVAL_REQUIRED
APPROVED

Die Auswahl eines Ereignisses öffnet eine detaillierte Sicherheitsansicht mit Informationen wie:

Identity
Identity Type
Decision
Action
Required Scope
Reason
Approval Reference
Timestamp
Event ID
Security Metadata

Beispiel für eine Autorisierungsablehnung:

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

Genehmigungslebenszyklus

Sensible Aktionen werden durch persistierte Genehmigungsdatensätze dargestellt.

Verfügbare Zustände:

PENDING
APPROVED
DENIED
EXECUTED

Erfolgreicher Ablauf:

PENDING
   ↓
APPROVED
   ↓
EXECUTED

Abgelehnter Ablauf:

PENDING
   ↓
DENIED

AgentGuard trennt außerdem:

reviewed_by

von:

approved_by

damit eine abgelehnte Anfrage korrekt darstellen kann:

status      = DENIED
reviewed_by = Human Administrator
approved_by = null

Technologie

AgentGuard ist gebaut mit:

Identität & Autorisierung

Auth0
OAuth 2.0
Machine-to-Machine Applications
Human Authentication
Scoped Access Tokens

Agentenoberfläche

Model Context Protocol
FastMCP

Backend

Python
Starlette
Uvicorn

Anwendung

Next.js 16
React
TypeScript
Tailwind CSS

Persistenz

Supabase
PostgreSQL
Row Level Security

Bereitstellung

Vercel
GitHub

Repository-Struktur

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.md

Der Python-MCP-Autorisierungsserver wird separat gepflegt:

https://github.com/haisamar/agentguard-mcp


Backend-MCP-Server

Das begleitende Backend implementiert:

  • Auth0-Zugriffstoken-Validierung

  • OAuth-Metadaten für geschützte Ressourcen

  • MCP-Tool-Autorisierung

  • Durchsetzung erforderlicher Scopes

  • kontextbezogene Richtlinienauswertung

  • Genehmigungserstellung

  • Durchsetzung menschlicher Genehmigungen

  • genehmigungsgebundene Ausführung

  • Replay-Schutz

  • Supabase-Persistenz

  • Sicherheitsauditprotokollierung

Backend-Repository:

https://github.com/haisamar/agentguard-mcp


MCP-Tools

Der aktuelle Sicherheitsprototyp umfasst:

search_accounts
issue_refund
list_pending_approvals
approve_action
execute_approved_refund

Beispiel:

Finance Agent
finance:refund
      ↓
issue_refund($100)
      ↓
ALLOW

im Vergleich zu:

Finance Agent
finance:refund
      ↓
issue_refund($750)
      ↓
APPROVAL_REQUIRED

im Vergleich zu:

Sales Agent
no finance:refund
      ↓
issue_refund($750)
      ↓
DENY

Datenbanksicherheit

Genehmigungs- und Auditdatensätze liegen in Supabase/PostgreSQL.

Auf den zugrunde liegenden Tabellen ist Zeilenebenen-Sicherheit aktiviert.

Für sensible AgentGuard-Datensätze sind keine öffentlichen Browserrichtlinien definiert.

Server-seitige Komponenten verwenden geschützte Umgebungsvariablen.

Der Supabase-Geheimschlüssel wird niemals an clientseitiges JavaScript übergeben.

Öffentliche Demoinformationen werden serverseitig bereinigt, bevor sie an interaktive Client-Komponenten übergeben werden.


Lokale Entwicklung

Voraussetzungen

Node.js
Auth0 tenant
Supabase project
AgentGuard MCP backend

Klonen:

git clone https://github.com/haisamar/agentguard.git
cd agentguard

Installieren:

npm install

Erstellen:

.env.local

mit Ihrer eigenen Umgebungskonfiguration.

Beispielvariablen:

SUPABASE_URL=
SUPABASE_SECRET_KEY=

AUTH0_DOMAIN=
AUTH0_CLIENT_ID=
AUTH0_CLIENT_SECRET=
AUTH0_SECRET=

APP_BASE_URL=http://localhost:3000

AGENTGUARD_ADMIN_EMAIL=

Committen Sie niemals .env.local.

Ausführen:

npm run dev

Dann öffnen Sie:

http://localhost:3000

Routenmodell

/
Public product page

/demo
Public sanitized security demo

/dashboard
Auth0-protected administrator console

Diese Trennung ermöglicht es dem Projekt, als Portfolio-Projekt leicht überprüfbar zu bleiben, ohne privilegierte administrative Funktionalität offenzulegen.


Produktion

Das Frontend ist auf Vercel bereitgestellt:

https://agentguard-eight.vercel.app

Die Produktionsauthentifizierung verwendet eine Auth0-Regular-Web-Anwendung mit expliziten Produktions-Callback-, Logout- und Ursprungs-URLs.

Geheimnisse werden als Vercel-Umgebungsvariablen gespeichert und nicht in Git committet.


Demonstrierte Sicherheitsgrenzen

AgentGuard demonstriert mehrere Identitätssicherheitskonzepte in einem System:

Authentifizierung ≠ Autorisierung

Ein authentifizierter Agent kann dennoch abgelehnt werden.

Geringste Privilegien

Agenten erhalten nur die Scopes, die ihre Rolle erfordert.

Kontextbewusste Autorisierung

Die Autorisierung kann von Details der Aktion abhängen, nicht nur vom Aufrufer.

Aufgabentrennung

Eine Maschine kann eine Aktion anfordern, während ein Mensch sie unabhängig genehmigt.

Human-in-the-Loop-Kontrolle

Autonome Ausführung kann an definierten Risikogrenzen stoppen.

Genehmigungsgebundene Ausführung

Die Genehmigung ist mit der anfragenden Identität und Aktion verknüpft.

Replay-Schutz

Bereits ausgeführte Genehmigungen können nicht wiederverwendet werden.

Auditierbarkeit

Autorisierungsentscheidungen werden mit Identitäts- und Entscheidungskontext persistiert.

Öffentliche/private Trennung

Portfolio-Besucher können bereinigte Szenarien erkunden, ohne Zugriff auf administrative Daten zu erhalten.


Was ich erkunden wollte

AgentGuard wurde gebaut, um eine Frage zu untersuchen:

Wie sieht Identitätssicherheit aus, wenn der Benutzer nicht immer ein Mensch ist?

Traditionelle Anwendungssicherheit geht oft davon aus, dass sich Menschen authentifizieren und dann direkt mit Systemen interagieren.

KI-Agenten verändern dieses Modell.

Autonome Laufzeiten können:

call APIs
use tools
modify records
trigger workflows
take financial actions

Das macht Identität und Autorisierung auf der Agentenebene zunehmend wichtig.

AgentGuard untersucht, wie vertraute IAM-Konzepte wie:

machine identity
OAuth scopes
least privilege
separation of duties
human approval
auditability

auf die Ausführung von KI-Agenten angewendet werden können.


Aktueller Umfang

AgentGuard ist ein Sicherheits-Portfolio-Prototyp, kein Produktions-IAM-Produkt.

Einige bewusste Grenzen umfassen:

  • kontextbezogene Richtlinien sind derzeit im Code definiert

  • Maschinenidentitäten sind Demonstrationsrollen zugeordnet

  • die Autorisierung des menschlichen Administrators verwendet derzeit eine Anwendungsebene-Allowlist

  • das Richtlinienmanagement hat noch keine eigene Steuerungsebene

  • Datenbank-Auditdatensätze sind nicht kryptografisch unveränderbar

  • verteiltes Sperren in der Produktion liegt außerhalb des Prototyp-Umfangs

  • die MCP-Backend-Bereitstellung ist für kontrollierte Tests ausgelegt

  • der Ablauf von Genehmigungen ist derzeit nicht implementiert

Diese Einschränkungen sind bewusst dokumentiert und nicht versteckt.


Mögliche Erweiterungen

Zukünftige Versionen könnten erkunden:

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

Verwandtes Repository

AgentGuard MCP

Python-Autorisierungsserver, Richtlinien-Engine, Genehmigungsdurchsetzung und Audit-Persistenz:

https://github.com/haisamar/agentguard-mcp


Live-Projekt

AgentGuard

https://agentguard-eight.vercel.app

Interaktive Demo

https://agentguard-eight.vercel.app/demo

Administrator-Konsole

https://agentguard-eight.vercel.app/dashboard

Authentifizierung erforderlich.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    1
    MIT No Attribution
  • A
    license
    Not graded
    quality
    B
    maintenance
    Runtime permission, approval, and audit governance for AI agent tool execution, enabling human oversight of risky actions via an MCP server.
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP 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.
  • F
    license
    Not graded
    quality
    C
    maintenance
    A 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.

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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