Skip to main content
Glama
gong8

Sentinel

by gong8

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

Веб-консоль

http://localhost:5173

Сайт документации

http://localhost:5174

API

http://localhost:3000

MCP-прокси

http://localhost:3001

Административный MCP

http://localhost:3003

Сид-скрипт создает организацию 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.

Пакет

Строки

Что делает

api

~72k

tRPC API — сервисы, маршрутизаторы, оценка политик, аудит

web

~73k

Консоль администратора и пользователя на React

docs

~11k

Сайт документации

shared

~6k

Общие типы, оценка условий, определения административных инструментов

mcp

~4.7k

MCP-прокси-сервер (HTTP, STDIO, WebSocket, SSE)

db

~3.3k

Схема Prisma — 67 моделей

a2a

~2.5k

Прокси протокола Agent-to-Agent

mcp-admin

~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 как сетевой сервис, вы должны предоставить его пользователям доступ к вашим изменениям.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    A local-first control plane for AI agent tools, providing policy enforcement, spend caps, rate limiting, and audit trails for MCP servers.
    1
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An open-source MCP server that protects AI agents at runtime by evaluating every tool call against YAML policies and generating audit trails.
    1
    Apache 2.0
  • F
    license
    A
    quality
    B
    maintenance
    A 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
    -