agent-guard-mcp
agent-guard-mcp
MCP Guard Server — Budgetkontrolle, Genehmigungs-Workflows und Audit-Logging für KI-Agenten.
Funktioniert mit Claude Code, Cursor, ChatGPT und jedem KI-Agenten, der das MCP-Protokoll unterstützt.
Funktionen
Budgetkontrolle — Ein hartes Limit für tägliche Credits verhindert, dass Agenten zu viel ausgeben
Genehmigung bei hohem Risiko — Vorgänge, die einen bestimmten Betrag überschreiten oder sensible Ressourcen-Schlüsselwörter enthalten, erfordern eine menschliche Genehmigung
Genehmigungs-Workflow — Agentenanfrage → Token wird generiert → Mensch genehmigt über Dashboard oder Telegram
Audit-Log — Alle Ausgaben, Genehmigungen und Ablehnungen werden mit cursorbasierter Paginierung aufgezeichnet
Web-Dashboard — Echtzeit-Dashboard mit Gin + HTMX + Tailwind
Telegram-Benachrichtigungen — Sofortige Genehmigungslinks für risikoreiche Vorgänge
Multi-Transport — stdio / SSE / StreamableHTTP mit automatischer Erkennung
MCP-Tools
Tool | Beschreibung |
| Abfrage des heutigen Budgetstatus |
| Ausführung einer Ausgabe (erkennt automatisch hohes Risiko) |
| Explizite Anforderung einer menschlichen Genehmigung |
| Genehmigung eines ausstehenden Tokens |
| Ablehnung eines ausstehenden Tokens |
| Abfrage des Genehmigungsstatus |
| Abfrage des Audit-Logs mit Filtern und Paginierung |
| Auflistung aller ausstehenden Genehmigungsanfragen |
Schnellstart
Voraussetzungen
Go 1.24+
Kein CGO erforderlich (reiner Go SQLite-Treiber)
Aus dem Quellcode bauen
git clone https://github.com/dygogogo/agent-guard-mcp.git
cd agent-guard-mcp
go build -o mcp-guard main.goVorkompiliertes Binary herunterladen
Laden Sie das neueste Release für Ihre Plattform herunter:
Plattform | amd64 | arm64 |
macOS | ||
Linux | ||
Windows |
Oder besuchen Sie die Seite latest release.
Konfiguration
Konfiguration über Umgebungsvariablen oder eine .env-Datei:
Variable | Beschreibung | Standard |
| Transport: stdio / sse / http | Auto-Erkennung (TTY → http) |
| Tägliches Budgetlimit (Credits) | 10.0 |
| Schwellenwert für hohes Risiko | 2.0 |
| Schlüsselwörter für risikoreiche Ressourcen (kommagetrennt) | delete,send |
| Pfad zur SQLite-Datenbank | ./mcp-guard.db |
| HTTP-Port des Dashboards | 8080 |
| Basis-URL für Genehmigungslinks | |
| Log-Level: debug/info/warn/error | info |
| Zahler-Identität | hostname |
| Telegram Bot Token (optional) | - |
| Telegram Chat ID (optional) | - |
Ausführung
# HTTP mode (auto-detected, with Dashboard)
./mcp-guard
# Dashboard: http://localhost:8080/dashboard
# MCP endpoint: http://localhost:8080/mcp
# stdio mode (for MCP clients)
MCP_TRANSPORT=stdio ./mcp-guard
# SSE mode
MCP_TRANSPORT=sse ./mcp-guard
# SSE endpoint: http://localhost:8080/sseClaude Code Integration
Zur MCP-Konfiguration von Claude Code hinzufügen:
{
"mcpServers": {
"agent-guard-mcp": {
"command": "mcp-guard",
"env": {
"MCP_TRANSPORT": "stdio",
"BUDGET_LIMIT": "10"
}
}
}
}Architektur
┌─────────────┐ MCP Protocol ┌────────────────┐
│ AI Agent │ ◄──────────────────► │ MCP Guard │
│ (Claude, │ stdio / HTTP │ Server │
│ Cursor...) │ │ │
└─────────────┘ │ ┌────────────┐ │
│ │ BudgetStore │ │
┌─────────────┐ HTTP │ │ (SQLite) │ │
│ Dashboard │ ◄──────────────────► │ └────────────┘ │
│ (Gin+HTMX) │ └────────────────┘
└─────────────┘
┌─────────────┐ Webhook
│ Telegram │ ◄────── Approval notifications
└─────────────┘Kern-Dateien
Datei | Beschreibung |
| Einstiegspunkt, Transportauswahl, geordnetes Herunterfahren |
| MCP-Server mit 8 registrierten Tools |
| BudgetStore-Interface + SQLite-Implementierung |
| Erkennung von hohem Risiko, Genehmigungs-Workflow, Telegram |
| Umgebungskonfiguration, automatische Transport-Erkennung |
| zap-Logging (stdio-Modus: nur Datei) |
| Gin Web-Dashboard |
Genehmigungs-Workflow
1. Agent calls spend(amount=5.0, resource="/api/delete")
2. MCP Guard detects high-risk (amount > threshold OR resource keyword matched)
3. Returns {status: "pending_approval", token: "xxx"}
4. Agent polls check_approval(token) for status
5. Human approves/rejects via Dashboard or Telegram
6. Agent receives final result (approved/rejected/budget_exceeded)Testen
# All tests with race detection
go test -race -count=1 ./...
# Integration tests only
go test -race -run TestIntegration -v ./...
# Coverage
go test -race -cover ./...Tech-Stack
Go 1.24 — Sprache
mcp-go — MCP-Protokoll Go SDK
Gin — Web-Framework (Dashboard)
modernc.org/sqlite — Reines Go SQLite (kein CGO)
zap — Strukturiertes Logging
HTMX + Tailwind CSS — Dashboard-Frontend
Lizenz
MIT
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/dygogogo/agent-guard-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server