The MCP Tax: Why Adding Model Context Protocol to Your Stack Won't Fix Your Agent Problem
By Lukco
Overview
Overview
Atlassian, n8n, and Vercel all shipped Model Context Protocol integrations in the past seven days, and if you're reading this, you're probably wondering if you need to add MCP to your stack. The short answer: probably yes, eventually. The better question: will it actually solve the problem that's breaking your AI agent implementation right now? For most teams we work with, the answer is no. ## What MCP Actually Does Model Context Protocol, for those tracking the acronym fatigue, is Anthropic's open standard for how AI models access external context — files, databases, APIs, tool outputs. It's a connector spec, essentially. Instead of every AI application reinventing how to plug a model into Jira or Notion or your internal knowledge base, MCP provides a standardized interface. The value proposition is real: write one MCP server, and any MCP-compatible client (Claude Desktop, now Cline, eventually your custom agent stack) can use it. This is good infrastructure. It reduces integration surface area. It makes context access composable. But here's what MCP doesn't do: it doesn't make your agent reliable. It doesn't handle retries when your Jira API rate-limits you. It doesn't decide which context to fetch when your agent is three steps into a workflow and the user's intent has drifted. It doesn't manage state when your agent needs to pause, wait for human input, and resume. It doesn't version control the context sources your agent depends on, or alert you when a schema change breaks your integration. MCP is a data access layer. It is not an execution layer. ## The Problem Most Teams Are Actually Solving When a founder or engineering lead tells us their AI agent "doesn't work," the failure mode is almost never "the model couldn't access the right context." It's one of these: **The agent gets the right context but makes the wrong decision with it.** This is a prompt design problem, sometimes a model capability problem, occasionally a UX problem where the user's actual intent wasn't captured. MCP doesn't touch this. **The agent executes correctly in testing but fails unpredictably in production.** This is usually an execution environment issue — race conditions, API timeouts, state management failures, lack of observability. MCP standardizes how you fetch context, but it doesn't containerize execution or provide retry logic or give you structured logging. **The agent works for the first action but can't chain multi-step workflows reliably.** This is an orchestration problem. MCP servers are stateless by design. If your agent needs to "remember" what it did two steps ago to decide what context to fetch now, you're building that orchestration layer yourself. **The agent's behavior drifts as underlying data sources change.** Your MCP server dutifully fetches the latest data, but nobody told the agent that the Jira schema changed last week, or that the knowledge base article it's referencing was deprecated. MCP has no opinion on versioning or change detection. These are the problems that kill AI agent projects in production. And MCP, as currently specified, is orthogonal to all of them. ## Why the Infrastructure Narrative Matters Anyway So why did Atlassian, n8n, and Vercel all ship MCP support in the same week? Because the infrastructure layer for AI-native work is being actively defined right now, and nobody wants to be on the wrong side of the standard. This is the same pattern we saw with Docker, with GraphQL, with OAuth. A new abstraction layer emerges, early adopters build bespoke integrations, then a standard consolidates the ecosystem. MCP is attempting to be that standard for AI context access. The smart move for most teams isn't to ignore MCP — it's to adopt it narrowly, for what it's actually good at, while recognizing that it doesn't solve the harder problems in your stack. If you're building an AI agent that needs to read from five different SaaS tools, MCP is a better integration strategy than writing five custom connectors. If you're trying to make your agent execute reliably in production, MCP is not your bottleneck. ## What Actually Fixes Agent Reliability The execution layer nobody talks about isn't a single protocol or framework. It's a set of capabilities that most teams underestimate until they're three months into a failed agent project: **Structured state management.** Your agent needs to know where it is in a workflow, what it's already tried, what's waiting on external input. This is not a context problem; it's a state machine problem. You need something like Temporal, or Inngest, or a well-architected queue system — not a better way to fetch Jira tickets. **Execution isolation.** If your agent is running arbitrary code or calling flaky APIs, you need containerized execution environments with timeouts, resource limits, and rollback capability. The n8n MCP integration is interesting specifically because n8n already has this — their workflow engine isolates execution by default. But MCP itself doesn't give you this. **Observability designed for non-determinism.** Traditional logging assumes you can reproduce a bug by re-running the same inputs. AI agents don't work that way. You need to log the full context, the model's reasoning trace, the decision points, and the external state at each step. MCP servers can emit logs, but structuring those logs for agent debugging is your problem. **Graceful degradation and human handoff.** The best production AI agents know when to stop and ask for help. This requires workflow design, UX design, and usually a queue system for human review. MCP has no opinion on this. **Version control for context sources.** Your agent's behavior is a function of both its prompt and the data it has access to. If the data changes, behavior changes. You need to version your MCP server configurations, snapshot your knowledge bases, and have rollback capability. This is infrastructure work that happens around MCP, not inside it. ## The Real Infrastructure Gap Here's what's still missing from the AI-native infrastructure stack, even with MCP widely adopted: **A standard for agent execution orchestration.** Something that sits above MCP and handles multi-step workflows, state persistence, retries, and human-in-the-loop patterns. LangGraph is trying to be this, but it's still too coupled to LangChain's abstractions. Temporal could be this, but it's not AI-native. There's a gap. **Observability tooling that understands agent behavior.** We need the equivalent of Datadog or Sentry, but for AI agents — tooling that can trace a multi-step agent workflow, surface when the agent's context was incomplete, flag when a decision was low-confidence, and make non-deterministic failures debuggable. **Production-grade prompt versioning and testing.** Your prompts are code. They need version control, CI/CD, staging environments, and rollback capability. Most teams are still managing prompts in Notion docs and hoping for the best. MCP is a building block. It's a good one. But if you're adopting it because you think it will make your agents production-ready, you're solving the wrong problem. ## What to Do Instead If you're evaluating MCP right now, here's the framework we use with clients: **Adopt MCP if you're integrating with multiple external data sources and you want to reduce integration surface area.** This is what it's good at. Use it narrowly, for context access, and don't expect it to solve execution reliability. **Don't adopt MCP if your agent's failure mode is execution reliability, state management, or workflow orchestration.** Fix those problems first. MCP won't help, and adding another abstraction layer will make debugging harder. **If you're building a new agent system from scratch, assume MCP will be table stakes within six months.** Design your architecture to be MCP-compatible, but don't block your roadmap on it. The execution layer is still more important. **If you're already using a workflow engine like n8n or Temporal, evaluate whether their MCP integrations actually simplify your stack.** In some cases, they will. In others, you're adding indirection for no gain. The infrastructure layer for AI-native work is shipping, and that's legitimately important. But infrastructure is only valuable when it solves the problem you actually have. For most teams building AI agents, the problem isn't context access. It's execution reliability, state management, and knowing when to stop. MCP is necessary. It's not sufficient. Don't let the hype cycle convince you otherwise.
Atlassian, n8n, and Vercel all shipped Model Context Protocol integrations in the past seven days, and if you're reading this, you're probably wondering if you need to add MCP to your stack.
The short answer: probably yes, eventually. The better question: will it actually solve the problem that's breaking your AI agent implementation right now?
For most teams we work with, the answer is no.
What MCP Actually Does
Model Context Protocol, for those tracking the acronym fatigue, is Anthropic's open standard for how AI models access external context — files, databases, APIs, tool outputs. It's a connector spec, essentially. Instead of every AI application reinventing how to plug a model into Jira or Notion or your internal knowledge base, MCP provides a standardized interface.
The value proposition is real: write one MCP server, and any MCP-compatible client (Claude Desktop, now Cline, eventually your custom agent stack) can use it. This is good infrastructure. It reduces integration surface area. It makes context access composable.
But here's what MCP doesn't do: it doesn't make your agent reliable. It doesn't handle retries when your Jira API rate-limits you. It doesn't decide which context to fetch when your agent is three steps into a workflow and the user's intent has drifted. It doesn't manage state when your agent needs to pause, wait for human input, and resume. It doesn't version control the context sources your agent depends on, or alert you when a schema change breaks your integration.
MCP is a data access layer. It is not an execution layer.
The Problem Most Teams Are Actually Solving
When a founder or engineering lead tells us their AI agent "doesn't work," the failure mode is almost never "the model couldn't access the right context." It's one of these:
The agent gets the right context but makes the wrong decision with it. This is a prompt design problem, sometimes a model capability problem, occasionally a UX problem where the user's actual intent wasn't captured. MCP doesn't touch this.
The agent executes correctly in testing but fails unpredictably in production. This is usually an execution environment issue — race conditions, API timeouts, state management failures, lack of observability. MCP standardizes how you fetch context, but it doesn't containerize execution or provide retry logic or give you structured logging.
The agent works for the first action but can't chain multi-step workflows reliably. This is an orchestration problem. MCP servers are stateless by design. If your agent needs to "remember" what it did two steps ago to decide what context to fetch now, you're building that orchestration layer yourself.
The agent's behavior drifts as underlying data sources change. Your MCP server dutifully fetches the latest data, but nobody told the agent that the Jira schema changed last week, or that the knowledge base article it's referencing was deprecated. MCP has no opinion on versioning or change detection.
These are the problems that kill AI agent projects in production. And MCP, as currently specified, is orthogonal to all of them.
Why the Infrastructure Narrative Matters Anyway
So why did Atlassian, n8n, and Vercel all ship MCP support in the same week? Because the infrastructure layer for AI-native work is being actively defined right now, and nobody wants to be on the wrong side of the standard.
This is the same pattern we saw with Docker, with GraphQL, with OAuth. A new abstraction layer emerges, early adopters build bespoke integrations, then a standard consolidates the ecosystem. MCP is attempting to be that standard for AI context access.
The smart move for most teams isn't to ignore MCP — it's to adopt it narrowly, for what it's actually good at, while recognizing that it doesn't solve the harder problems in your stack.
If you're building an AI agent that needs to read from five different SaaS tools, MCP is a better integration strategy than writing five custom connectors. If you're trying to make your agent execute reliably in production, MCP is not your bottleneck.
What Actually Fixes Agent Reliability
The execution layer nobody talks about isn't a single protocol or framework. It's a set of capabilities that most teams underestimate until they're three months into a failed agent project:
Structured state management. Your agent needs to know where it is in a workflow, what it's already tried, what's waiting on external input. This is not a context problem; it's a state machine problem. You need something like Temporal, or Inngest, or a well-architected queue system — not a better way to fetch Jira tickets.
Execution isolation. If your agent is running arbitrary code or calling flaky APIs, you need containerized execution environments with timeouts, resource limits, and rollback capability. The n8n MCP integration is interesting specifically because n8n already has this — their workflow engine isolates execution by default. But MCP itself doesn't give you this.
Observability designed for non-determinism. Traditional logging assumes you can reproduce a bug by re-running the same inputs. AI agents don't work that way. You need to log the full context, the model's reasoning trace, the decision points, and the external state at each step. MCP servers can emit logs, but structuring those logs for agent debugging is your problem.
Graceful degradation and human handoff. The best production AI agents know when to stop and ask for help. This requires workflow design, UX design, and usually a queue system for human review. MCP has no opinion on this.
Version control for context sources. Your agent's behavior is a function of both its prompt and the data it has access to. If the data changes, behavior changes. You need to version your MCP server configurations, snapshot your knowledge bases, and have rollback capability. This is infrastructure work that happens around MCP, not inside it.
The Real Infrastructure Gap
Here's what's still missing from the AI-native infrastructure stack, even with MCP widely adopted:
A standard for agent execution orchestration. Something that sits above MCP and handles multi-step workflows, state persistence, retries, and human-in-the-loop patterns. LangGraph is trying to be this, but it's still too coupled to LangChain's abstractions. Temporal could be this, but it's not AI-native. There's a gap.
Observability tooling that understands agent behavior. We need the equivalent of Datadog or Sentry, but for AI agents — tooling that can trace a multi-step agent workflow, surface when the agent's context was incomplete, flag when a decision was low-confidence, and make non-deterministic failures debuggable.
Production-grade prompt versioning and testing. Your prompts are code. They need version control, CI/CD, staging environments, and rollback capability. Most teams are still managing prompts in Notion docs and hoping for the best.
MCP is a building block. It's a good one. But if you're adopting it because you think it will make your agents production-ready, you're solving the wrong problem.
What to Do Instead
If you're evaluating MCP right now, here's the framework we use with clients:
Adopt MCP if you're integrating with multiple external data sources and you want to reduce integration surface area. This is what it's good at. Use it narrowly, for context access, and don't expect it to solve execution reliability.
Don't adopt MCP if your agent's failure mode is execution reliability, state management, or workflow orchestration. Fix those problems first. MCP won't help, and adding another abstraction layer will make debugging harder.
If you're building a new agent system from scratch, assume MCP will be table stakes within six months. Design your architecture to be MCP-compatible, but don't block your roadmap on it. The execution layer is still more important.
If you're already using a workflow engine like n8n or Temporal, evaluate whether their MCP integrations actually simplify your stack. In some cases, they will. In others, you're adding indirection for no gain.
The infrastructure layer for AI-native work is shipping, and that's legitimately important. But infrastructure is only valuable when it solves the problem you actually have. For most teams building AI agents, the problem isn't context access. It's execution reliability, state management, and knowing when to stop.
MCP is necessary. It's not sufficient. Don't let the hype cycle convince you otherwise.