Sentinel
Sentinel
Eine selbst gehostete Governance-Ebene für MCP-Server. Sentinel sitzt zwischen deinen KI-Agenten und den Tools, die sie aufrufen, bewertet jede Anfrage anhand deiner Richtlinien und schreibt einen Prüfpfad darüber, was passiert ist.
Läuft vollständig auf deiner eigenen Maschine. Postgres ist die einzige harte Abhängigkeit – keine API-Schlüssel, kein Cloud-Konto, kein Zurücktelefonieren nach Hause.
agent ──▶ Sentinel proxy ──▶ policy engine ──▶ MCP server
│
└──▶ audit logWarum es das gibt
Wenn du einem Agenten einen Satz MCP-Tools gibst, hast du ihm die Fähigkeit zum Handeln übergeben. Die meisten Einrichtungen haben keine Antwort auf drei Fragen:
Welche Tools darf dieser Agent unter welchen Bedingungen aufrufen?
Was hat er tatsächlich getan?
Wer hat die Sache genehmigt, die die Produktion berührt hat?
Sentinel beantwortet alle drei mit einer Policy-Engine, die Bedingungen pro Aufruf auswertet, einem append-only Audit-Log mit Vorher/Nachher-Snapshots und einem Genehmigungsworkflow für alles, was du als sensibel markierst.
Was in der Box ist
Policy-Engine | ALLOW/DENY-Regeln mit Bedingungsbäumen. DENY gewinnt immer – es kann nicht durch ein späteres ALLOW überschrieben werden |
Bedingungen | Zwei Modi: SIMPLE (flaches Array) und ADVANCED (verschachtelte AND/OR-Ausdrucksbäume) |
MCP-Proxy | Multi-Transport: HTTP, STDIO, WebSocket, SSE |
Audit-Log | Jeder Tool-Aufruf, jede Richtlinienänderung, jedes Authentifizierungsereignis und jede Admin-Aktion mit Vorher/Nachher-Snapshots |
Multi-Tenancy | Organisationen → Arbeitsbereiche → Mitglieder, auf der Abfrageebene begrenzt |
Genehmigungen | Tools als sensibel markieren; Aufrufe blockieren bis zur menschlichen Genehmigung |
Anmeldedaten | AES-256-GCM-Verschlüsselung im Ruhezustand für Upstream-Server-Anmeldedaten |
Admin-MCP-Server | 40 Tools, damit ein Agent Sentinel selbst verwalten kann |
A2A-Proxy | Agent-zu-Agent-Protokollunterstützung |
Web-UI | Vollständige Admin- und Benutzerkonsole |
Schnellstart
Erfordert Node 20+, pnpm und Postgres.
git clone https://github.com/gong8/sentinel-oss.git
cd sentinel-oss
cp .env.example .env # generate secrets, point DATABASE_URL at your Postgres
pnpm setup # install, generate client, push schema, seed
pnpm devDu brauchst ein Postgres? docker compose up -d postgres startet eines.
Das bringt dir:
Dienst | URL |
Web-Konsole | |
Doku-Site | |
API | |
MCP-Proxy | |
Admin-MCP |
Das Seed erstellt eine Acme Corporation-Organisation mit drei Benutzern und gibt deren Zugriffstokens aus. Führe jederzeit pnpm db:creds aus, um sie erneut anzuzeigen.
Einen Agenten darauf ausrichten
Füge den Proxy zu deiner MCP-Client-Konfiguration hinzu:
{
"mcpServers": {
"sentinel": {
"url": "http://localhost:3001/mcp",
"headers": { "Authorization": "Bearer YOUR_ACCESS_TOKEN" }
}
}
}Registriere Upstream-Server in der Web-Konsole, schreibe Richtlinien gegen ihre Tools, und jeder Aufruf wird nun durch die Policy-Engine geleitet.
Optional: Agent-Funktionen
Sentinel hat einen eingebauten Admin-Agenten (konfiguriere per Chat). Er benötigt ein LLM und unterstützt mehrere Anbieter – einschließlich vollständig lokaler, sodass du nie einen API-Schlüssel kaufen musst:
Ollama oder jeder OpenAI-kompatible Endpunkt (LM Studio, llama.cpp, vLLM) – lokal, kostenlos
Anthropic, OpenAI oder Gemini – falls du lieber einen Schlüssel mitbringst
Alles andere in Sentinel funktioniert ohne konfiguriertes LLM.
Architektur
Ein pnpm + Turborepo-Monorepo.
Paket | Zeilen | Was es tut |
| ~72k | tRPC-API – Dienste, Router, Policy-Auswertung, Audit |
| ~73k | React-Admin- und Benutzerkonsole |
| ~11k | Dokumentationsseite |
| ~6k | Gemeinsame Typen, Bedingungsauswertung, Admin-Tool-Definitionen |
| ~4.7k | MCP-Proxy-Server (HTTP, STDIO, WebSocket, SSE) |
| ~3.3k | Prisma-Schema – 67 Modelle |
| ~2.5k | Agent-zu-Agent-Protokoll-Proxy |
| ~1.7k | Admin-MCP-Server (40 Tools) |
Ungefähr 177k Zeilen Quellcode und 163k Zeilen Tests in 218 Testdateien.
Das am besten wiederverwendbare Stück ist packages/api/src/services/policyCondition.ts – ein ~1.300-zeiliger Bedingungsauswerter ohne andere Abhängigkeiten als Zod und einen Logger. Er weiß nichts über MCP, Prisma oder Sentinel und könnte in jedes Projekt übernommen werden, das Policy-Ausdrücke benötigt.
Ausführlichere Dokumentation findest du in docs/ – beginne bei docs/README.md.
Testen
pnpm test:unit # no database needed
pnpm test:integration # requires TEST_DATABASE_URL
pnpm test:security # tenant isolation, DENY precedence
pnpm test:e2e # Playwright
pnpm check # format, lint, types, testsProjektkonventionen
Dieses Codebase hält sich an ein paar nicht verhandelbare Regeln, die durch Lint-Konfiguration und Git-Hooks in .claude/hooks/ erzwungen werden:
Keine
as-Typzusicherungen (außeras const), keinany, kein@ts-ignore, keineslint-disableJede Datenbankabfrage auf
organizationIdbegrenztAlle Eingaben mit Zod validiert
Anmeldedaten vor der Speicherung verschlüsselt
Sensitive Aktionen audit-logged, Admin-Aktionen mit Vorher/Nachher-Snapshots
DENY-Richtlinien können nicht umgangen werden, und das wird explizit getestet
Siehe CLAUDE.md für den vollständigen Entwicklungsleitfaden.
Mitwirken
Siehe CONTRIBUTING.md. Sicherheitsfragen: SECURITY.md.
Lizenz
GNU AGPL-3.0. Wenn du ein modifiziertes Sentinel als Netzwerkdienst betreibst, musst du deine Änderungen den Nutzern zugänglich machen.
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 Connectors
See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Hosted MCP server for agent governance: MCP config audits, injection scans, scope-policy checks.
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/gong8/sentinel-oss'
If you have feedback or need assistance with the MCP directory API, please join our Discord server