Code 2025
Your MCP Server is Bad (and you should feel bad) - Jeremiah Lowin, Prefect
Overview
This talk argues that MCP servers, which act as interfaces for AI agents, should be designed with agents' unique strengths and weaknesses in mind, rather than simply mirroring human-facing APIs. The core thesis is that agents have different needs regarding discovery, iteration, and context compared to humans, and MCP server design must account for these differences to create effective and usable interfaces.
Who should watch
- AI engineers building or integrating with MCP servers.
- Product Managers and designers focused on AI agent experiences.
- Developers encountering issues with agentic workflows and tool usage.
- Anyone looking to improve the performance and usability of AI agent interactions.
Key takeaways
- Design MCP servers for agents, not humans, by considering their limitations in discovery, iteration, and context.
- Prioritize outcomes over operations; focus on what the agent needs to achieve rather than exposing raw API calls.
- Flatten arguments and use clear, agent-centric naming for tools and parameters to simplify agent interaction.
- Document MCP servers thoroughly, using examples cautiously as they can act as strict contracts for agent behavior.
- Treat errors as prompts, providing helpful information to the agent to guide its recovery and future actions.
- Respect token budgets by being concise in documentation and tool descriptions, as this is a critical constraint for agent performance.
- Avoid simply converting existing REST APIs into MCP servers; instead, curate and adapt them for agentic use.
- Consider splitting large servers or namespacing tools to manage complexity and improve agent performance.
Notable quotes
*Humans don't use APIs. Humans use products. We do anything we can to put something between us and an API.*
*I argued to you that the most important word in the universe for MCP developers is curate.*
*You are not building a tool. you are building a user interface and treat it like a user interface.*
Unofficial community note. Prefer the recording for nuance.