Blog / How agents load MCP tools

OpenCode 1 vs OpenCode 2: from a 63k-token tool preload to a 16-tool catalog

OpenCode is the open-source agent app many teams pick when they want their own model. Its two major versions load MCP tools in opposite ways. If your users run it, that decides most of what your server costs them.

Leonid Bugaev · Published 21 Oct 2026

OpenCode 1: everything, every time

We captured the first request OpenCode 1.18.34 sends to its model with a 99-tool production MCP server attached, both live and with a recorded copy of the tool list. Both gave the same result.

OpenCode 1: MCP definitions per request
63,245 tokens (99 tools)
OpenCode 2: catalog per request
881 tokens (16 tools)

OpenCode 1 sends the definitions again with every model request, not just the first. In 40 live runs it averaged 3.7 requests per question, so about 230k tokens of tool definitions per question (3.7 × 63,245, an estimate).

See what your MCP server costs in OpenCode.

We run your users' jobs in OpenCode, Claude Code, Codex and Grok Build, and show what each loads and pays for.

Test your MCP

OpenCode 2: a partial catalog plus search

OpenCode 2.0.31 hides MCP tools behind one code-running tool. In 2 live read-only runs in the interactive app, the model saw:

- server (99 tools, 16 shown)
The catalog is partial. ... search() ...

With a catalog, what the model sees first is a short description line, so the first words of each description decide a lot. See put the meaning in the first line.

Result cut-offs in both

Both versions keep the first 2,000 lines or 51,200 bytes of a result and save the full output to a file. In OpenCode 1, 29 of 33 large list results were cut. In OpenCode 2 one job hit the cap twice (14,098 and 16,343 tokens kept), then the model grepped and read the saved file over 4 steps and answered correctly. More: output limits by agent.

Sidebar: Grok Build

What it means for your server

Context in general: MCP context window usage. Back to how agents load MCP tools.

Go deeper: Claude Code tool search, seen from the wire, How Codex finds MCP tools, MCP tool-list token calculator.

How we measured

FAQ

Does OpenCode load all MCP tools into context?

OpenCode 1.x does: in our capture, all 99 tools (63,245 tokens) went into every model request. OpenCode 2.0 doesn't by default: it showed a catalog of 16 of the 99 tools and let the model search for the rest.

Which OpenCode version do users have?

In our tests OpenCode's standard installer still installed version 1; version 2 was a separate opt-in release.

How does OpenCode 2 choose which tools to show?

Its catalog said it was partial. The 16 shown appeared to be those with the cheapest schemas; the model used search() from code to find others.

What does OpenCode do with large tool results?

Both versions keep the first 2,000 lines or 51,200 bytes and save the full output to a file the model can read. In OpenCode 1, 29 of 33 large list results were cut.

How does Grok Build load MCP tools?

It sends none up front. A reminder lists connected servers and tool counts; the model calls search_tool (client-side BM25, default limit 5) and then use_tool.

See what your MCP server costs in OpenCode.

We run your users' jobs in OpenCode, Claude Code, Codex and Grok Build, and show what each loads and pays for.

Test your MCP