governed-agent-gateway
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@governed-agent-gatewayupdate the Acme MSA renewal date and queue it for approval"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
governed-agent-gateway
A small, runnable reference for letting an AI agent work on business-document data without losing control of it. An MCP server whose every tool call goes through a governance gateway (registry, data tiers, human approval, hash-chained audit log), plus a saved eval suite that proves those controls hold, and a dashboard that shows it.
Synthetic data only. Every record is generated in
src/data/seed.ts. No employer code, schemas, system names or customer data are used. Built with AI coding assistants; I designed the controls and reviewed and tested the result.
Architecture
flowchart LR
A[LLM client / Copilot] -- MCP stdio --> S[server.ts]
S --> G{Gateway}
G -->|1 registered?| R[(Tool registry<br/>tier · mode · approver · active)]
G -->|2 active?| R
G -->|3 tier <= clearance?| G
G -->|4 write? needs approval| P[(pending approvals)]
H[Human approver<br/>npm run approve] --> P
G --> T[Tool implementations<br/>synthetic business-document data]
G --> L[(Append-only audit log<br/>hash-chained)]
E[Eval suite + mutants] --> G
L --> D[React dashboard]
E --> DRelated MCP server: evav-gateway
What it enforces
Control | Behaviour |
Registry | A tool that is not registered, or switched off, is refused. |
Data tiers | Tier 1 metadata · 2 aggregated/masked · 3 schema-aware inside perimeter · 4 human-in-the-loop. A caller's clearance must cover the tool's tier. |
Approval | Write tools never execute on the model's call. They create a pending approval; only the registered approver can release it, once, through a path that is not an MCP tool. |
Audit | Every call, allowed or denied, is logged with an args hash. Entries are hash-chained, so editing history is detected. |
Evals
npm run evals runs 15 saved cases against the gateway and records the score in evals/history.jsonl, so versions can be compared. Cases tagged hard (tier breach, unapproved write, unregistered tool) fail the run on a single miss.
npm run evals:mutants switches each control off in turn and checks the suite catches it. An eval that cannot fail is not an eval.
Scope, stated plainly: these evals test the governance layer deterministically. They do not score model behaviour (tool choice, answer quality). That is the next layer: LLM-in-the-loop cases with a rubric, run against the same gateway.
Run it
npm install
npm test # typecheck + evals + mutants + MCP smoke test
npm run serve # MCP server on stdio (GATEWAY_CLEARANCE=1..4, default 3)
npm run approve -- <id> process-owner
npm run export && cd web && npm install && npm run dev # dashboardAdd to an MCP client, e.g. {"command":"npx","args":["tsx","src/server.ts"]} from this folder.
Limits
State is in memory plus JSON files; this is a reference, not a production service. The approval script re-creates the synthetic data, so a released write is audited but does not persist across processes. See docs/adr/0001-gateway-in-front-of-tools.md for the design reasoning.
This server cannot be deployed
Maintenance
Related MCP Connectors
Zero-secret MCP gateway for AI agents: risk-scored, audited calls with human-in-the-loop approval.
Context and control for any AI. Agent identity, scoped access, and proof across tools.
Agent-native security, trust, reliability, data and procurement tools for AI workflows.
Compliance frameworks (SOC 2, ISO 27001, CMMC, NIST, more) delivered to AI agents as MCP tools.
Related MCP Servers
- AlicenseBqualityAmaintenanceA governance proxy for AI tools — every MCP/agent tool call is policy-gated, secret-redacted, and written to a hash-chained, offline-verifiable audit trail.13MIT

evav-gatewayofficial
AlicenseNot gradedqualityDmaintenanceGoverned MCP gateway that lets AI agents call tools with policy enforcement, prompt-injection screening, a kill-switch, and tamper-evident signed audit logs.Apache 2.0- FlicenseNot gradedqualityCmaintenanceEnables controlled AI-agent access to enterprise-shaped tools with a deny-by-default gated write path, human approval, dry-run execution, and append-only audit logging.1-
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to access internal systems without public APIs as typed, governed MCP tools, with human-approved writes and fail-closed contract updates.Apache 2.0