A smarter, cheaper way for AI agents to use enterprise knowledge
Federated MCP gets agents connected to enterprise systems quickly, which makes it a common starting point for pilots. But at enterprise scale, a unified knowledge layer answers the same questions with up to 79% fewer tokens and enforces each person's permissions on every request. Here's what our data shows.
.avif)
Overview
Before an AI agent can answer a question about your company, it has to find the right information. How it finds that information decides what each answer costs, how long it takes, and whether the agent ends up showing someone a document they were never supposed to see.
There are two main ways to do that job today, plus two alternatives covered later in this guide. With federated MCP, the agent searches each connected system live, often several in parallel, and pieces the results together itself. With a unified knowledge layer, those same systems are indexed ahead of time with their permissions attached, so the agent asks once and gets back a ranked, filtered answer.
Both run on Model Context Protocol (MCP), the open standard Anthropic introduced in November 2024 to replace one-off integrations with a single way for AI apps to reach outside tools and data. An AI app runs an MCP client, each business system exposes an MCP server, and the model calls that server's tools to search, read, or act. MCP standardized how AI agents connect to business systems. It leaves open how an agent should find information spread across dozens of them, which is what this guide covers.
Many teams building agents route retrieval through MCP because it's the shortest path to a working demo. The servers exist, the client already speaks the protocol, and an agent can search Notion, then Drive, then Linear, reading each result before deciding what to ask next. With three tools and ten users, that logic holds up. With twelve systems and a few thousand users, the token bill and the permission surface grow faster than most budgets planned for, and faster than most IT teams can oversee.
Enterprise data has been around this loop before. From query federation in the 1970s, to service-oriented architecture in the 2000s, and then to data virtualization in the 2010s, each tried to query systems of record live but copy nothing. Each ran into the same problems. The source systems were built to serve their own users, and a flood of outside queries slowed them down. Every system added to the chain added more waiting. And access rules stayed behind in each source, so nothing downstream knew who was allowed to see what. Where data virtualization delivered, it delivered because of a cache.
Today, federated MCP is lap four.
MCP isn't the problem. It's being asked to work in the wrong tier of the architecture. Agents need two things: knowledge to ground their reasoning, and hands to act on systems of record. A unified knowledge layer is built for the first, serving high-volume reads across every source at low token cost. Direct MCP calls are built for the second: checking live state, filing the ticket, updating the record. Federated MCP stretches the action tier to do the knowledge tier's job.
This guide compares the two approaches in the four places where the differences show up in practice:
- What the agent sees
- How it finds the answer
- What each question costs
- Whether access holds
Along the way, you'll find plain definitions for terms vendors often use loosely, results from a 40-question pilot, the tradeoffs across four approaches, and a framework for deciding which one fits your workloads.
The Four Differences at a Glance
.avif)
What is federated MCP, and what is a unified knowledge layer?
Federated MCP and a unified knowledge layer are two ways to retrieve enterprise information for an AI agent. Federated MCP sends the agent to search each connected system live, through that system's own MCP server. A unified knowledge layer answers from one permission-aware index built from all of those systems ahead of time. A handful of terms come up throughout this comparison, and vendors don't always use them the same way, so here's how this piece defines them.
Model Context Protocol (MCP)
Model Context Protocol (MCP) is an open standard, introduced by Anthropic in November 2024, that defines how an AI application (the host and its client) talks to an external system (the server). A server exposes tools the model can call and resources it can read. Anthropic contributed MCP to the Linux Foundation's new Agentic AI Foundation in December 2025, when the Linux Foundation counted more than 10,000 published MCP servers.
MCP server
An MCP server is the adapter for one system. The Jira MCP server knows how to search Jira, fetch an issue, and create one. It relies on Jira's own search and Jira's own access model.
Federated MCP
Federated MCP is a retrieval pattern where the agent connects to several MCP servers and searches each one itself at query time. Nothing is copied ahead of time. The model decides which source to query, reads the results, and decides whether to query again. People also call this live fan-out or point-to-point retrieval.
MCP gateway
An MCP gateway is a proxy that sits between agents and many MCP servers to centralize routing, authentication, and logging. A gateway changes how calls are managed, but the retrieval pattern underneath is still federated.
Curated index
A curated index is a hand-picked set of content copied into a store built for one assistant or agent. Claude Projects, Google Gemini Gems, and ChatGPT Projects work this way, as does a vector store loaded for a custom agent. The copy is managed apart from the source it came from, including its permissions.
Unified knowledge layer
A unified knowledge layer is a single, continuously updated index of structured and unstructured content from across an organization's systems, with each document's access controls mirrored from its source. The agent queries the index once, through an MCP or API call, instead of querying each system. Atolio's unified knowledge layer also includes a Collaboration Graph that models who works with whom and on what.
Context layer
Context layer is a newer term, still settling across the market. In this piece, it means a curated set of knowledge drawn from the unified knowledge layer and scoped to one use case, often a single agent. It gives that use case the right scope of context, and the asker's permissions still apply at run time.
How does federated MCP retrieval compare with a unified knowledge layer?
In federated MCP, the model does the searching for anything and everything that might address the task at hand. A unified knowledge layer instead runs the search, ranking, and permission checks first, then hands the model a scoped result.
In a federated setup, a cross-system question becomes a loop. The agent looks up which tools might help, searches the first source, reads the results into its context window, decides they're incomplete, and searches the next source. Every turn re-sends the growing conversation to the model, so each step costs more than the one before it. Anthropic's engineering team describes the same mechanic: when an agent calls tools directly, every intermediate result passes through the model. Retrieval quality is also capped by each system's native search, because an MCP server can only return what that system's search finds. Stitching together weak results from five tools gives the model a longer answer with the same gaps, a point Atolio co-founder and CTO Gareth Watts covers in Enterprise MCP: Limitations, Security Risks, and Scale Considerations.
Everyone has made this call. The phone menu handles the simple things, like checking a balance or resetting a password. Ask for anything off the menu and you're passed from department to department, proving who you are and re-telling your story at every transfer, to people who can each see only their own screen. Federated MCP puts your agent on that call. Every system is another transfer, every transfer another credential check, and every turn re-tells the whole story so far. Now and then you reach the veteran who's worked there for twenty years. They know where everything lives and who owns what, check who you are once, and tell you only what you're entitled to know. A unified knowledge layer does that job on every call.
.avif)
Running those searches in parallel helps, but only with part of the problem. Modern MCP clients can send several tool calls at once, so a first pass across several systems takes about as long as the slowest one. What comes back doesn't change. Every result still lands in the context window, the model still has to read and reconcile it, and when the first pass misses, the next round depends on what the last one returned, so retries run in turn. Parallel fan-out also tends to go wider: an agent that can query every source simultaneously often does, which pulls more content into context and sends more traffic to source systems, where it counts against their rate limits. The failure modes stay the same too. A call that times out in a parallel batch goes as unreported as one in a sequence.
In a unified knowledge layer , the content from those same systems is already indexed together, with metadata, relationships, and per-document access controls attached. A single user request can span every indexed source. The system then ranks results across all of them, filters them to what the asker can see, and returns a short, cited set. Fast-changing transactional data is a different job. Inventory or a live ticket status would go stale in an index, so that data is better read live from the source through MCP.
.gif)
Federated MCP multiplies connections as agents and systems grow, and every question fans out across them. A unified knowledge layer connects each source once, and then serves every agent from the same permission-aware index.
Two rows deserve a closer look. On permissions, federated MCP is only as safe as the credential behind each connection. The MCP specification makes authorization optional, so access control depends on how each server is built and configured. Per-user OAuth lets the source enforce the right boundaries on every call. A shared service account doesn't, and it's common in pilots because it's faster to set up. In call-center terms, it's a department that never asks who you are at all. Broad access also widens the opening for indirect prompt injection, where instructions hidden in retrieved content steer the model. It's the first entry, LLM01, on the OWASP Top 10 for LLM Applications 2025.
On freshness, the two land close together for knowledge content. Federated MCP reads live on every call, and a unified knowledge layer built on streaming ingest reflects changes shortly after they happen at the source, including revoked access and deleted files. For data that changes by the minute, live MCP is the right tool, and it sits alongside the index rather than competing with it.
Any retrieval system will be wrong sometimes. With a secure-by-design unified knowledge layer, the philosophy is to build the system such that the errors fall on the side of showing too little.
A missing document is a support ticket. An exposed one is an incident.
Federated setups also tend to turn into indexes by accident. Retrieval gets slow or the bill arrives, someone adds a cache, and the team now owns a copy of company knowledge with no rule for when it goes stale or who may see it. If that cache hands a document to someone who shouldn't see it, that's a data leak, and nobody may notice until someone reports it. Failed calls make things worse. When three of twelve calls time out, the model still answers from what came back, and nothing in the response says a quarter of the sources never replied.
How many tokens does federated MCP use compared with a unified knowledge layer?
In our 40-question pilot, federated MCP used 68.1 million tokens. Atolio's unified knowledge layer, reached through a single MCP call, used 14.5 million – that's 79% fewer. Atolio's figure includes its own backend processing, so the comparison counts the work the index does in the background.
We built the test to answer one narrow question: for the same real questions over the same sources, how many tokens does each retrieval pattern consume end to end?
How the pilot worked
- 40 real questions across five types: single-system lookups, questions spanning several systems, time-based questions, long synthesis tasks, and questions the data can't answer
- Two setups over the same sources. In the federated setup, Claude connected to Gmail, Google Drive, Notion, and Linear through tuned MCP connections and searched each one itself. In the index setup, Claude made one MCP call to Atolio's unified knowledge layer of those same sources
- Runs paired question by question, so neither total includes a retry the other method didn't make
- One model (Claude Opus 5), one run, token usage only
What we found
The gap between the 79% total and the 53% median question shows where the cost sits. The five most expensive questions accounted for half of federated MCP's total spend. Hard, cross-system questions are where federated retrieval runs away, because each extra step re-sends everything retrieved so far.
That shape has a budget consequence. An index is a fixed cost that tracks corpus size, which grows slowly. Federated retrieval is a variable cost that scales with how curious users are and how many agents they run, so unit economics get worse as adoption improves.
There's a second cost the token bill doesn't show. Agents are built to do work: write the code, update the record, run the workflow. Every token spent finding knowledge is a token not spent reasoning about the task or carrying it out, and a context window crowded with half-relevant results leaves less room for both.
The breakdown of where tokens went supports that reading:
- Federated MCP spent most of its budget carrying retrieved content and conversation history back through the model on every turn, with tool lookup a small share.
- On the index side, lookup and retrieval barely register; nearly all of the spend is Atolio's backend ranking, filtering, and assembling the scoped result for each question.
An example makes the mechanism more concrete: asked to summarize the main points of an internal slide deck, the federated agent searched Notion, Gmail, Drive, and Linear repeatedly, looked up how to read a slide deck, and opened Drive files, with each step costing more than the last. The index path asked once and wrote the answer.
.avif)
For now, this round ran on one model, Claude Opus 5, across four sources and measured tokens only. Additional tests will include additional models, sources, and questions, though the method above is specific enough for any team to rerun on its own stack.
What are the tradeoffs of each approach?
Four patterns cover most enterprise retrieval today. Each handles a specific workload well and carries a cost that shows up at scale.
Federated MCP
Federated MCP, connected directly, is the fastest route to a working agent. Servers already exist for most major applications, and data stays in the source, always current. The costs arrive with scale. Tokens climb with every source and every turn of the loop, retrieval quality stops at each system's native search, and each connection brings its own credential, rate limit, and upgrade cycle. Parallel tool calls shorten the wait, but they don't shrink what lands in context or remove the retry loop. Source systems sized for people also absorb agent traffic, often against contractual API limits.
MCP gateway
An MCP gateway centralizes what direct connections scatter: authentication, routing, tool allowlists, and logging, with tools loaded on demand to trim definition overhead. It governs the calls. The retrieval loop underneath stays the same, so the cost of re-reading retrieved content and the dependence on each source's search both remain.
Curated index
A curated index takes a different route: pick the content an agent needs, copy it into a project or vector store, and point the agent at that copy. It's how Claude Projects, Google Gemini Gems, and ChatGPT Projects work, and many teams are starting to do the same with a vector store behind each custom agent. It's a viable pattern, and it fits best when the content is a product in its own right. Course material in an education platform, or a certified answer set, is managed deliberately outside the store, and publishing to the store is the last step of a release process the team already runs. The cost is that the copy is divorced from where the content is managed. Either the content now lives in two places, or content management moves to the store. Permissions have to be rebuilt in the copy, the copy goes stale between releases, and every new agent means another copy to curate and maintain.
Unified knowledge layer
A unified knowledge layer replaces the fan-out with one query, ranks across every source in one pass, and enforces permissions for the asker before content reaches the model, with one retrieval log for audit. Because the index is independent of the model, switching models requires no rebuild. It requires more up front: connectors, indexing, and resolving one person's identity across systems. Its permission model is the part to test hardest: source permissions should be mirrored at ingest, kept current as access changes, and enforced on every search and agent request. The index is also a copy of company content, so where it runs becomes a compliance decision. A vendor-hosted index moves data outside your perimeter, but a self-hosted one like Atolio's keeps it entirely inside. Fast-changing transactional data isn't what an index is for; that stays with live MCP calls to the source.
Four Approaches, Two Choices
.avif)
When does a unified knowledge layer outperform federated MCP?
Federated MCP holds up while questions stay inside one or two systems and usage stays small. A unified knowledge layer pulls ahead once questions cross systems, users number in the hundreds, or several agents share the same sources.
Questions to ask any vendor or internal team
Run the comparison yourself
The pilot above is reproducible on any stack.
More than the headline percentage, the shape of the result shows where a unified knowledge layer pays off for your workloads.
Where this leaves your architecture
Federated MCP and a unified knowledge layer both try to hand an agent the right context.
Federated MCP explores live, source by source, and that exploration is what pushes cost, latency, and permission risk up as questions get harder and usage grows. A unified knowledge layer does the exploring ahead of time, once, with permissions attached, and hands the model a scoped result. The cost of fragmented search was already high for people; agents only multiply it.
The pilot bears that out: 53% fewer tokens on the median question and 79% across the full set, with the hardest cross-system questions accounting for most of the difference.
MCP stays in the stack either way, in the tier it belongs to. Agents reach the unified knowledge layer through an MCP connection for knowledge, and call MCP servers directly for live state and actions. Even the veteran still logs the change in the system of record, and that's the job MCP was built for. The open problem sits elsewhere. Permissions are the solvable hard part; veracity is harder, because a superseded architecture doc reads exactly like the one that replaced it. Recency, provenance, and authorship signals help, and no approach, indexed or federated, has fully solved it.
Frequently asked questions
1. What is the difference between federated MCP and a unified knowledge layer?
Federated MCP searches each system live, and a unified knowledge layer searches one index built from all of them. With federated MCP, the agent queries each system's MCP server and merges the results itself. A unified knowledge layer ingests content from every system ahead of time, keeps each document's permissions attached, and returns one ranked, filtered result. Agents often reach a unified knowledge layer through a single MCP connection.
2. Does MCP replace RAG or enterprise search?
MCP gives retrieval-augmented generation (RAG) and enterprise search a standard interface, and both still do the retrieval work. RAG retrieves relevant content and passes it to a model, and enterprise search is the engine behind that retrieval. An agent can search several MCP servers in turn, but that skips unified ranking and permission filtering. Teams often end up rebuilding an index, sometimes by accident through a cache.
3. Why does federated MCP use so many tokens?
Federated MCP uses many tokens because every step re-sends the growing conversation to the model. Each search adds results to the context window, and the next call processes all of it again, along with tool definitions. Running calls in parallel shortens the wait, but every result still lands in context. Cross-system questions multiply the steps. In our pilot, one synthesis question took 13 steps and about 443,000 tokens, against about 64,000 on the index path.
4. How does MCP handle permissions on enterprise data?
MCP leaves permissions to each server and the credential behind each connection. Per-user OAuth lets the source enforce that person's access. A shared service account lets the agent reach whatever the account can, and pilots often start that way because it's faster to set up. Access decisions are also spread across every server, so no single log shows what an agent retrieved and for whom.
5. Do I still need MCP if I use a unified knowledge layer?
Yes, MCP stays in the stack alongside a unified knowledge layer. Agents typically query the index through an MCP connection. Actions such as creating a ticket, updating an opportunity, or posting to a channel also run through MCP servers, where one call makes the change with a clear audit trail. The index replaces the federated search loop, and MCP keeps carrying the calls.
6. When is live federated retrieval the right choice?
Live federated retrieval fits data that changes faster than an index can sync, and small deployments. Inventory, live incident status, and account balances can go stale within minutes. A team working against one or two systems may never recoup the setup cost of an index. Most teams pair the two: the index answers knowledge questions, and MCP reads the live data and carries out actions.



