Skip to main content
Glama
gong8

Sentinel

by gong8

Sentinel

MCPサーバーのためのセルフホスト型ガバナンスレイヤー。 Sentinelは、AIエージェントとその呼び出すツールの間に立ち、すべてのリクエストをポリシーに照らして評価し、何が起きたかの監査証跡を書き残します。

完全に自分のマシン上で動作します。必須の依存はPostgresのみ — APIキーも、クラウドアカウントも、外部への通信も一切不要です。

agent ──▶ Sentinel proxy ──▶ policy engine ──▶ MCP server
                                   │
                                   └──▶ audit log

存在理由

エージェントに一連のMCPツールを与えるということは、そのエージェントに行動する能力を委ねることです。しかし、ほとんどのセットアップは次の3つの問いに答えられていません。

  • このエージェントはどのツールを、どのような条件下で呼び出し許可されるのか?

  • 実際にそれは何を実行したのか?

  • 本番環境に触れた操作を承認したのは誰か?

Sentinelは、呼び出しごとに条件を評価するポリシーエンジン、変更前後のスナップショット付きの追記型監査ログ、機微として指定した操作を対象とする承認ワークフローという3つの仕組みによって、そのすべてに答えます。

Related MCP server: AISentinel

同梱内容

機能

説明

ポリシーエンジン

条件ツリーによるALLOW/DENYルール。DENYは常に優先され、後続のALLOWで上書きすることはできません

条件

SIMPLE(フラットな配列)とADVANCED(ネストしたAND/OR式ツリー)の2つのモード

MCPプロキシ

HTTP、STDIO、WebSocket、SSEのマルチトランスポート対応

監査ログ

すべてのツール呼び出し、ポリシー変更、認証イベント、管理アクションを変更前後スナップショット付きで記録

マルチテナンシー

組織 → ワークスペース → メンバー。クエリレイヤーでスコープされます

承認

ツールを機微としてフラグし、人間の承認が完了するまで呼び出しをブロック

認証情報

上流サーバーの認証情報をAES-256-GCMで保存時に暗号化

管理用MCPサーバー

Sentinel自体をエージェントが管理できる40のツール

A2Aプロキシ

Agent-to-Agentプロトコルのサポート

Web UI

機能が揃った管理コンソールとユーザーコンソール

クイックスタート

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

Webコンソール

http://localhost:5173

ドキュメントサイト

http://localhost:5174

API

http://localhost:3000

MCPプロキシ

http://localhost:3001

管理用MCP

http://localhost:3003

シード処理は、3人のユーザーを持つ Acme Corporation 組織を作成し、そのアクセストークンを表示します。再表示したいときはいつでも pnpm db:creds を実行してください。

エージェントに接続させる

MCPクライアント設定にプロキシを追加してください:

{
  "mcpServers": {
    "sentinel": {
      "url": "http://localhost:3001/mcp",
      "headers": { "Authorization": "Bearer YOUR_ACCESS_TOKEN" }
    }
  }
}

Webコンソールで上流サーバーを登録し、それらのツールに対してポリシーを書けば、以降すべての呼び出しはポリシーエンジンを通過します。

オプション: エージェント機能

Sentinelには組み込みの管理エージェントがあり、チャットで会話しながら設定できます。これにはLLMが必要ですが、完全にローカルなものも含めて複数のプロバイダをサポートしており、APIキーを購入する必要は一切ありません。

  • Ollama や任意のOpenAI互換エンドポイント(LM Studio、llama.cpp、vLLM) — ローカルで無料

  • Anthropic、OpenAI、Gemini — キーを持ち込みたい場合向け

Sentinelの他のすべての機能はインターLLMを一切設定しなくても動作します。

アーキテクチャ

pnpm + Turborepoで構成されるモノレポです。

パッケージ

行数

説明

api

~54k

tRPC API — サービス、ルーター、ポリシー評価、監査

web

~4k

React (admin + user console)

web

~24k

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ツール)

あわせてソースは約 179k行、テストは 163k行 が218のテストファイルにあります。

最も再利用可能な部品は packages/api/src/services/policyCondition.ts — 約1,300行の条件ツリー評価器で、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

プロジェクト規約

このコードベースには、絶対に曲げないルールがいくつかあり、.claude/hooks/ のリント設定とgitフックで強制しています:

  • 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
    -