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: Nura MCP Policy Interceptor
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 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
- FlicenseNot gradedqualityBmaintenanceMulti-tenant MCP server with OAuth 2.1 authorization, enabling tenant-scoped tool access and audit logging.
- AlicenseBqualityBmaintenanceA governance and policy enforcement gateway for MCP servers that provides hard guardrails, dynamic parameter bounds, human-in-the-loop approvals, and audit telemetry.2158MIT
- FlicenseNot gradedqualityCmaintenanceEnables approval-gated incident response workflows that gather evidence through read-only MCP tools, perform idempotent writes, and preserve a durable audit trail.1
- AlicenseNot gradedqualityBmaintenanceEnforces identity-based access control and audit logging for MCP servers, letting you grant fine-grained tool permissions to users and systems while failing secure by default.MIT
Related MCP Connectors
Remote MCP for Copilot CLI switch gate MCP, structured receipts, audit logs, and reviewer-ready evid
Remote MCP for A2A caller identity, scope policy, verdict receipts, and audit history.
Paid remote MCP for AI Studio Workspace approval gate MCP, structured receipts, audit logs, and revi
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/nithyajangam/MCP-Governance-Registry'
If you have feedback or need assistance with the MCP directory API, please join our Discord server