Trust Gate MCP
Trust Gate MCP
Post-quantum, tamper-evident receipts for consequential agent actions, as an MCP server.
Seven tools, one shared signing primitive: the open-source OpenAgentOntology mint_receipt.
What actually gets signed depends on what you install -- OAO detects its backend at import time, so this is worth stating plainly rather than advertising the best case:
Install | Legs | Notes |
| Ed25519 + ML-DSA-65 (FIPS 204) | Default. Pure Python ( |
| Ed25519 + ML-DSA-65 + SLH-DSA (FIPS 205) | Adds the hash-based diversity leg via |
PQ-required verify (the default) demands at least one verified post-quantum leg, so the
dual-leg default is a real post-quantum posture, not a downgrade -- but only the [slh] install
gives you the hash-based third leg.
Tool | What it does |
| Mints a post-quantum receipt for a CRM record change. Works with any CRM (open-core Relaticle, hosted CRMs via their own MCP, custom). Old/new values are SHA-256 hashes. |
| Ranks a CALLER-PROVIDED list of MCP tools by worst-regret if they act. Read-only. Cannot auto-discover other servers -- MCP protocol does not allow that. |
| Post-quantum receipt for any consequential agent action. |
| Verify a receipt from the certificate alone -- offline, no DB. Defaults to PQ-required mode. |
| Two-phase decision gate. PREVIEW returns risk assessment + preview_id without acting. COMMIT verifies inputs match and mints a tamper-evident receipt with execution permit. |
| Egress classification. Scans data for sensitivity markers and classifies as PUBLIC / INTERNAL / CONFIDENTIAL / RESTRICTED. Blocks RESTRICTED. Returns classification + retention info + receipt. |
| Vendor exit readiness drill. Checks local signing key, local model access (Ollama), and local data export. Returns step-by-step results + receipt. Informational, no side effects. |
Quantum Hardening (pol.must_do.150 reference implementation)
H1 key persistence + bootstrap with FAIL-CLOSED kid-drift check
H2 per-IP token-bucket rate limit (DoS-hardened: FIFO eviction + body cap)
H3 PQ-required verify (defeats signature-stripping downgrade attacks)
H4 128-bit
kidon every minted receipt (offline same-notary check)Optional bearer-auth toggle + narrowed CORS via
TRUST_GATE_BEARER_TOKEN+TRUST_GATE_ALLOWED_ORIGINS33/33 tests including adversarial PQ-strip + IP-rotation attack simulations
See PUBLISH.md for the full hardening status table.
Install (stdio)
pip install trust-gate-mcp
trust-gate-mcpAdd [slh] for the hash-based third leg. From a checkout, pip install -e ".[dev]" then
python -m trust_gate_mcp.
Container deploy (Smithery / any container host)
docker build -t trust-gate-mcp .
docker run -p 8081:8081 -v trust-gate-data:/data/oao trust-gate-mcpThe volume mount on /data/oao is required for production -- without it the signing key rotates per restart and breaks long-running verification chains. The persistent key_metadata.json holds the notary's kid; the bootstrap step refuses to start if it drifts.
License
Apache-2.0. Built on the open-source OpenAgentOntology primitive.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/CWNApps/trust-gate-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server