MCP Servers That Pipe Raw Data Beat REST API Wrappers
Raw Data Wins
Not all MCP servers are created equal. The ones that pipe raw data directly into the LLM's context - full accessibility trees, complete transcripts, unprocessed documents - are dramatically more useful than the ones that wrap a REST API and return structured JSON summaries.
The difference is what the LLM can reason about. When you give it the full accessibility tree of a macOS application, it can see every button, every text field, every label. It can understand the layout, infer relationships between elements, and make decisions about what to interact with. When you give it a pre-processed summary, it can only work with whatever the MCP server developer decided was important.
Why REST Wrappers Fall Short
A typical REST API wrapper MCP server looks like this: the agent calls a tool, the tool makes an HTTP request, parses the response, and returns a subset of fields. The LLM never sees the full response. It cannot ask follow-up questions about data that was filtered out. It is working with someone else's interpretation of what matters.
This creates a bottleneck. The MCP server developer has to anticipate every possible use case and expose the right fields. In practice, they expose the obvious ones and miss the edge cases - which are exactly the cases where you need an AI agent in the first place.
The Raw Data Approach
The best MCP servers are simple pipes. They take raw data from the environment and put it in context:
- Accessibility tree traversals - the full tree, not a summary
- Meeting transcripts - every word, not a generated summary
- Document contents - the complete text, not extracted keywords
- Screen state - structured representation of everything visible
The LLM is better at extracting relevant information from raw data than a pre-built parser is at anticipating what information will be relevant.
The Token Tradeoff
The objection is obvious: raw data is expensive. Full accessibility trees can be thousands of tokens. Complete transcripts even more. But this is a tradeoff worth making. The cost of extra tokens is predictable and manageable. The cost of missing information is an agent that fails on edge cases.
Build MCP servers that trust the LLM to handle raw data. The LLM is the smart part of the system - let it do the interpretation.
Fazm is an open source macOS AI agent. Open source on GitHub.