Sentinel
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 devPostgresが要なら、docker compose up -d postgres で起動できます。
これで以下が利用できます:
サービス | URL |
Webコンソール | |
ドキュメントサイト | |
API | |
MCPプロキシ | |
管理用MCP |
シード処理は、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で構成されるモノレポです。
パッケージ | 行数 | 説明 |
| ~54k | tRPC API — サービス、ルーター、ポリシー評価、監査 |
| ~4k | React (admin + user console) |
| ~24k | Reactの管理・ユーザーコンソール |
| ~11k | ドキュメントサイト |
| ~6k | 共有型、条件評価、管理ツール定義 |
| ~4.7k | MCPプロキシサーバー(HTTP、STDIO、WebSocket、SSE) |
| ~3.3k | Prismaスキーマ — 67モデル |
| ~2.5k | Agent-to-Agentプロトコルのプロキシ |
| ~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をネットワークサービスとして提供する場合、その変更内容を利用者が入手できるようにしなければなりません。
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-