Slides: Your MCP Server is Bad (and you should feel bad) - Jeremiah Lowin, Prefect
Source Video
Your MCP Server is Bad (and you should feel bad) - Jeremiah Lowin, Prefect
Relationship To World's Fair 2026
These slides are extracted from a public AI Engineer YouTube video connected to World's Fair 2026. Speaker-matched clips are supporting context unless later confirmed as exact session recordings; official livestream recordings are day-level/event-level source material.
Related Scheduled Sessions
- No individual scheduled session mapping has been assigned yet; treat this as an event livestream deck.
Extracted Slides

OCR text:
Your MCP Server Is
(and you should feel bad)
Jeremiah Lowin
Al Engineer Code Summit
November 22. 2025
PREFECT PLS eee)

OCR text:
$whoami
Founder&CEo:Prefect Technologies
Responsible for:Prefect,Marvin,FastMCP
Status:Slightlyoverwhelmed
2025-11-2213:14:39

OCR text:
I've seen of MCPs
Daily Download Quantity of fastmcp package - Overall
30d 60d 90d 1200 all
1,500,000
3 1,000,000
9 —® With_Mirrors
= —@— Without_Mirrors
°
3
500,000
0 PEPE USES S
AD AD CV DAS AD ON DAD ND DAV AD DAD AV OO 4
BEST NE V7 OLNEY PONT NE AV? OY OPN? AEA OPN? AP A! SO? SN
SEH HH MN NP PPM MKK IP PMP MG OL Sy vyy
Date
Rd 2025-11-22 13:15:54

OCR text:
Objective:
Build intuition for agentic
product design

OCR text:
“If a human can use an API,
why can’t an AI?”

OCR text:
Agents can find a
needle in a haystack
But only by examining
everypiece ofhay

OCR text:
Product Intuition:
How to the smallest
effective surface area for
autonomous users?

OCR text:
JFK27-B1.302
2025-11-22 13:22:59

OCR text:
MCP
server.py
from fastmcp import FastMcP
mcp =FastMCP("Washington DC Metro")
@mcp.tool def is_metro_on_fire()→ bool: """Check the fire status of the Dc Metro"""
return True
2025-11-2213:23:49

OCR text:
JFK27-B1.302
2025-11-22 13:24:39

OCR text:
x ele How to build secure and scalable
ee. ° as remote MCP servers
DESIGNING oy] °°
HIGH “ x
QUALITY jo <2 AD
MCPs ‘ °
_s xo |
#
Bd 2025-11-22 13:25:54

OCR text:
server.py
The "REST Wrapper"Starting Point
@mcp.tool def get_user_by_email(email:str)→dict:
@mcp.tool
def list_orders_v2(user_id:str,query:dict)→list:
@mcp.tool def get_shipping_details(order_id:str)→dict:
2025-11-2213:26:44

OCR text:
Step 1: Logic and Naming
Outcomes, not operations

OCR text:
, NOt operations
The Trap V The Fix
td e
e One tool —- one agent story
e Agent-as-glue e = =6Servernandies composition. not
the agent
t Mea t- 101] (mane) heme 10s] ROL Are 1101S)
e Name tools for agents (verb +
hasaeiaye)
R) 2025-11-22 13:28:49

OCR text:
JFK27-B1.302
2025-11-22 13:31:44

OCR text:
server.py
Clean Args,Missing Context
from typing import Literal
@mcp.tool async def track_latest_order(
str: """Finds the order."." include_cancelled:bool=False, email:str, format:Literal["basic","verbose"]="basic"
2025-11-2213:34:14

OCR text:
server.py
The"GoldenTool
@mcp.tool(annotations={"readonlyHint":True})
async def track_latest_order(
email:str,
include_cancelled:bool =False
→str:
Locates a user's Lastorder and returns status.
Use when user asks“Where is my stuff?"
Example:
User:"Check bob@example.com"
Call:track_latest_order(email="bob@example.com")

OCR text:
An average LLM context holds 200.000 tokens.
That means ~250 tokens for each of your 800 endpoints.
So if eacn tool's description was approximately as long as the
text on this slide. then you would have taken up about 1/4 of
the chent LLMs memory...
just by saying .
Nd 2025-11-22 13:42:09

OCR text:
JFK27-B1.302
2025-11-22 13:44:14

OCR text:
Medium aS 1 Medium a '
Building a Fivetran MCP Server: What | Learned Building MCP
From Concept to 25+ Fivetran Tools Servers: Unifying My Entire Data
(and beyond) Stack into a Single, Intelligent UI
.— ~~. Diego
Building a Fivetran MCP Server:
From Concept to 25+ Fivetran MCP
Tools (and beyond) es
R 2025-11-22 13:50:29

OCR text:
Stop converting REST APIs
to MCP servers

OCR text:
Yes,
7 cf @ es
noe tree Fal? commmrerety” Mosty Harmiess ee Ae
FASTMC?P 3
Openann tees
neon ' Stop Converting Your REST
OpenAP!. FastMCP ee APIs to MCP
Caeriev att MAP ser very om any OpenaPl spececaton " Le % oe, ea 7 “ gh, ow
Fae 8 Fo cae acetate Ate peri ate AT wat te oe ay op 4 . b Y
ADEE AE wey A NBR Arar tet pene AOE cn me ME oo .
phe a oa end ie enh onarany eva RATHER On wt fea ~, il
coun wgeen | | ie
ee a ar B
Nd 2025-11-22 13:52:09

OCR text:
JFK27-B1.302
2025-11-22 13:54:39

OCR text:
2025-11-22 13:55:04
JFK27-B1.302
Slide-Derived Subjects To Review
Subject extraction uses video title, related session titles/descriptions, transcript context, and OCR text when available. OCR is best-effort and should be reviewed against the embedded slide images.