Skip to content

Patterns § 03

API + MCP From One Seam proven in production

Build the capability once. Every consumer — human, app, or AI agent — gets it.

Capabilities live once behind a single gateway; the web app, the REST API, the CLI, and the MCP surface your AI tools call are all adapters over the same seam — with the same authorization.

The architecture

Most platforms grow capabilities in whichever app needed them first, then re-implement them for the next consumer — and the security model fragments with every copy. We invert it: every capability is built once, behind one gateway, and every surface consumes it as an adapter. The web app calls the same seam the API exposes; the CLI calls the same seam the AI tooling calls.

MCP is the part most firms haven’t caught up to. It is the protocol AI assistants use to operate real systems — and because our capability layer already speaks through adapters, your platform is agent-ready by construction. The capability your staff use through a browser is the same one an AI assistant calls, with the same authorization deciding both.

Authorization is decided once, below every transport — not re-implemented per app.

Promises you can enforce

One client’s most important commitment was that everything we built would be strictly read-only against their systems of record. With one gateway, that promise is enforced at a single chokepoint — exactly one service holds the write-capable credential — instead of policed across eleven applications and hoped about.

On another engagement, the vulnerability class that actually bit — an AI tool path bypassing tenant scoping — was closed structurally: scope is decided below every transport, pinned by a cross-tenant denial test, so every new surface inherits the fix by construction.

What this means for your roadmap

Features get cheaper as the engagement matures, because each one adds a route, not a stack. And when you want AI operating your platform — an assistant that can look things up, file things, run things — that surface already exists, governed by the same rules as everything else.

One seam, every consumer. It is the difference between a platform that has an API and a platform that is one.