← back
Your MCP Server is Bad (and you should feel bad) - Jeremiah Lowin, Prefect
Takeaway
Treat an MCP server as a curated product UI for agents, not a 1:1 mapping of your existing API surface.
Summary
- FastMCP author argues most MCP servers are bad because they expose human-style REST surfaces; agents have different needs across discovery, iteration, and context.
- Discovery is expensive for agents (every connection enumerates every tool description), iteration is slow (each call replays prior history), and context windows are tiny (~200k tokens).
- Core thesis: design MCP servers like products for agents — curate ruthlessly. An agent will inspect every piece of hay to find the needle.
- FastMCP downloads (~1.5M/day) give the speaker a privileged view; the FastMCP namespace is being removed from the official SDK to disambiguate from the high-level library.
- Advocates 'agentic product design' as a discipline analogous to human UX, with HIG-like guidelines.
mcpagent-designfastmcp
Original description
Too many MCP servers are simply glorified REST wrappers, regurgitating APIs that were designed for SDKs, not agents. This leads to confused LLMs, wasted tokens, and demonstrably poor performance. If you've ever pointed an MCP generator at an OpenAPI spec and called it a day, this talk is your intervention. Like any product, great MCP servers are the result of careful design. This talk shares the hard-won lessons from creating FastMCP, the most popular framework for building MCP servers (and yes, for generating them, too). The secret is to stop thinking about endpoints and start thinking about products. We will cover the three pillars of agent-native product design—Discovery, Iteration, and Context—providing an actionable framework for curating context into small, highly effective surface areas that lead to better AI outcomes. Jeremiah Lowin, CEO of Prefect https://twitter.com/jlowin https://www.linkedin.com/in/jlowin https://github.com/jlowin