Sentinel
Sentinel
Локально развертываемый уровень управления для MCP-серверов. Sentinel располагается между вашими ИИ-агентами и вызываемыми ими инструментами, оценивает каждый запрос на соответствие вашим политикам и фиксирует в журнале аудита все произошедшее.
Полностью работает на вашей собственной машине. Postgres — единственная жесткая зависимость: никаких API-ключей, облачного аккаунта и «звонков домой».
agent ──▶ Sentinel proxy ──▶ policy engine ──▶ MCP server
│
└──▶ audit logЗачем это нужно
Если вы даете агенту набор MCP-инструментов, вы вручаете ему возможность действовать. В большинстве конфигураций нет ответа на три вопроса:
Какие инструменты этому агенту разрешено вызывать и при каких условиях?
Что он на самом деле сделал?
Кто утвердил действие, затронувшее продакшен?
Sentinel отвечает на все три вопроса: движок политик оценивает условия для каждого вызова, журнал аудита с режимом только добавления хранит снимки «до/после», а процесс утверждения покрывает все, что вы пометите как чувствительное.
Related MCP server: AISentinel
Что входит в комплект
Движок политик | Правила ALLOW/DENY с деревьями условий. DENY всегда побеждает — его нельзя переопределить более поздним ALLOW |
Условия | Два режима: SIMPLE (плоский массив) и ADVANCED (вложенные деревья выражений AND/OR) |
MCP-прокси | Несколько транспортов: HTTP, STDIO, WebSocket, SSE |
Журнал аудита | Каждый вызов инструмента, изменение политики, событие аутентификации и действие администратора, со снимками «до/после» |
Мультитенантность | Организации → рабочие пространства → участники, с ограничением на уровне запросов |
Согласования | Помечайте инструменты как чувствительные; вызовы блокируются до утверждения человеком |
Учетные данные | Шифрование AES-256-GCM при хранении для учетных данных вышестоящих серверов |
Административный MCP-сервер | 40 инструментов, чтобы агент мог администрировать сам Sentinel |
A2A-прокси | Поддержка протокола Agent-to-Agent |
Веб-интерфейс | Полноценная консоль администратора и пользователя |
Быстрый старт
Требуются Node 20+, pnpm и 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Нужен Postgres? docker compose up -d postgres запустит его.
Вот что вы получите:
Сервис | URL |
Веб-консоль | |
Сайт документации | |
API | |
MCP-прокси | |
Административный MCP |
Сид-скрипт создает организацию Acme Corporation с тремя пользователями и выводит их токены доступа. Запустите pnpm db:creds в любое время, чтобы вывести их снова.
Подключите к нему агента
Добавьте прокси в конфигурацию вашего MCP-клиента:
{
"mcpServers": {
"sentinel": {
"url": "http://localhost:3001/mcp",
"headers": { "Authorization": "Bearer YOUR_ACCESS_TOKEN" }
}
}
}Зарегистрируйте вышестоящие серверы в веб-консоли, создайте политики для их инструментов — и теперь каждый вызов проходит через движок политик.
Опционально: возможности агента
В Sentinel есть встроенный административный агент (вся настройка — через чат). Ему нужна LLM, и он поддерживает несколько провайдеров — включая полностью локальные, так что вам никогда не придется покупать API-ключ:
Ollama или любая совместимая с OpenAI конечная точка (LM Studio, llama.cpp, vLLM) — локально и бесплатно
Anthropic, OpenAI или Gemini — если предпочитаете использовать свой ключ
Все остальное в Sentinel работает вообще без настроенной LLM.
Архитектура
Монорепозиторий на pnpm + Turborepo.
Пакет | Строки | Что делает |
| ~72k | tRPC API — сервисы, маршрутизаторы, оценка политик, аудит |
| ~73k | Консоль администратора и пользователя на React |
| ~11k | Сайт документации |
| ~6k | Общие типы, оценка условий, определения административных инструментов |
| ~4.7k | MCP-прокси-сервер (HTTP, STDIO, WebSocket, SSE) |
| ~3.3k | Схема Prisma — 67 моделей |
| ~2.5k | Прокси протокола Agent-to-Agent |
| ~1.7k | Административный MCP-сервер (40 инструментов) |
Примерно 177k строк исходного кода и 163k строк тестов в 218 тестовых файлах.
Самый переиспользуемый компонент — packages/api/src/services/policyCondition.ts — оценщик деревьев условий объемом ~1300 строк без зависимостей, кроме Zod и логгера. Он ничего не знает об MCP, Prisma или Sentinel, и его можно перенести в любой проект, которому нужны выражения политик.
Более подробная документация находится в docs/ — начните с docs/README.md.
Тестирование
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, testsСоглашения проекта
Эта кодовая база придерживается нескольких незыблемых правил, которые обеспечиваются конфигурацией линтера и git-хуками в .claude/hooks/:
Никаких утверждений типа
as(кромеas const), никакогоany,@ts-ignoreиeslint-disableКаждый запрос к базе данных ограничен
organizationIdВсе входные данные проверяются с помощью Zod
Учетные данные шифруются перед хранением
Чувствительные действия записываются в журнал аудита, действия администратора — со снимками «до/после»
Политики DENY нельзя обойти, и это явно проверяется тестами
Полное руководство по разработке см. в CLAUDE.md.
Участие в разработке
См. CONTRIBUTING.md. Проблемы безопасности: SECURITY.md.
Лицензия
GNU AGPL-3.0. Если вы запускаете модифицированный Sentinel как сетевой сервис, вы должны предоставить его пользователям доступ к вашим изменениям.
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
- gatewayOAuthai.sealgate
MCP gateway with runtime security policy, tool-call-level control, and audit of agent actions.
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
MCP enforcement layer that intercepts AI agent actions and blocks rule violations before execution.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA local-first control plane for AI agent tools, providing policy enforcement, spend caps, rate limiting, and audit trails for MCP servers.1Apache 2.0
- AlicenseNot gradedqualityCmaintenanceAn open-source MCP server that protects AI agents at runtime by evaluating every tool call against YAML policies and generating audit trails.1Apache 2.0
- AlicenseNot gradedqualityCmaintenanceAn MCP server that provides a governance layer for coding agents, enforcing policies, validation, and human-in-the-loop for tool calls without requiring an API key.MIT
- FlicenseAqualityBmaintenanceA governance layer for MCP servers that classifies tools by risk, enforces agent permissions, lets safe tools earn autonomy through a track record, and keeps an audit trail. Requires human approval for irreversible actions and provides blast radius context.14-