Sentinel
Sentinel
Una capa de gobernanza autoalojada para servidores MCP. Sentinel se sitúa entre tus agentes de IA y las herramientas que llaman, evalúa cada solicitud según tus políticas y escribe un registro de auditoría de lo que sucedió.
Se ejecuta completamente en tu propia máquina. Postgres es la única dependencia obligatoria: sin claves de API, sin cuenta en la nube, sin llamadas a casa.
agent ──▶ Sentinel proxy ──▶ policy engine ──▶ MCP server
│
└──▶ audit logPor qué existe esto
Si le das a un agente un conjunto de herramientas MCP, le has dado la capacidad de actuar. La mayoría de las configuraciones no tienen respuesta a tres preguntas:
¿Qué herramientas puede llamar este agente y bajo qué condiciones?
¿Qué hizo realmente?
¿Quién aprobó lo que tocó producción?
Sentinel responde a las tres con un motor de políticas que evalúa condiciones por llamada, un registro de auditoría de solo añadidura con instantáneas antes/después, y un flujo de aprobación para cualquier cosa que marques como sensible.
Qué incluye
Motor de políticas | Reglas ALLOW/DENY con árboles de condiciones. DENY siempre gana: no puede ser anulado por un ALLOW posterior |
Condiciones | Dos modos: SIMPLE (matriz plana) y ADVANCED (árboles de expresiones AND/OR anidados) |
Proxy MCP | Multitransporte: HTTP, STDIO, WebSocket, SSE |
Registro de auditoría | Cada llamada a herramienta, cambio de política, evento de autenticación y acción de administración, con instantáneas antes/después |
Multitenencia | Organizaciones → espacios de trabajo → miembros, con alcance en la capa de consulta |
Aprobaciones | Marca herramientas como sensibles; las llamadas se bloquean pendientes de aprobación humana |
Credenciales | Cifrado AES-256-GCM en reposo para credenciales de servidores ascendentes |
Servidor MCP de administración | 40 herramientas para que un agente pueda administrar el propio Sentinel |
Proxy A2A | Soporte del protocolo agente a agente |
Interfaz web | Consola completa de administración y usuario |
Inicio rápido
Requiere Node 20+, pnpm y 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 dev¿Necesitas Postgres? docker compose up -d postgres inicia uno.
Eso te da:
Servicio | URL |
Consola web | |
Sitio de documentación | |
API | |
Proxy MCP | |
MCP de administración |
La semilla crea una organización Acme Corporation con tres usuarios e imprime sus tokens de acceso. Ejecuta pnpm db:creds en cualquier momento para volver a imprimirlos.
Apunta un agente a ello
Añade el proxy a la configuración de tu cliente MCP:
{
"mcpServers": {
"sentinel": {
"url": "http://localhost:3001/mcp",
"headers": { "Authorization": "Bearer YOUR_ACCESS_TOKEN" }
}
}
}Registra servidores ascendentes en la consola web, escribe políticas para sus herramientas y cada llamada ahora se enruta a través del motor de políticas.
Opcional: funciones de agente
Sentinel tiene un agente administrador integrado (configuración mediante chat). Necesita un LLM y admite varios proveedores, incluidos los totalmente locales, para que nunca tengas que comprar una clave de API:
Ollama o cualquier endpoint compatible con OpenAI (LM Studio, llama.cpp, vLLM): local y gratuito
Anthropic, OpenAI o Gemini, si prefieres traer una clave
Todo lo demás en Sentinel funciona sin ningún LLM configurado.
Arquitectura
Un monorepo de pnpm + Turborepo.
Paquete | Líneas | Qué hace |
| ~72k | API tRPC: servicios, enrutadores, evaluación de políticas, auditoría |
| ~73k | Consola de administración y usuario en React |
| ~11k | Sitio de documentación |
| ~6k | Tipos compartidos, evaluación de condiciones, definiciones de herramientas de administración |
| ~4.7k | Servidor proxy MCP (HTTP, STDIO, WebSocket, SSE) |
| ~3.3k | Esquema de Prisma: 67 modelos |
| ~2.5k | Proxy del protocolo agente a agente |
| ~1.7k | Servidor MCP de administración (40 herramientas) |
Aproximadamente 177 mil líneas de código fuente y 163 mil líneas de pruebas en 218 archivos de prueba.
La pieza más reutilizable es packages/api/src/services/policyCondition.ts: un evaluador de árboles de condiciones de ~1300 líneas sin más dependencias que Zod y un registrador. No sabe nada de MCP, Prisma ni Sentinel, y podría extraerse a cualquier proyecto que necesite expresiones de políticas.
La documentación más detallada está en docs/: comienza en docs/README.md.
Pruebas
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, testsConvenciones del proyecto
Este código base se adhiere a algunas reglas innegociables, aplicadas por la configuración de lint y los ganchos de git en .claude/hooks/:
Sin aserciones de tipo
as(exceptoas const), sinany, sin@ts-ignore, sineslint-disableCada consulta a la base de datos con alcance a
organizationIdToda entrada validada con Zod
Credenciales cifradas antes de almacenarse
Acciones sensibles registradas en auditoría, acciones de administración con instantáneas antes/después
Las políticas DENY no se pueden eludir, y eso se prueba explícitamente
Consulta CLAUDE.md para la guía de desarrollo completa.
Contribuciones
Consulta CONTRIBUTING.md. Problemas de seguridad: SECURITY.md.
Licencia
GNU AGPL-3.0. Si ejecutas un Sentinel modificado como servicio de red, debes poner tus modificaciones a disposición de sus usuarios.
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