
Because a connection protocol like MCP tells an agent how to reach your data, not what it means. Without a governed semantic layer, an agent reinvents a definition on each run, so the same question returns different numbers. The fix is a Raw, Trusted, Service data layer plus Context Engineering.
Because most agents are connected to data without being told what it means. A protocol like the Model Context Protocol (MCP) standardizes how an agent reaches a source, but it carries no definition of what an "active customer" is, which date counts as revenue, or whether two records with different names are the same company. When that context is missing, the model does the only thing it can: it fills the gap with a plausible assumption. Run the same question tomorrow and the assumption changes, so the number changes with it.
The failure is not a weak model. It is business logic being improvised inside a context window instead of being defined once, in the data.
Same model, same question, two architectures. Querying sources directly, an agent answered correctly 38% of the time, across 234 tool calls, in about 15 minutes. On a governed data layer, the same agent reached 91% accuracy with a single SQL query in 19 seconds. (Nekt benchmark)
No. MCP solves connection, not meaning, and those are different problems. It standardizes how an agent discovers and calls a tool, which is a real advance: before it, every integration was bespoke, and after it, integration became a protocol. But knowing how to talk to a system is not the same as knowing what its data means. A source can hand an agent the raw value of a field. It cannot tell the agent that the field is stored in millionths, or that a deal marked "won" two years ago should not be counted as revenue today. That knowledge is context, and context does not travel in the protocol. Someone has to model it.
The agent turns into an improvised database made of text, and it fails in four ways that never show up in the demo. Ask it "how much did each new customer cost last quarter, by channel," and with nothing underneath, it has to page through the CRM, pull contacts (because the channel lives on the contact, not the deal), pull ad spend from several platforms in several formats, pull billing to know who actually paid, and then join all of it by reading records inside the context window. That last step is where it breaks: it mismatches time zones, counts duplicates, overflows the window, and loses half of what it already read.
The scale of that risk is now on the analyst radar. Gartner projects that over 40% of agentic AI projects will be canceled by the end of 2027, citing rising costs, unclear business value, and inadequate controls. Rising cost and unclear value are precisely what an ungoverned data path produces.
A three-stage layer, where each stage has one job, so the agent reads meaning instead of rebuilding it. The stages:
The effect is that intelligence moves out of the prompt and into the data model. The agent stops being the place where business rules live and goes back to what it is good at: understanding the question in plain language and choosing the right table. One query, 19 seconds.
Context Engineering is the practice of writing a column's business meaning next to the data itself, so an agent reads the rule instead of guessing it. A person who sees a strangely named column asks a colleague. An agent does not ask, it deduces, and it deduces with confidence. So every column that matters carries an annotation. Real cases that break agents without it:
None of this is data. All of it is context about the data, and it is exactly what a connection protocol does not carry. The discipline is old, since giving data meaning has always been data work. What changed is the consumer: it used to be an analyst who asked when unsure, and now it is an agent that answers even when it does not know.
In practice, this context can be served automatically. When an agent queries Nekt over MCP, it receives more than the table. It receives the definition alongside it: how the company measures MRR, what counts as an active customer, which date becomes revenue. The business rule arrives embedded in the answer instead of being left to a well written guess.
Start from the questions, not the tools. The order that works:
The conclusion is not "MCP or a semantic layer." It is three things together: structured data underneath, MCP to connect, and Context Engineering to give meaning. Remove any one and the agent returns to guessing. The model is the same at 38% and at 91%. What changes is what sits beneath it.