Aegis
Aegis MCP Governance Registry
Aegis es una implementación de referencia orientada a producción para gobernar herramientas MCP conscientes de inquilinos. Combina dos endpoints de referencia Streamable HTTP deliberadamente acotados con un panel de registro seguro, resultados de políticas, un flujo de aprobación humana de corta duración y un libro de auditoría a prueba de manipulaciones. No se conecta ni opera sistemas de clientes.
Qué puede demostrar
Capacidad | Implementación en este repositorio |
Endpoints MCP de referencia |
|
Descubrimiento de capacidades | Cada endpoint tiene metadatos de capacidad internos en |
Aplicación de inquilino y alcance | Un adaptador de token portador resuelve un inquilino, principal y alcances antes de cada llamada de herramienta MCP. |
Puerta de políticas | El evaluador de políticas local aplica límites de alcance y de carga útil. Configurar |
Aprobación humana |
|
Auditabilidad | Las actividades de políticas, aprobaciones y ejecución se redactan, son de solo anexo a través de la superficie de la aplicación, están aisladas por inquilino y encadenadas por hash. |
Consola de operador | Los usuarios autenticados pueden inspeccionar servicios de registro, inquilinos, políticas, aprobaciones y el libro de auditoría. Los administradores pueden validar y habilitar/deshabilitar servicios de referencia y tomar decisiones de aprobación. |
La implementación alinea su forma de transporte y descubrimiento de recursos con las especificaciones de autorización y Streamable HTTP de MCP.[1] [2] Sus metadatos de registro privados son una extensión interna; no se presentan como el formato server.json del Registro MCP público.[3]
Related MCP server: Nura MCP Policy Interceptor
Desarrollo local
Necesitas Node.js 22+ y una base de datos compatible con MySQL. Copia los valores de entorno requeridos por tu host, instala las dependencias y lanza la aplicación.
pnpm install
pnpm drizzle-kit generate
pnpm db:push
pnpm devCuando el servicio se inicie, visita la URL del panel e inicia sesión. Los registros semilla se crean de forma diferida la primera vez que un endpoint de gobernanza o una consulta del panel accede al registro. La interfaz de referencia utiliza solo datos semilla deterministas, no sistemas reales de clientes.
Inicio rápido con MCP
Durante el desarrollo local, los tokens de demostración toman la forma exacta que se muestra a continuación. Son un adaptador de desarrollo, no un sustituto de OAuth.
demo|northstar|demo:alice|project:read,incident:read,metrics:read,change:writePara confirmar el contrato del endpoint, ejecuta la prueba de humo incluida después de que el servicio se inicie.
pnpm exec node scripts/mcp-smoke.mjsPara realizar una llamada directa de herramienta JSON-RPC:
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"}}}'El endpoint de escritura sigue el mismo contrato en /mcp/write, pero change.create primero creará un registro de aprobación. Apruébalo desde la consola de Aegis, luego envía la llamada idéntica nuevamente antes de que expire la elevación.
Implementación para principiantes: TiDB Cloud + Render
Esta es la ruta de implementación de bajo costo recomendada para un entorno de aprendizaje o portafolio. TiDB Cloud Starter es compatible con MySQL y requiere TLS para conexiones públicas, mientras que Render puede alojar esta aplicación Node como un servicio web.[4] [5] Los servicios gratuitos de Render pueden dormir cuando están inactivos, así que espera que la primera visita después de la inactividad tarde más.[6]
A. Crear y conectar TiDB Cloud
Crea una instancia Starter con su límite de gasto establecido en 0. En la página de la instancia, haz clic en Conectar en la esquina superior derecha, mantén seleccionado Público, elige General y genera una contraseña. Mantén la contraseña privada.
B. Crear el servicio web de Render
Después de enviar este repositorio a GitHub, abre el panel de Render. Haz clic en + Nuevo en la esquina superior derecha, selecciona Servicio web, haz clic en Conectar junto a este repositorio y usa estos valores exactos.
Campo del formulario de Render | Valor |
Nombre |
|
Rama |
|
Lenguaje |
|
Comando de compilación |
|
Comando de inicio |
|
Tipo de instancia |
|
Directorio raíz | Déjalo vacío |
C. Agregar variables de entorno de Render
En el mismo formulario de Render, abre Avanzado. Bajo Variables de entorno, agrega cada fila a continuación. No pongas ningún valor secreto en GitHub ni en una captura de pantalla.
Clave | Valor |
| La URL de TiDB con esta forma: |
|
|
|
|
|
|
| Un secreto largo y aleatorio recién generado. |
| Una contraseña larga separada que escribirás en el panel después de la implementación. |
|
|
La URL de la base de datos es privada. TiDB Cloud Starter requiere TLS para una conexión pública, y la configuración TIDB_ENABLE_SSL=true de la aplicación lo habilita.[5]
Haz clic en Crear servicio web en la parte inferior del formulario. Render abre la página de Eventos del servicio. Espera hasta que el estado sea En vivo, luego haz clic en el enlace onrender.com que se muestra. En la primera visita, ingresa el valor que configuraste para DASHBOARD_ACCESS_KEY y haz clic en Abrir panel.
D. Verificar
Después de que se abra el panel, visita Registro, Aprobaciones y Libro de auditoría. Usa la prueba de humo con tu URL de Render solo después de configurar deliberadamente un validador de tokens de acceso OAuth real para clientes MCP; los tokens de demostración están deshabilitados por defecto.
Verificación y andamiaje de carga
Ejecuta las pruebas de la aplicación antes de cada lanzamiento.
pnpm check
pnpm test
pnpm exec node scripts/mcp-smoke.mjsEl andamiaje de carga envía solicitudes JSON-RPC independientes, lo cual es apropiado para validar una implementación Streamable HTTP sin estado detrás de un balanceador de carga. Comienza con 100 solicitudes y 20 clientes concurrentes, luego repite después de escalar la implementación a una segunda réplica y compara la latencia p50/p95 y la tasa de error.
CONCURRENCY=20 REQUESTS=100 pnpm exec node scripts/load-test.mjsPara una ejecución oficial de conformidad de protocolo, instala y ejecuta la suite de conformidad MCP oficial actual por separado contra /mcp/read y /mcp/write. Conserva su salida versionada como evidencia de lanzamiento; el script de humo de este repositorio es intencionalmente limitado y no pretende reemplazar esa suite.
Extender la plataforma
Agrega una nueva herramienta de referencia segura insertando su registro y esquema en defaultToolRows en server/governance.ts, extendiendo simulatedToolOutput, luego agrega una prueba y vuelve a ejecutar el script de humo. Una integración real debería estar detrás de una identidad de servicio con privilegios mínimos y devolver solo resultados redactados.
Reemplaza el adaptador de portador de demostración en server/mcp.ts con validación JWT contra tu emisor configurado o realiza la validación en una puerta de enlace de API. La especificación de autorización MCP espera que las implementaciones basadas en HTTP que admiten autorización actúen como servidores de recursos OAuth y publiquen metadatos de recursos protegidos.[2] Para la retención de auditoría en producción, exporta los eventos encadenados por hash a almacenamiento de objetos inmutable o un SIEM y restringe las credenciales de la base de datos para que el principal del servicio no tenga permiso de actualización/eliminación en auditEvents.
Referencias
[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