Compare
mpl vs MCP
Short version: MCP is a transport protocol for agent–tool communication. mpl is a contract / quality / audit layer that runs on top of MCP (or A2A, or plain HTTP). They are not substitutes.
The mpl README puts the stack diagram explicitly: mpl sits above MCP, between your agent logic and the transport. The proxy speaks MCP on the wire; the contracts and quality measurement happen in the layer above.
Fair side-by-side
| MCP | mpl | |
|---|---|---|
| Layer in the stack | Transport & capability protocol (client-server) | Protocol layer above the transport |
| Primary concern | How an agent discovers and invokes tools, resources, prompts | Typed contracts, quality measurement, audit trails for those invocations |
| Type system | JSON-Schema tool inputs/outputs, declared per-tool | Versioned stype identifiers in a shared registry; same envelope across tools |
| Quality scoring | Not in scope | QoM profiles: schema fidelity, instruction compliance, groundedness, determinism, ontology adherence, tool outcome |
| Audit / provenance | Not in scope (clients can log) | BLAKE3 content hash, provenance block, QoM report on every envelope |
| Deployment shape | Server you run; client library in the agent | Sidecar proxy in front of the MCP server; transparent or strict mode |
| Cross-namespace policy | Per-tool, declared by the tool server | Glob-pattern policies (e.g. org.finance.*) at the proxy boundary |
| Substitutable? | No — MCP is the transport | No — mpl composes over MCP, doesn’t replace it |
When MCP alone is enough
If you’re building a single-agent system, the messages are short-lived, nothing downstream needs forensic auditability, and “the tool either returned a value or raised” is all the validation you need — MCP on its own is fine. Don’t add a layer for a problem you don’t have.
When you also want mpl
- • Multiple agents, and you want the same contract enforced regardless of which tool server it lands at.
- • A quality score on every call, not just success/failure.
- • A tamper-evident record of what happened to point a regulator at.
- • Gradual schema rollout — transparent mode first, strict once you’ve seen the traffic.
How they run together
Agent ──(MCP)──▶ mpl proxy ──(MCP)──▶ Your MCP server
│
├── validates contract
├── scores QoM profile
├── applies policy
└── writes audit record Sources
- mpl README, stack diagram and Phase 1/2/3 scope (github.com/Skelf-Research/mpl).
- MCP public spec at modelcontextprotocol.io.
Spot something inaccurate? Open an issue.