Live demoWarden — the governed front door for AI tool access
One gateway between AI clients and your internal tools: SSO login, role-based policy, argument validation, response redaction, and a hash-chained audit trail on every call. This instance is yours to break — everything behind it is synthetic.
1Click through the admin console
Sign in with a throwaway demo identity — no signup, one click. You get the write tier: browse live policy, the per-role tool catalog, upstream health, and the live audit tail; stage and apply a policy edit if you like. The hourly reset puts everything back.
Open the admin console →2Connect your own MCP client
Warden speaks standard MCP over HTTP with OAuth discovery (RFC 9728) — any compliant client can register itself and log in through the demo IdP.
claude mcp add --transport http warden-demo https://demo.warden.enthus.de/mcp
Then start a conversation and ask for open demo issues — the OAuth window opens on first use.
Settings → Connectors → Add custom connector, then paste:
https://demo.warden.enthus.de/mcp
Works the same on claude.ai. The demo sign-in opens in a popup on first use.
Add to .vscode/mcp.json (Copilot agent mode picks it up):
{
"servers": {
"warden-demo": {
"type": "http",
"url": "https://demo.warden.enthus.de/mcp"
}
}
}
Add to ~/.cursor/mcp.json (or .cursor/mcp.json per project):
{
"mcpServers": {
"warden-demo": {
"url": "https://demo.warden.enthus.de/mcp"
}
}
}
Cursor opens the OAuth browser flow on first use.
Add to ~/.gemini/settings.json:
{
"mcpServers": {
"warden-demo": {
"httpUrl": "https://demo.warden.enthus.de/mcp"
}
}
}
npx @modelcontextprotocol/inspector
# connect to: https://demo.warden.enthus.de/mcp
No install, runs in your browser — the quickest way to poke the raw MCP surface.
Local clients work out of the box — loopback redirect URIs are allowed by policy for exactly this.
Tools you'll see once connected:
3Watch governance happen
- Call a demojira tool — your first call is denied with
upstream_auth_requiredand a login link: per-user upstream OAuth, brokered by Warden. Open the link, sign in, retry — it works. - Create an issue, then open the console's Audit page: the denial and the successful call are both there, attributed to your throwaway identity, levels and outcomes included — the in-memory tail of the hash-chained audit log.
- Try to cheat: pass an argument the tool schema doesn't declare, or page beyond the response ceiling — the policy engine answers, not the upstream.
What you're looking at
A single Go binary in front of federated MCP upstreams. Every call passes a ten-stage governed pipeline — audit, response ceiling, timeouts, authorization, scope injection, pagination defaults, schema validation, redaction, normalization, concurrency ceiling — before an upstream ever sees it. In production it fronts Entra SSO with group-based roles; the demo swaps in a public IdP that mints throwaway identities.