What Enterprise IT Asks First
When any new technology enters an enterprise, four questions must be answered before broad deployment:
- Who has access to what?
- What happened, and when?
- How do we remove access when someone leaves?
- Can we prove compliance to an auditor?
For MCP today, in a default setup, the honest answers are: everyone has access to everything, we do not know what happened, we cannot remove access without breaking the whole team, and no we cannot prove compliance.
This is not a reason to avoid MCP. It is a reason to build the governance layer before the rollout, not after.
The Three Phases Every Enterprise Goes Through
Phase 1 — Exploration
A few developers install MCP servers individually. Cursor with GitHub integration. Claude Desktop with a database connector. Productivity improves visibly. Word spreads internally.
Phase 2 — Team Adoption
Teams start sharing configs. Someone creates a recommended MCP stack document. A workspace token gets shared in Slack. Now the entire team is using the same token with the same access to the same tools. Nobody is logging anything. Security has no visibility.
Phase 3 — The Incident
Something unexpected happens. A production query runs at an unexpected time. A file gets modified that should not have been. An internal API gets called by an agent nobody authorised. Now the question is: "what happened, and who did it?" Nobody can answer it.
This is the moment governance becomes urgent. The problem is that retrofitting governance into an existing MCP deployment is significantly harder than building it correctly from the start — because you have no historical data, no baseline, and no audit trail from before the governance layer existed.
The Seven Capabilities Enterprise MCP Requires
1. Centralised endpoint
One authenticated URL per team. Not dozens of individual JSON configs across dozens of developer machines. A single point of control, logging, and revocation.
2. Per-member identity
Every tool call attributable to a specific person. Not "the workspace called something." Individual tokens per member, so the audit trail captures who did what.
3. Tool-level access control
The ability to say "Alice can use these tools, Bob can use those." Enforced at the protocol level. The principle of least privilege applied to AI tooling.
4. Isolated server deployment
MCP servers running in defined, auditable environments — not on developer laptops. Containers with clean lifecycle management: deployable, monitorable, and terminatable centrally.
5. Quality and trust signals
A trust signal per server that goes beyond GitHub stars. Maintenance velocity, last commit date, publisher verification, config completeness — visible before installation.
6. Instant revocation
When someone leaves the team, their access gone in seconds. Without rotating the workspace token. Without reconfiguring every AI client on the team. Individual member revocation with no blast radius.
7. Protocol-level audit log
A record of every tool call — who called it, which tool, which server, when, and whether it succeeded. Not application-level logging. Protocol-level logging that captures everything that flows through the gateway.
None of these are optional for enterprise. All of them are absent from a default MCP setup.
The Retrofit Problem
The most expensive version of this problem is the one teams build toward without realising it.
A team that deploys MCP without governance for six months has six months of tool calls with no attribution, no audit trail, and no access history. When an auditor asks "what did your AI agents have access to between January and June?", the answer is "we do not know."
That answer is not acceptable in regulated industries. It is barely acceptable in any enterprise context where AI agents have access to production systems.
The teams that establish governance now will have a clean audit trail from the first tool call. The teams that wait will be unable to reconstruct the past.
The Window Is Now
MCP adoption in enterprise is in Phase 1 and early Phase 2 for most organisations. The exploration is happening. The team adoption is beginning.
The governance layer needs to arrive before Phase 3.
Building it after an incident is possible. It is just significantly more expensive — in time, in credibility, and in the irreversible absence of historical audit data.
MCPNest is the enterprise governance layer for MCP servers — Gateway, per-member access control, hosted infrastructure, and audit logging for AI engineering teams.
mcpnest.io

Top comments (9)
Spot on, Ricardo. This is the exact architectural conversation the industry needs to have before Phase 3 hits.
The immediate friction with default MCP deployments in an enterprise setting is that they fundamentally treat the protocol as a direct, unvetted pipeline between an unpredictable runtime (the LLM) and highly sensitive, stateful data pools. On developer laptops, that's a productivity win; in a production enterprise environment, it’s a compliance nightmare.
I recently built an MCP auditor framework, and the absolute first obstacle I had to account for was this total lack of an ingestion boundary. If you don't enforce strict, protocol-level data provenance and deterministic access controls before a tool execution occurs, you aren't just looking at data leakage—you are looking at a complete breakdown of the systemic chain of custody.
Whether it's centralized orchestration layers like MCPNest or hardened local gateways, the core rule of modern AI infrastructure is: no unvetted context and no unsigned data footprints. Exceptional breakdown of the governance gap.
Ken, "ingestion boundary" is exactly the right name for it — that's the gap, stated more precisely than I managed in the post.
You've drawn the line where it actually matters: default MCP treats the protocol as a direct, unvetted pipe between an unpredictable runtime and stateful, sensitive data. On a laptop that's a feature. In production it's an ungoverned chain of custody.
Honest read on where I am against your framing: I have the deterministic half of that boundary today — per-member identity and tool-level allowlists enforced at the Gateway, so a tool execution is gated by who is calling and what they're explicitly permitted to invoke. That establishes access control and attribution before execution. What I do not yet have is the provenance half you're pointing at — signed data footprints and protocol-level context vetting. I'm not going to claim otherwise; that's the harder, later piece, and the industry is still figuring out what "vetted context" even enforceably means.
The reason I think the boundary belongs at a centralized layer rather than the client is exactly your chain-of-custody point: provenance only holds if there's a single place every call passes through and gets recorded. A local setup can harden itself, but it can't prove custody across a team. That's the structural argument for the gateway model.
The MCP auditor framework you built sounds like it ran straight into the same wall from the audit side. Curious how you approached the provenance problem — did you enforce it at ingestion, or reconstruct it after the fact from the call record? That distinction feels like the whole game.
You’ve isolated the exact architectural fork in the road, Ricardo. That distinction is the whole game.
To answer your question: reconstruction after the fact is a forensic diagnostic tool, but it doesn't prevent state corruption. For a true chain of custody, it ultimately has to be enforced at ingestion.
In the forensic auditor project I built, running into that exact wall is actually what motivated me to start formalizing these patterns. I recently published an open-source architectural glossary called the Sovereign Systems Specification & Glossary and the associated repo to establish a rigid, shared vocabulary for things like ingestion boundaries, data provenance, and pruning the 'Prose Tax.' To be completely honest, I also started documenting it to preserve my own sanity and memory as the project expanded.
The target state I'm mapping out there treats incoming payloads as untrusted telemetry before they ever hit a tool runtime, verifying data footprints against an explicit state-schema.
You’re entirely right that a local setup can't enforce team-wide custody on its own. A centralized gateway that executes token-level allowlists on the front end, paired with a strict ingestion boundary and data-provenance checks on the back end, is the target state for enterprise stability. Incredible discussion here.
Enforce at ingestion — that's the answer I suspected but needed someone who'd run into the wall to confirm it. The retrospective reconstruction approach always felt like it was solving the wrong problem: you can reconstruct what happened, but you can't undo a state corruption that happened because the boundary wasn't there at the time.
The Sovereign Systems Specification & Glossary framing interests me — especially 'treating incoming payloads as untrusted telemetry before they hit a tool runtime.' That's exactly the semantic I'm missing language for. The MCPNest audit log today captures the call metadata (who, what, when, outcome) but treats the payload itself as out of scope by design — GDPR-clean, but it means the provenance verification you're describing happens outside the log boundary. Your state-schema approach sounds like it closes that gap from the tool side rather than the gateway side.
Are those two layers meant to compose, or does one subsume the other in your model?
They are absolutely meant to compose. One definitely does not subsume the other—in fact, they need each other to achieve full enterprise-grade non-repudiation.
Think of it like traditional networking: MCPNest is handling the IP routing layer and packet headers (Who, What, When, Routing, and Access Control). It’s doing exactly what it's supposed to do by keeping that boundary clean, high-performance, and GDPR-compliant.
The Sovereign state-schema layer is operating strictly at the Application Payload layer.
Instead of forcing your gateway to digest raw, unvetted payload data (which introduces data leakage and GDPR compliance nightmares), the tool runtime executes the Sovereign Sieve-and-Sign boundary. It strips the noise, validates the state update against the schema, and signs it.
The composition happens right here: the tool can return the deterministic, lightweight Forensic Receipt (hash + cryptographic signature) to MCPNest. Your audit log can then record that receipt hash alongside its standard call metadata.
Now, you have a GDPR-compliant audit log that still maintains an immutable cryptographic anchor proving the exact payload provenance. You don't have to store the raw telemetry data to prove it was valid.
The receipt-hash-alongside-metadata is the part that makes this click for me. It resolves the tension I kept hitting: the moment you try to prove payload provenance, the obvious move is to store the payload — and that's exactly what breaks GDPR-clean-by-construction. Recording a hash + signature instead of the data sidesteps that entirely. You keep the deterministic anchor; the raw telemetry never has to live in the audit store. That's the property I wasn't willing to give up, and your Sieve-and-Sign boundary is what lets me not give it up.
The networking analogy lands cleanly too: the gateway stays at the routing/header layer, the state-schema layer owns the payload, and the receipt is the clean interface between them. Neither side has to leak its concerns into the other — the gateway never digests raw payload, the schema layer never has to care about routing or access control.
Honest about where I am: today the audit log records the call metadata (who/what/when/outcome, no payload) — it does not yet have a receipt-hash field or any ingestion of an external forensic receipt. So the composition you're describing is the target architecture, not something I'm running. But it's a small, additive schema change on my side rather than a rearchitecture, which is what makes it attractive — the gateway's contract doesn't have to change, it just records one more deterministic field when a receipt is present.
The open question I'd want to work through before it's real: the trust model for the signature. Whose key signs the receipt, where the verifier lives, and how key rotation/revocation is handled without coupling the gateway back into payload concerns. That feels like the part that decides whether this is genuinely enterprise-grade non-repudiation or just a hash that looks reassuring. Curious how the Sovereign spec handles the signing authority.
You've articulated the exact compliance breakthrough that drove this design. The moment an enterprise realizes they can achieve hard cryptographic non-repudiation without creating a massive, GDPR-violating data swamp of raw telemetry, the architecture shifts from a security bottleneck to an operational asset.
To answer your question about the trust model and signing authority, the Sovereign System Spec addresses this through a decoupled, pluggable identity layer. The
sovereign-sdkitself, either through sovereign-fastapi or through sovereign-core establishes a clean, local baseline that can be extended depending on the enterprise risk model:SovereignKeyManageruses an asymmetric Ed25519 key pair tied directly to the runtime node's environment or secure enclave.ForensicReceiptpayload envelope itself, any third-party audit tool or downstream service can verify the signature out-of-band using standard cryptographic primitives—zero network calls required.-How it works: Instead of just writing the receipt locally, the gateway submits the
payload_hashand local node signature to a private or public Hedera Consensus Service (HCS) topic.The Pragmatic Path
Because it's an additive schema change on your side, the implementation path remains clean. You can start with a self-contained, node-level key manager to establish the data boundaries. When the compliance team demands absolute, multi-party non-repudiation, you simply pipe those exact same local receipts into an immutable ledger topic without touching your gateway's core routing contract.
This keeps the gateway completely blind to the payload while making the proof of execution absolute.
Some comments may only be visible to logged-in visitors. Sign in to view all comments.