Skip to content

Progressive Disclosure

Standard MCP loads every tool’s full JSON schema at initialize. With 10 tools averaging 1 K tokens each, that’s 10 K tokens before the agent does any work. Enterprise agents connecting to dozens of servers can burn tens of thousands of tokens on schema loading alone.

Delta-MCP replaces this with a two-tier model negotiated at initialize:

tools/list → names + ≤60-char descriptions only (~115 tokens for 6 tools)
tools/describe → full schema, on-demand, cached (~30 tokens per tool)

The 60-char description cap

The description cap is enforced at registration — longer descriptions throw at startup. This is intentional: the schema is the right place for detail, not the discovery index.

Counter-intuitively, shorter descriptions improve tool-selection accuracy. More detail increases execution steps by 67% and regresses 16% of cases (Anthropic lazy-tool-loading research).

this.tool({
name: "search",
description: "Search docs and return top results", // ≤60 chars ✓
// description: "Full-text search over documentation, supports boolean operators AND, OR, NOT..."
// ^ throws at startup ✗
inputSchema: { ... },
});

Token comparison

// Standard MCP — model sees all of this before doing anything
{
name: "search",
inputSchema: {
type: "object",
properties: {
query: { type: "string", description: "Full-text query. Supports AND, OR, NOT..." },
limit: { ... },
filters: { type: "object", properties: { dateRange: { ... } } }
}
}
}
// Delta-MCP tools/list — model sees this (~6 tokens)
{ name: "search", description: "Search docs and return top results" }
// Delta-MCP tools/describe — only fetched when model decides to use the tool
{ name: "search", inputSchema: { ...full schema... } }

Schema caching

Once tools/describe is called for a tool, the schema is cached in the client. Subsequent calls return the cached schema with no round-trip.

await client.describeTool("search"); // fetches from server
await client.describeTool("search"); // returns from cache, 0 ms

Compatibility

Standard MCP clients connecting to a Delta-MCP server get full schemas via tools/list automatically — the server detects that the client hasn’t negotiated progressive disclosure and falls back to the MCP baseline.

Numbers

ScenarioStandard MCPDelta-MCP
6-tool discovery943 tokens118 tokens
20-tool discovery~3 600 tokens378 tokens
1 of 6 tools used941 tokens upfront229 tokens on-demand
Tool-selection accuracy (Opus 4.5)79.5%88.1%