Your MCP Server is Bad (and you should feel bad) - Jeremiah Lowin, Prefect
TL;DR
Jeremiah Lowin argues that most MCP servers fail because developers treat them like REST APIs for humans rather than curated interfaces optimized for AI agents' specific constraints around discovery cost, iteration speed, and limited context windows.
🧠 The Agent-Human Divide 3 insights
Discovery is prohibitively expensive
Unlike humans who study documentation once, agents must rediscover the entire server on every activation, burning tokens to enumerate every tool and description.
Iteration is the enemy
While humans iterate code rapidly, each additional agent tool call transmits the full conversation history over the wire, making multi-step workflows slow and costly.
Context windows are severely constrained
Agents operate with limited memory (around 200k tokens) compared to human long-term memory, requiring interfaces that minimize cognitive load and decision points.
🎯 Outcomes Over Operations 3 insights
Atomic operations are an anti-pattern
Exposing granular functions like get_user and filter_orders forces agents into expensive orchestration instead of single-call solutions that return complete outcomes.
Agents make terrible glue code
Using LLMs to chain atomic operations is slow, stochastic, and hard to debug compared to deterministic orchestration tools like Prefect or Airflow.
Design for agent stories
Tools should represent complete workflows (e.g., 'track latest order by email') rather than steps that require agent reasoning to sequence and execute.
🎨 The Art of Curation 3 insights
Raw API wrappers fail agents
Simply stringifying REST API responses creates 'needles in haystacks' where agents must examine every field to find relevant data, consuming excessive context.
Agents deserve purpose-built interfaces
Just as humans use websites and apps instead of raw APIs, agents need interfaces curated specifically for their strengths and weaknesses, not repurposed human developer tools.
Curate ruthlessly to minimize discovery
Every exposed tool and description adds to the discovery tax, so servers must eliminate unnecessary surface area and optimize for the agent's limited context window.
Bottom Line
Design MCP tools as complete outcome-oriented workflows rather than atomic API operations, curating strictly for agent limitations on discovery, iteration, and context.
More from AI Engineer
View all
How METR measures Long Tasks and Experienced Open Source Dev Productivity - Joel Becker, METR
Joel Becker from METR argues that slowing compute growth would proportionally delay AI capabilities milestones measured by task time horizons, while presenting findings that experienced open-source developers showed minimal productivity gains from AI coding assistants like Cursor, challenging optimistic adoption curves.
Identity for AI Agents - Patrick Riley & Carlos Galan, Auth0
Auth0/Okta leaders Patrick Riley and Carlos Galan unveil new AI identity infrastructure including Token Vault for secure credential management and Async OAuth for human approvals, presenting a four-pillar framework to authenticate users and authorize autonomous agent actions across enterprise applications.
OpenAI + @Temporalio : Building Durable, Production Ready Agents - Cornelia Davis, Temporal
Cornelia Davis from Temporal demonstrates how integrating OpenAI's Agents SDK with Temporal's distributed systems platform creates production-ready AI agents that automatically handle crashes, retries, and state persistence without developers writing complex resilience code.
Spec-Driven Development: Agentic Coding at FAANG Scale and Quality — Al Harris, Amazon Kiro
Amazon Principal Engineer Al Harris introduces Spec-Driven Development through Kiro, an agentic IDE that replaces unstructured 'vibe coding' with a formal workflow converting prompts into EARS-format requirements and property-based tests, enabling FAANG-scale reliability in AI-assisted development.