Aegis
Aegis MCP Governance Registry
Aegis ist eine produktionsorientierte Referenzimplementierung zur Steuerung mandantenfähiger MCP-Tools. Es kombiniert zwei bewusst begrenzte Streamable-HTTP-Referenzendpunkte mit einem sicheren Registry-Dashboard, Policy-Ergebnissen, einem kurzlebigen Freigabeprozess für Menschen und einem manipulationssicheren Audit-Ledger. Es verbindet sich nicht mit Kundensystemen und betreibt diese nicht.
Was Sie demonstrieren können
Fähigkeit | Implementierung in diesem Repository |
Referenz-MCP-Endpunkte |
|
Fähigkeitserkennung | Jeder Endpunkt verfügt über interne Capability-Metadaten unter |
Mandanten- und Scope-Durchsetzung | Ein Bearer-Token-Adapter löst vor jedem MCP-Tool-Aufruf einen Mandanten, einen Principal und Scopes auf. |
Policy-Gate | Der lokale Policy-Evaluator setzt Scope- und Payload-Grenzen durch. Das Setzen von |
Menschliche Genehmigung |
|
Prüfbarkeit | Policy-, Genehmigungs- und Ausführungsaktivitäten werden redigiert, über die Anwendungsoberfläche nur angehängt, mandantenisoliert und hash-verkettet. |
Operator-Konsole | Authentifizierte Benutzer können Registry-Dienste, Mandanten, Richtlinien, Genehmigungen und das Audit-Ledger einsehen. Administratoren können Referenzdienste validieren und aktivieren/deaktivieren sowie Genehmigungsentscheidungen treffen. |
Die Implementierung richtet ihre Transport- und Ressourcenerkennungsform an den MCP-Streamable-HTTP- und Autorisierungsspezifikationen aus.[1] [2] Ihre privaten Registry-Metadaten sind eine interne Erweiterung; sie werden nicht als öffentliches MCP-Registry-server.json-Format dargestellt.[3]
Related MCP server: agent-mcp-workflow-platform
Lokale Entwicklung
Sie benötigen Node.js 22+ und eine MySQL-kompatible Datenbank. Kopieren Sie die für Ihren Host erforderlichen Umgebungsvariablen, installieren Sie die Abhängigkeiten und starten Sie die Anwendung.
pnpm install
pnpm drizzle-kit generate
pnpm db:push
pnpm devWenn der Dienst startet, besuchen Sie die Dashboard-URL und melden Sie sich an. Seed-Datensätze werden beim ersten Zugriff eines Governance-Endpunkts oder einer Dashboard-Abfrage auf die Registry lazy erstellt. Die Referenzoberfläche verwendet nur deterministische Seed-Daten, keine echten Kundensysteme.
MCP-Schnellstart
Während der lokalen Entwicklung haben Demo-Tokens die folgende exakte Form. Sie sind ein Entwicklungsadapter, kein OAuth-Ersatz.
demo|northstar|demo:alice|project:read,incident:read,metrics:read,change:writeUm den Endpunktvertrag zu bestätigen, führen Sie den enthaltenen Smoke-Test aus, nachdem der Dienst gestartet ist.
pnpm exec node scripts/mcp-smoke.mjsUm einen direkten JSON-RPC-Tool-Aufruf durchzuführen:
curl -sS -X POST http://localhost:3000/mcp/read \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer demo|northstar|demo:alice|project:read' \
-H 'MCP-Protocol-Version: 2026-07-28' \
-H 'Mcp-Method: tools/call' \
-H 'Mcp-Name: project.search' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"project.search","arguments":{"query":"telemetry"},"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28"}}}'Der Write-Endpunkt folgt demselben Vertrag unter /mcp/write, aber change.create erstellt zuerst einen Genehmigungsdatensatz. Genehmigen Sie ihn über die Aegis-Konsole und senden Sie dann denselben identischen Aufruf erneut, bevor die Elevation abläuft.
Einsteiger-Bereitstellung: TiDB Cloud + Render
Dies ist der empfohlene kostengünstige Bereitstellungspfad für eine Lern- oder Portfolio-Umgebung. TiDB Cloud Starter ist MySQL-kompatibel und erfordert TLS für öffentliche Verbindungen, während Render diese Node-Anwendung als Web Service hosten kann.[4] [5] Kostenlose Render-Dienste können im Leerlauf schlafen, daher sollten Sie damit rechnen, dass der erste Besuch nach Inaktivität länger dauert.[6]
A. TiDB Cloud erstellen und verbinden
Erstellen Sie eine Starter-Instanz mit einem Ausgabenlimit von 0. Klicken Sie auf der Instanzseite oben rechts auf Connect, lassen Sie Public ausgewählt, wählen Sie General und generieren Sie ein Passwort. Bewahren Sie das Passwort privat auf.
B. Render-Web-Service erstellen
Nachdem Sie dieses Repository auf GitHub gepusht haben, öffnen Sie das Render-Dashboard. Klicken Sie oben rechts auf + New, wählen Sie Web Service, klicken Sie neben diesem Repository auf Connect und verwenden Sie diese exakten Werte.
Render-Formularfeld | Wert |
Name |
|
Branch |
|
Sprache |
|
Build-Befehl |
|
Start-Befehl |
|
Instanztyp |
|
Stammverzeichnis | Leer lassen |
C. Render-Umgebungsvariablen hinzufügen
Öffnen Sie im selben Render-Formular Advanced. Fügen Sie unter Environment Variables jede Zeile unten hinzu. Geben Sie keinen geheimen Wert in GitHub oder in einen Screenshot ein.
Schlüssel | Wert |
| Die TiDB-URL in dieser Form: |
|
|
|
|
|
|
| Ein neu generiertes langes Zufallsgeheimnis. |
| Ein separates langes Passwort, das Sie nach der Bereitstellung in das Dashboard eingeben. |
|
|
Die Datenbank-URL ist privat. TiDB Cloud Starter erfordert TLS für eine öffentliche Verbindung, und die Konfiguration TIDB_ENABLE_SSL=true der App aktiviert es.[5]
Klicken Sie unten im Formular auf Create Web Service. Render öffnet die Events-Seite des Dienstes. Warten Sie, bis der Status Live ist, und klicken Sie dann auf den angezeigten onrender.com-Link. Geben Sie beim ersten Besuch den Wert ein, den Sie für DASHBOARD_ACCESS_KEY festgelegt haben, und klicken Sie auf Open dashboard.
D. Überprüfen
Nachdem das Dashboard geöffnet ist, besuchen Sie Registry, Approvals und Audit ledger. Verwenden Sie den Smoke-Test mit Ihrer Render-URL erst, nachdem Sie absichtlich einen echten OAuth-Zugriffstoken-Validator für MCP-Clients konfiguriert haben; Demo-Tokens sind standardmäßig deaktiviert.
Verifikation und Last-Scaffold
Führen Sie vor jedem Release die Anwendungstests aus.
pnpm check
pnpm test
pnpm exec node scripts/mcp-smoke.mjsDas Last-Scaffold sendet unabhängige JSON-RPC-Anfragen, was zur Validierung einer zustandslosen Streamable-HTTP-Bereitstellung hinter einem Load Balancer geeignet ist. Beginnen Sie mit 100 Anfragen und 20 gleichzeitigen Clients, wiederholen Sie dann nach dem Skalieren der Bereitstellung auf eine zweite Replik und vergleichen Sie p50/p95-Latenz und Fehlerrate.
CONCURRENCY=20 REQUESTS=100 pnpm exec node scripts/load-test.mjsFür einen offiziellen Protokoll-Konformitätslauf installieren und führen Sie die aktuelle offizielle MCP-Konformitätssuite separat gegen sowohl /mcp/read als auch /mcp/write aus. Bewahren Sie die versionierte Ausgabe als Release-Nachweis auf; das Smoke-Skript dieses Repositorys ist bewusst eng gefasst und erhebt nicht den Anspruch, diese Suite zu ersetzen.
Erweiterung der Plattform
Fügen Sie ein neues sicheres Referenz-Tool hinzu, indem Sie seinen Registry-Eintrag und sein Schema in defaultToolRows in server/governance.ts einfügen, simulatedToolOutput erweitern, dann einen Test hinzufügen und das Smoke-Skript erneut ausführen. Eine echte Integration sollte hinter einer Service-Identität mit geringsten Rechten liegen und nur redigierte Ergebnisse zurückgeben.
Ersetzen Sie den Demo-Bearer-Adapter in server/mcp.ts durch JWT-Validierung gegen Ihren konfigurierten Issuer oder führen Sie die Validierung an einem API-Gateway durch. Die MCP-Autorisierungsspezifikation erwartet, dass HTTP-basierte Implementierungen, die Autorisierung unterstützen, als OAuth-Ressourcenserver fungieren und Metadaten für geschützte Ressourcen veröffentlichen.[2] Für die Produktions-Audit-Aufbewahrung exportieren Sie die hash-verketteten Ereignisse in unveränderlichen Objektspeicher oder ein SIEM und schränken Sie Datenbankanmeldeinformationen so ein, dass der Dienstprinzipal keine Update-/Löschberechtigung für auditEvents hat.
Referenzen
[1] Model Context Protocol — Streamable HTTP
[2] Model Context Protocol — Authorization
[3] Model Context Protocol — Registry overview
[4] TiDB Cloud — Select Your Plan
This server cannot be deployed
Maintenance
Related MCP Connectors
Governed MCP gateway: one endpoint for your tools, with credential custody and audit log.
Human-in-the-loop review and approval for AI agents. Audit trail, approval policies, native MCP.
Remote MCP for Copilot CLI switch gate MCP, structured receipts, audit logs, and reviewer-ready evid
- gatewayOAuthai.sealgate
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
Related MCP Servers
- AlicenseBqualityBmaintenanceA governance and policy enforcement gateway for MCP servers that provides hard guardrails, dynamic parameter bounds, human-in-the-loop approvals, and audit telemetry.25 npmMIT
- FlicenseNot gradedqualityCmaintenanceEnables approval-gated incident response workflows that gather evidence through read-only MCP tools, perform idempotent writes, and preserve a durable audit trail.-
- AlicenseNot gradedqualityBmaintenanceEnforces fine-grained, context-aware access control on MCP tool calls, with a tamper-evident, replayable audit log that records denials and verifies every decision.MIT
- AlicenseAqualityDmaintenanceEnables policy-governed MCP interactions with deterministic authorization, tenant isolation, minimized PII exposure, and human approval gates for sensitive mutations, while producing structured audit events.3MIT