Markdown source

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

Extracted Slides

slide-001.jpg

OCR text:

Your MCP Server Is

(and you should feel bad)

Jeremiah Lowin

Al Engineer Code Summit

November 22. 2025

PREFECT PLS eee)

slide-002.jpg

OCR text:

$whoami

Founder&CEo:Prefect Technologies

Responsible for:Prefect,Marvin,FastMCP

Status:Slightlyoverwhelmed

2025-11-2213:14:39

slide-003.jpg

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

slide-004.jpg

OCR text:

Objective:

Build intuition for agentic

product design

slide-005.jpg

OCR text:

“If a human can use an API,

why can’t an AI?”

slide-006.jpg

OCR text:

Agents can find a

needle in a haystack

But only by examining

everypiece ofhay

slide-007.jpg

OCR text:

Product Intuition:

How to the smallest

effective surface area for

autonomous users?

slide-008.jpg

OCR text:

JFK27-B1.302

2025-11-22 13:22:59

slide-009.jpg

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

slide-010.jpg

OCR text:

JFK27-B1.302

2025-11-22 13:24:39

slide-011.jpg

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

slide-012.jpg

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

slide-013.jpg

OCR text:

Step 1: Logic and Naming

Outcomes, not operations

slide-014.jpg

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

slide-015.jpg

OCR text:

JFK27-B1.302

2025-11-22 13:31:44

slide-016.jpg

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

slide-017.jpg

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")

slide-018.jpg

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

slide-019.jpg

OCR text:

JFK27-B1.302

2025-11-22 13:44:14

slide-020.jpg

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

slide-021.jpg

OCR text:

Stop converting REST APIs

to MCP servers

slide-022.jpg

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

slide-023.jpg

OCR text:

JFK27-B1.302

2025-11-22 13:54:39

slide-024.jpg

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.