Skip to main content

MCP: Transport, Gateway, Registry

This is the reference design for MCP as transport. Principles live in G.A.I.N MCP. The tool contract (what the LLM may propose) lives in the Agents Blueprint under Manifests. Playbooks: MCP (transport) · Agents: Manifests. Policy verdicts stay in Governance Runtime.

THE CLAIM

MCP is a governed capability surface, not the tool allowlist. The pinned manifest is the contract. MCP, OpenAPI, and domain APIs are adapters. The client plans; the gateway permits; the server executes.

What you are building

An MCP path that does not become the catalog:

  1. Server registry: which MCP servers exist, who owns them, which environments may call them
  2. Gateway: one choke point; clients do not dial arbitrary servers
  3. Scoped exposure: list_tools returns only what the pinned manifest already allows
  4. Invoke: call_tool still hits the agentic app check, then PEP, then the server
  5. Observe: results return to the app, not raw to the LLM without validation

Owns / does not own

OwnsDoes not own
MCP gateway, server registry, transport authTool schema, pdp_action, unknown-tool reject (Agents: Manifests)
How list_tools / call_tool are wiredPEP verdicts (Governance Runtime)
Federation of domain MCP serversRoute pin of tool_manifest (Agents Plane ①)

Do not collapse

Anti-patternFix
Manifest lives only inside MCPManifest is transport-agnostic; MCP is one adapter
Client connects to any serverGateway + server registry
list_tools dumps the whole serverScope to the pinned manifest
call_tool skips PEPSame hop as any other tool: app validate, then PEP

Playbooks