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つの仕組みによって、そのすべてに答えます。

同梱内容

機能

説明

ポリシーエンジン

条件ツリーによる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-ignoreeslint-disable も禁止

  • すべてのデータベースクエリは organizationId にスコープされる

  • すべての入力をZodで検証する

  • 認証情報は保存前に必ず暗号化する

  • 機微的な操作は監査ログに記録され、管理操作は変更前後のスナップショット付きで記録される

  • DENYポリシーはバイパスできず、それが明示的にテストされている

完全な開発ガイドは CLAUDE.md を参照してください。

コントリビューション

CONTRIBUTING.md をご覧ください。セキュリティ上の問題は SECURITY.md へ報告してください。

ライセンス

GNU AGPL-3.0。変更を加えたSentinelをネットワークサービスとして提供する場合、その変更内容を利用者が入手できるようにしなければなりません。

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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.

View all MCP Connectors

Latest Blog Posts

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