Apify measures what an MCP server costs in context, and who chooses the next tool

Apify measures what an MCP server costs in context, and who chooses the next tool

Apify has published the most measured answer yet to a question that usually gets a slogan. In AI agent vs. MCP server: which one should you build?, Satyam Tripathi starts from the protocol text: the 2026-07-28 revision defines 13 request methods and 8 notifications, and “not one of them has a field for a goal, a task, or an objective.” A goal sent in an undeclared parameter is silently dropped, which the post proves against Apify’s own server and 15 other public ones, all of which “ignored the undeclared parameter and returned no error.” The line that settles the title: “What separates the agent from the server is who chooses the next tool.”

The figures are Apify’s own measurements, reproducible with the curl and Python the post includes, and the caveats are stated. A four-tool connection to Apify’s server sends 6,547 tokens, of which 3,608 reach the model in Claude Code; the default connection sends 17,816, with 7,567 reaching the model. Across 33 registry servers that answered without authentication, the median sent under 1 percent of a 200k window, the largest 23,809 tokens, and the post notes the authenticated servers missing from the sample would push the median up. Descriptions and instructions were 33 percent of the payload and 60 percent of what reached the model, which supports the sharpest claim: “A server that writes tool descriptions and instructions can influence the decisions the calling agent makes, without ever making one itself.” A failure analysis tied 29 percent of failed tool selections to description wording. A skill costs 101 tokens until used; code execution cut model cost 73 percent across seven tasks, with two tasks where it did worse.

The catalog reads the server the post measures. The Apify provider page lists 6 API pages, and the tools under test wrap the Apify Actors API for search and details, the Apify Actor Runs API for the status a long call returns first, and the Apify Datasets API behind the paged get-dataset-items call the post uses to keep a big result out of the context. The MCP server, agent skills and the full identity layer are lit on the Agent Readiness score. The agentic access profile maps 13 operations, 3 of them acting.

The Kin Score is 37.0, thin band, with discoverability at 80.0 and developer ergonomics at 62.4 against contract quality at 26.6 and operational transparency at 10.5. The Agent Readiness score is 52.9, agent-ready. The post’s closing advice to anyone building the loop is that “retries, idempotency, and compensating actions are your responsibility, and the protocol does not handle them for you.” On Apify’s record, idempotency, reversibility and error semantics are the unlit dimensions. The post is right that the protocol does not carry those guarantees. The contract underneath the server could, and the catalog is still waiting for it to.

← Teradata benchmarks Tera against Claude Code, and its record has no delegated identity
Cloudflare splits the OAuth provider in two, and its record is already agent-native →