MCP · Updated 2026-10-09
MCP token reduction: cut tool definitions and tool results
Every MCP server you connect costs tokens in two places: its tool definitions, sent with every request, and its results, which stay in the conversation after the agent reads them. The fixes for each are different. Here is how to cut both.
compress_context.
Two kinds of MCP token cost
| Cost | When you pay it | How it grows |
|---|---|---|
| Tool definitions | Every request, whether or not the tools are used. | With the number of servers and tools enabled. |
| Tool results | When a tool is called, and again on every later turn while the result is in the session. | With result size and session length. |
Cutting tool definitions
- Enable per project. Turn on only the servers a project uses.
- Allowlist tools. Many clients let you enable a subset of a server's tools.
- Load tools on demand. Some clients and gateways search for tools when needed instead of sending every definition up front.
- Code mode. Gateways such as Bifrost expose a few meta-tools and let the model write code against the rest.
Cutting tool results
- Ask for less. Use filters, fields and page sizes.
- Store and preview. Proxies such as mcp_trunc_proxy or sqz keep the full result outside the context and return a preview plus a retrieval tool.
- Restructure. Tools such as compressmcp shorten JSON keys and structure without dropping content.
- Compress against the question. SuperCompress keeps the original lines that answer the current question and drops the rest. It works on any text, not only JSON.
These combine. Trim definitions first because the saving repeats every turn, then handle large results.
How SuperCompress works
SuperCompress is hosted, extractive and query-aware. Your agent sends a large block of context (a log, a diff, a file read, an MCP result) together with the question it is working on. Our Neural Keep model scores the lines against that question, keeps the original lines that answer it, and drops the rest. It never rewrites or summarizes, so file paths, error messages, IDs and code come back exactly as they were. The question itself is never compressed.
Every compress call reports original_tokens and kept_tokens, so you can see what was dropped on your own work instead of trusting a headline number. The usage_summary MCP tool shows totals per agent for your account.
Install
npm install -g supercompress-proxy && supercompress setup
Setup links your SuperCompress account in the browser, detects the coding agents on the machine and wires each one. Restart the agent so it loads the new MCP server. Then check what is wired up:
supercompress doctor
doctor prints a per-agent health check. supercompress uninstall removes only the entries SuperCompress added. Setup backs up each config file before it edits it.
More detail on results: MCP tool output compression. Claude Code users hitting the size warning: MCP output too large.
FAQ
Why do MCP servers use so many tokens?
Each enabled server sends its tool definitions with every request, and tool results stay in the conversation after they are read, so they are sent again on later turns.
What is the fastest way to reduce MCP token usage?
Disable servers and tools a project does not use. That saving repeats on every request. Then deal with large results by filtering at the server or compressing them against the question.
Is SuperCompress itself an MCP server?
Yes. It adds one server with three tools: compress_context, connect_account and usage_summary. Run npm install -g supercompress-proxy && supercompress setup to wire it into every detected agent.