Every framework ever built assumed one thing: a human is reading the output.
Rails, Laravel, Express, tRPC — beautiful frameworks. But they all have a blind spot: they were designed for browsers and humans, not for AI agents.
In 2025, MCP (Model Context Protocol) changed everything. Now AI agents are the consumers of our APIs. But here's the problem: every MCP framework still builds for humans.
What Goes Wrong When Agents Consume Human-Designed APIs
Consider this tool response:
{
"amount": 45000,
"currency": "USD"
}
Is that $45,000 or $450.00 (stored as cents)? A human reads the UI and knows. An AI agent has no idea — and the consequences can be catastrophic.
This is not a bug. It's a fundamental architectural mismatch.
Introducing MVA: Model-View-Agent
MVA is a new architectural pattern for the MCP ecosystem, implemented in mcp-fusion.
It adds a Presenter layer — a dedicated perception layer that transforms raw data into agent-readable output:
class InvoicePresenter extends FusionPresenter<Invoice> {
present(invoice: Invoice) {
return {
id: invoice.id,
amount_usd: invoice.amount_cents / 100, // Never ambiguous
status: invoice.status,
_actions: [
{ action: 'invoices.pay', when: invoice.status === 'pending' },
{ action: 'invoices.void', when: invoice.status === 'pending' },
]
};
}
}
The Presenter doesn't just format data — it gives the agent semantic clarity and action affordances: what this data means, and what the agent can do next.
The Three Layers of MVA
Model — Your domain logic. Pure TypeScript. Nothing new here.
View (Presenter) — The agent perception layer. Transforms data into agent-understandable representations with affordances, guardrails, and semantic clarity.
Agent — The consumer. An AI that can now navigate your API confidently, without ambiguity, without hallucination-inducing noise.
How It Compares to Existing Frameworks
| Feature | fastmcp | mcp-framework | mcp-fusion |
|---|---|---|---|
| Agent-first design | ❌ | ❌ | ✅ |
| Presenter layer | ❌ | ❌ | ✅ |
| Action affordances | ❌ | ❌ | ✅ |
| Semantic tracing | ❌ | ❌ | ✅ |
| Cognitive guardrails | ❌ | ❌ | ✅ |
Every existing MCP framework solves the developer's problem — how to build a server more easily. mcp-fusion solves the agent's problem — how to understand what the server is saying.
Why This Matters Now
The MCP ecosystem is less than 18 months old. Most teams are still in "make it work" mode. But the frameworks that will dominate the next 5 years are being defined right now.
MVA is the first architectural pattern that treats AI agents as first-class citizens — not as afterthoughts.
- GitHub: vinkius-labs/mcp-fusion
- Docs: vinkius-labs.github.io/mcp-fusion/mva
- NPM: @vinkius-core/mcp-fusion
Top comments (0)