Sentinel
Sentinel
Локально развертываемый уровень управления для MCP-серверов. Sentinel располагается между вашими ИИ-агентами и вызываемыми ими инструментами, оценивает каждый запрос на соответствие вашим политикам и фиксирует в журнале аудита все произошедшее.
Полностью работает на вашей собственной машине. Postgres — единственная жесткая зависимость: никаких API-ключей, облачного аккаунта и «звонков домой».
agent ──▶ Sentinel proxy ──▶ policy engine ──▶ MCP server
│
└──▶ audit logЗачем это нужно
Если вы даете агенту набор MCP-инструментов, вы вручаете ему возможность действовать. В большинстве конфигураций нет ответа на три вопроса:
Какие инструменты этому агенту разрешено вызывать и при каких условиях?
Что он на самом деле сделал?
Кто утвердил действие, затронувшее продакшен?
Sentinel отвечает на все три вопроса: движок политик оценивает условия для каждого вызова, журнал аудита с режимом только добавления хранит снимки «до/после», а процесс утверждения покрывает все, что вы пометите как чувствительное.
Что входит в комплект
Движок политик | Правила 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 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