SentinelGate

SentinelGate

Open-source MCP proxy that enforces security policies, content scanning, and audit logging between AI agents and tool servers

Category
访问服务器

README

<h1 align="center">SentinelGate</h1>

<p align="center"> <strong>Your AI agent has unrestricted access to your machine.</strong><br> Every tool call, shell command, and file read — unchecked.<br><br> SentinelGate intercepts every action before it executes.<br> Deterministic rules. Full audit trail. Single binary.<br><br> <sub>For developers and security teams running AI agents with MCP.</sub> </p>

<p align="center"> <a href="https://github.com/Sentinel-Gate/Sentinelgate/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/Sentinel-Gate/Sentinelgate/ci.yml?style=flat-square&label=CI" alt="CI"></a> <a href="LICENSE"><img src="https://img.shields.io/badge/License-AGPL--3.0-blue?style=flat-square" alt="License: AGPL-3.0"></a> <a href="https://go.dev"><img src="https://img.shields.io/badge/Go-1.25+-00ADD8?style=flat-square&logo=go&logoColor=white" alt="Go 1.24+"></a> <a href="https://github.com/Sentinel-Gate/Sentinelgate/releases"><img src="https://img.shields.io/badge/Release-v2.0-brightgreen?style=flat-square" alt="Release v2.0"></a> </p>

<p align="center"> <a href="#quick-start">Get Started</a> · <a href="https://www.sentinelgate.co.uk">Website</a> · <a href="docs/Guide.md">Docs</a> </p>

<p align="center"> <img src="assets/sentinelgate-demo.gif" width="720" alt="SentinelGate demo"> </p>


How SentinelGate works

One prompt injection or one hallucination is all it takes.

SentinelGate sits between the AI agent and your system. Every action is intercepted, evaluated against your policies, and logged — before it reaches anything. Denied actions are blocked at the proxy.

<p align="center"> <img src="assets/diagram-how-it-works-2.svg" width="720" alt="How SentinelGate works"> </p>

No code changes. No agent modifications. Single binary, zero dependencies, sub-millisecond overhead.

<p align="center"> <img src="assets/screenshot-hero.png" width="820" alt="Tools & Rules with per-tool Allow/Deny enforcement"> </p>


Quick start

Install (macOS / Linux):

curl -sSfL https://raw.githubusercontent.com/Sentinel-Gate/Sentinelgate/main/install.sh | sh

Install (Windows PowerShell):

irm https://raw.githubusercontent.com/Sentinel-Gate/Sentinelgate/main/install.ps1 | iex

<details> <summary>Manual download or build from source</summary>

Download from GitHub Releases:

Platform Archive
macOS (Apple Silicon) sentinel-gate_darwin_arm64.tar.gz
macOS (Intel) sentinel-gate_darwin_amd64.tar.gz
Linux (x86_64) sentinel-gate_linux_amd64.tar.gz
Linux (ARM64) sentinel-gate_linux_arm64.tar.gz
Windows (x86_64) sentinel-gate_windows_amd64.zip
Windows (ARM64) sentinel-gate_windows_arm64.zip

macOS / Linux:

tar xzf sentinel-gate_*.tar.gz
chmod +x sentinel-gate
sudo mv sentinel-gate /usr/local/bin/

Windows: extract the .zip and add sentinel-gate.exe to your PATH.

Build from source (Go 1.24+):

macOS / Linux:

git clone https://github.com/Sentinel-Gate/Sentinelgate.git
cd Sentinelgate && go build -o sentinel-gate ./cmd/sentinel-gate

Windows:

git clone https://github.com/Sentinel-Gate/Sentinelgate.git
cd Sentinelgate; go build -o sentinel-gate.exe ./cmd/sentinel-gate

</details>

Start:

$ sentinel-gate start

  SentinelGate 2.0.0
  ─────────────────────────────────────
  Admin UI:      http://localhost:8080/admin
  Proxy:         http://localhost:8080/mcp
  Upstreams:     1 connected / 1 configured
  Tools:         12 discovered
  Rules:         0 active
  ─────────────────────────────────────

Output may vary depending on your configuration.

Open http://localhost:8080/admin to manage policies, upstreams, and identities. The MCP endpoint is http://localhost:8080/mcp — configure your agent to connect there with an API key.

<p align="center"> <video src="https://github.com/user-attachments/assets/2cb6864e-f00e-4b9e-9c39-b3523c77d50b" width="720" controls autoplay loop muted></video> </p>


Playground

See SentinelGate block a prompt injection attack — 30 seconds, no setup:

macOS / Linux:

cd examples/playground
./playground.sh

Windows PowerShell:

cd examples\playground
.\playground.ps1

The script creates 3 policies, simulates 4 agent tool calls (1 allowed, 3 blocked), and cleans up after. Only needs bash + curl or PowerShell. Full walkthrough: examples/playground/READMEplayground.md.


Connect your agent

SentinelGate works with any MCP-compatible client. Point your agent to http://localhost:8080/mcp with an API key:

Client Setup
Claude Code claude mcp add --transport http sentinelgate http://localhost:8080/mcp --header "Authorization: Bearer <key>"
Cursor / IDE Add MCP server in settings with URL http://localhost:8080/mcp
Gemini CLI MCP config with http transport
Codex CLI MCP config with http transport
Python / Node.js / cURL Standard HTTP with Authorization: Bearer <key> header

Full setup snippets for each client: Connect Your Agent


Features

Deterministic enforcement — Explicit rules, not AI judgment. deny delete_* means denied. Always.

MCP-native — Built as an MCP proxy. Aggregates multiple upstream servers, applies per-tool policies, exposes a single endpoint.

CEL-powered rulesCommon Expression Language, the same engine behind Kubernetes, Firebase, and Envoy:

action_arg_contains(arguments, "secret")                      // block by content
action_name == "bash" && !("admin" in identity_roles)             // role-based shell control
dest_domain_matches(dest_domain, "*.pastebin.com")             // outbound blocking

Simple tool patterns (read_*, delete_*) cover most cases. CEL handles the rest.

Full audit trail — Every action logged with identity, decision, timestamp, and arguments. Stream live via SSE, filter, or export.

Admin UI — Browser-based policy editor, test playground, security settings, audit viewer. No config files, no restarts.

Identity and access control — API keys, roles, per-identity policies. Each agent gets isolated credentials.

Content scanning — Bidirectional PII, secrets, and IPI detection on tool arguments and responses. Configurable whitelist with contextual exemptions.

Session-aware policies — CEL functions that use session history for context-dependent rules. Detect patterns like read-then-exfiltrate across multiple tool calls: session_call_count, session_write_count, session_sequence, and more.

Red team testing — 30 built-in attack patterns across 6 categories (prompt injection, tool poisoning, exfiltration, privilege escalation, evasion, resource abuse). Interactive report with one-click remediation.

 

<details> <summary><strong>More features (13)</strong></summary>

Policy templates — Seven pre-built security profiles (Safe Coding, Read Only, Research Mode, Full Lockdown, Audit Only, Data Protection, Anti-Exfiltration). One click to apply, fully customizable after.

Budget and quota — Per-identity usage limits: max calls, writes, deletes per session, rate limiting per minute. Deny or warn when limits are reached. Live progress tracking on the dashboard.

Response transformation — Five transform types applied to tool responses before they reach the agent: redact (regex-based), truncate (size limits), inject (prepend/append warnings), dry-run (mock responses), mask (partial reveal). Test in the built-in sandbox.

Session recording — Record every tool call with full request/response payloads. Timeline replay in the UI, export to JSON or CSV, configurable retention, privacy mode (record metadata only).

Cryptographic evidence — Every decision signed with ECDSA P-256 and hash-chained. Tamper-proof audit receipts for compliance. EU AI Act-ready compliance bundles with coverage mapping.

Tool integrity — Hash-based baseline for tool definitions, drift detection on schema changes, quarantine for mutated tools, diff viewer.

Behavioral drift detection — 14-day baseline vs current behavior comparison. Detects tool distribution shifts, deny rate changes, temporal anomalies, and argument pattern drift.

Agent health dashboard — Per-agent health metrics (deny rate, drift score, violations) with 30-day sparklines, baseline comparison, and cross-agent overview. CEL variables for health-based policies.

Permission health & shadow mode — Identifies over-privileged agents by comparing granted vs actual tool usage. Auto-tighten suggestions with one-click apply.

FinOps cost explorer — Per-tool cost estimation, per-identity budgets with threshold alerts, cost drill-down, budget guardrail creation via Policy Builder.

Namespace isolation — Role-based tool visibility with whitelist/blacklist glob patterns.

OpenTelemetry export — Stdout span export for every tool call with identity, decision, and latency.

Human-in-the-loop — Escrow workflow for sensitive operations. Approve/deny with decision context, session trail, and signed audit note.

</details>


Admin UI

Tools & Rules Audit Log
<img src="assets/screenshot-rules.png" width="410" alt="Tools & Rules with per-tool Allow/Deny enforcement"> <img src="assets/screenshot-audit.png" width="410" alt="Audit log viewer">
Content Scanning Policy Test
<img src="assets/screenshot-security.png" width="410" alt="Content scanning with Monitor and Enforce modes"> <img src="assets/screenshot-policy-test.png" width="410" alt="Policy test playground">

13 pages: Dashboard, Getting Started, Tools & Rules (with Transforms, Policy Test, and Simulation tabs), Access (with Quota management), Audit Log, Sessions, Notifications, Compliance, Permissions, Security, Red Team, FinOps, and Clients (with Agent Health).


Configuration

[!NOTE] Works with zero configuration. Everything is managed from the Admin UI and persisted automatically.

For infrastructure tuning, an optional YAML config is available:

server:
  http_addr: ":8080"
rate_limit:
  enabled: true
  ip_rate: 100

Full reference: Configuration · CLI · API


Limitations

[!CAUTION] SentinelGate is an MCP proxy — it controls what tools and data your agents can access through the MCP protocol. It is effective against mistakes, prompt injection, and overreach. For full OS-level isolation, combine with container or VM sandboxes.

Full threat model.


SentinelGate Pro

Extended retention · SIEM integration · SSO · Multi-tenancy · Advanced FinOps with billing API integration · Cross-agent health export — sentinelgate.co.uk

Contributing

Bug fixes, features, docs, and feedback welcome. See CONTRIBUTING.md. A CLA is required for code contributions — see CLA.md.

License

AGPL-3.0 — free to use, modify, and self-host. For commercial licensing, contact us.


<p align="center"> <a href="https://www.sentinelgate.co.uk">Website</a> · <a href="docs/Guide.md">Docs</a> · <a href="https://github.com/Sentinel-Gate/Sentinelgate/releases">Releases</a> </p>

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选