read-only demo

Videos 96G7FLab8xc

Your MCP Server is Bad (and you should feel bad) - Jeremiah Lowin, Prefect

index_state ready data_status ok

AI Engineer· published 2026-01-12· 0:54:32· en-US· indexed 2026-08-10 19:54

Open on YouTube

Scene timeline

  1. Shot 0, 0:00 to 0:12, 1 of 1 keyframes kept
  2. Shot 1, 0:12 to 0:16, 1 of 1 keyframes kept
  3. Shot 2, 0:16 to 0:20, 1 of 1 keyframes kept
  4. Shot 3, 0:20 to 0:46, 1 of 1 keyframes kept
  5. Shot 4, 0:46 to 1:13, 0 of 1 keyframes kept
  6. Shot 5, 1:13 to 1:20, 0 of 1 keyframes kept
  7. Shot 6, 1:20 to 1:49, 1 of 1 keyframes kept
  8. Shot 7, 1:49 to 2:18, 0 of 1 keyframes kept
  9. Shot 8, 2:18 to 2:53, 1 of 1 keyframes kept
  10. Shot 9, 2:53 to 3:28, 0 of 1 keyframes kept
  11. Shot 10, 3:28 to 3:56, 1 of 1 keyframes kept
  12. Shot 11, 3:56 to 4:26, 1 of 1 keyframes kept
  13. Shot 12, 4:26 to 4:57, 0 of 1 keyframes kept
  14. Shot 13, 4:57 to 5:28, 1 of 1 keyframes kept
  15. Shot 14, 5:28 to 5:54, 1 of 1 keyframes kept
  16. Shot 15, 5:54 to 6:19, 1 of 1 keyframes kept
  17. Shot 16, 6:19 to 6:45, 0 of 1 keyframes kept
  18. Shot 17, 6:45 to 7:10, 0 of 1 keyframes kept
  19. Shot 18, 7:10 to 7:36, 0 of 1 keyframes kept
  20. Shot 19, 7:36 to 8:01, 0 of 1 keyframes kept
  21. Shot 20, 8:01 to 8:27, 0 of 1 keyframes kept
  22. Shot 21, 8:27 to 8:52, 1 of 1 keyframes kept
  23. Shot 22, 8:52 to 9:18, 1 of 1 keyframes kept
  24. Shot 23, 9:18 to 9:44, 0 of 1 keyframes kept
  25. Shot 24, 9:44 to 10:04, 1 of 1 keyframes kept
  26. Shot 25, 10:04 to 10:13, 1 of 1 keyframes kept
  27. Shot 26, 10:13 to 10:32, 1 of 1 keyframes kept
  28. Shot 27, 10:32 to 10:48, 1 of 1 keyframes kept
  29. Shot 28, 10:48 to 10:56, 1 of 1 keyframes kept
  30. Shot 29, 10:56 to 11:26, 1 of 1 keyframes kept
  31. Shot 30, 11:26 to 11:44, 1 of 1 keyframes kept
  32. Shot 31, 11:44 to 12:14, 1 of 1 keyframes kept
  33. Shot 32, 12:14 to 12:26, 1 of 1 keyframes kept
  34. Shot 33, 12:26 to 13:10, 1 of 1 keyframes kept
  35. Shot 34, 13:10 to 13:27, 1 of 1 keyframes kept
  36. Shot 35, 13:27 to 13:28, 1 of 1 keyframes kept
  37. Shot 36, 13:28 to 13:55, 1 of 1 keyframes kept
  38. Shot 37, 13:55 to 14:41, 0 of 1 keyframes kept
  39. Shot 38, 14:41 to 14:59, 1 of 1 keyframes kept
  40. Shot 39, 14:59 to 15:19, 1 of 1 keyframes kept
  41. Shot 40, 15:19 to 15:47, 1 of 1 keyframes kept
  42. Shot 41, 15:47 to 16:15, 0 of 1 keyframes kept
  43. Shot 42, 16:15 to 16:43, 0 of 1 keyframes kept
  44. Shot 43, 16:43 to 17:11, 0 of 1 keyframes kept
  45. Shot 44, 17:11 to 17:38, 1 of 1 keyframes kept
  46. Shot 45, 17:38 to 18:24, 1 of 1 keyframes kept
  47. Shot 46, 18:24 to 18:29, 1 of 1 keyframes kept
  48. Shot 47, 18:29 to 18:41, 1 of 1 keyframes kept
  49. Shot 48, 18:41 to 19:06, 1 of 1 keyframes kept
  50. Shot 49, 19:06 to 19:32, 0 of 1 keyframes kept
  51. Shot 50, 19:32 to 19:57, 0 of 1 keyframes kept
  52. Shot 51, 19:57 to 20:23, 0 of 1 keyframes kept
  53. Shot 52, 20:23 to 20:45, 1 of 1 keyframes kept
  54. Shot 53, 20:45 to 20:58, 0 of 1 keyframes kept
  55. Shot 54, 20:58 to 21:44, 1 of 1 keyframes kept
  56. Shot 55, 21:44 to 21:53, 1 of 1 keyframes kept
  57. Shot 56, 21:53 to 22:15, 1 of 1 keyframes kept
  58. Shot 57, 22:15 to 23:04, 1 of 1 keyframes kept
  59. Shot 58, 23:04 to 23:41, 1 of 1 keyframes kept
  60. Shot 59, 23:41 to 24:18, 1 of 1 keyframes kept
  61. Shot 60, 24:18 to 24:34, 0 of 1 keyframes kept
  62. Shot 61, 24:34 to 25:04, 1 of 1 keyframes kept
  63. Shot 62, 25:04 to 25:34, 1 of 1 keyframes kept
  64. Shot 63, 25:34 to 26:03, 1 of 1 keyframes kept
  65. Shot 64, 26:03 to 26:11, 0 of 1 keyframes kept
  66. Shot 65, 26:11 to 26:46, 1 of 1 keyframes kept
  67. Shot 66, 26:46 to 27:20, 0 of 1 keyframes kept
  68. Shot 67, 27:20 to 27:23, 0 of 1 keyframes kept
  69. Shot 68, 27:23 to 27:26, 1 of 1 keyframes kept
  70. Shot 69, 27:26 to 27:52, 1 of 1 keyframes kept
  71. Shot 70, 27:52 to 28:24, 1 of 1 keyframes kept
  72. Shot 71, 28:24 to 28:39, 1 of 1 keyframes kept
  73. Shot 72, 28:39 to 29:08, 1 of 1 keyframes kept
  74. Shot 73, 29:08 to 29:37, 0 of 1 keyframes kept
  75. Shot 74, 29:37 to 30:06, 0 of 1 keyframes kept
  76. Shot 75, 30:06 to 30:39, 1 of 1 keyframes kept
  77. Shot 76, 30:39 to 31:11, 0 of 1 keyframes kept
  78. Shot 77, 31:11 to 31:43, 1 of 1 keyframes kept
  79. Shot 78, 31:43 to 32:21, 1 of 1 keyframes kept
  80. Shot 79, 32:21 to 32:23, 1 of 1 keyframes kept
  81. Shot 80, 32:23 to 32:53, 1 of 1 keyframes kept
  82. Shot 81, 32:53 to 33:24, 1 of 1 keyframes kept
  83. Shot 82, 33:24 to 33:31, 1 of 1 keyframes kept
  84. Shot 83, 33:31 to 33:59, 1 of 1 keyframes kept
  85. Shot 84, 33:59 to 34:27, 1 of 1 keyframes kept
  86. Shot 85, 34:27 to 34:56, 1 of 1 keyframes kept
  87. Shot 86, 34:56 to 35:24, 1 of 1 keyframes kept
  88. Shot 87, 35:24 to 35:37, 1 of 1 keyframes kept
  89. Shot 88, 35:37 to 35:50, 1 of 1 keyframes kept
  90. Shot 89, 35:50 to 35:56, 1 of 1 keyframes kept
  91. Shot 90, 35:56 to 36:26, 1 of 1 keyframes kept
  92. Shot 91, 36:26 to 36:48, 1 of 1 keyframes kept
  93. Shot 92, 36:48 to 37:16, 0 of 1 keyframes kept
  94. Shot 93, 37:16 to 38:00, 1 of 1 keyframes kept
  95. Shot 94, 38:00 to 38:16, 0 of 1 keyframes kept
  96. Shot 95, 38:16 to 38:33, 1 of 1 keyframes kept
  97. Shot 96, 38:33 to 38:58, 1 of 1 keyframes kept
  98. Shot 97, 38:58 to 39:30, 1 of 1 keyframes kept
  99. Shot 98, 39:30 to 40:02, 0 of 1 keyframes kept
  100. Shot 99, 40:02 to 40:39, 1 of 1 keyframes kept
  101. Shot 100, 40:39 to 41:16, 0 of 1 keyframes kept
  102. Shot 101, 41:16 to 41:41, 1 of 1 keyframes kept
  103. Shot 102, 41:41 to 42:07, 1 of 1 keyframes kept
  104. Shot 103, 42:07 to 42:15, 1 of 1 keyframes kept
  105. Shot 104, 42:15 to 42:32, 1 of 1 keyframes kept
  106. Shot 105, 42:32 to 42:38, 1 of 1 keyframes kept
  107. Shot 106, 42:38 to 43:00, 1 of 1 keyframes kept
  108. Shot 107, 43:00 to 43:03, 1 of 1 keyframes kept
  109. Shot 108, 43:03 to 43:23, 1 of 1 keyframes kept
  110. Shot 109, 43:23 to 43:25, 1 of 1 keyframes kept
  111. Shot 110, 43:25 to 43:26, 1 of 1 keyframes kept
  112. Shot 111, 43:26 to 43:58, 1 of 1 keyframes kept
  113. Shot 112, 43:58 to 44:30, 1 of 1 keyframes kept
  114. Shot 113, 44:30 to 44:57, 1 of 1 keyframes kept
  115. Shot 114, 44:57 to 45:24, 1 of 1 keyframes kept
  116. Shot 115, 45:24 to 45:51, 1 of 1 keyframes kept
  117. Shot 116, 45:51 to 46:23, 1 of 1 keyframes kept
  118. Shot 117, 46:23 to 46:55, 1 of 1 keyframes kept
  119. Shot 118, 46:55 to 47:27, 1 of 1 keyframes kept
  120. Shot 119, 47:27 to 48:01, 1 of 1 keyframes kept
  121. Shot 120, 48:01 to 48:35, 1 of 1 keyframes kept
  122. Shot 121, 48:35 to 48:43, 1 of 1 keyframes kept
  123. Shot 122, 48:43 to 48:50, 1 of 1 keyframes kept
  124. Shot 123, 48:50 to 48:53, 1 of 1 keyframes kept
  125. Shot 124, 48:53 to 49:42, 1 of 1 keyframes kept
  126. Shot 125, 49:42 to 49:54, 1 of 1 keyframes kept
  127. Shot 126, 49:54 to 50:26, 1 of 1 keyframes kept
  128. Shot 127, 50:26 to 50:58, 1 of 1 keyframes kept
  129. Shot 128, 50:58 to 51:30, 1 of 1 keyframes kept
  130. Shot 129, 51:30 to 51:34, 1 of 1 keyframes kept
  131. Shot 130, 51:34 to 51:42, 1 of 1 keyframes kept
  132. Shot 131, 51:42 to 52:13, 1 of 1 keyframes kept
  133. Shot 132, 52:13 to 52:25, 1 of 1 keyframes kept
  134. Shot 133, 52:25 to 52:31, 1 of 1 keyframes kept
  135. Shot 134, 52:31 to 52:57, 1 of 1 keyframes kept
  136. Shot 135, 52:57 to 53:23, 1 of 1 keyframes kept
  137. Shot 136, 53:23 to 53:49, 1 of 1 keyframes kept
  138. Shot 137, 53:49 to 54:15, 1 of 1 keyframes kept
  139. Shot 138, 54:15 to 54:32, 1 of 1 keyframes kept

139 shot(s).

keyframes kept every frame deduplicated

What was stored

cues
672
whisperx 672
chunks
99
from 672 cues
keyframes
109
kept of 139 captured
frames with text
109
574 lines read
chapters
0
from the source metadata
keyframe bytes
19.3 MB
word timings on 672 cues

Provenance

Each pipeline stage, its state and the model that produced it
stage state model started took
fetch done 2026-08-10 17:44 2m 13s
stt done 2026-08-10 17:47 1m 00s
chunk done 2026-08-10 17:48 0s
text_embed done 2026-08-10 19:53 1s
keyframe done 2026-08-10 17:48 1m 37s
ocr done 2026-08-10 17:49 22s
frame_embed done 2026-08-10 19:54 19s

Frames, and what the machine read

  • 0:08 #0 done10 line(s)

    shot 0·sharpness 1335.0

    1. ANTHROPIC0.98
    2. Cline0.99
    3. Google DeepMind0.97
    4. HumanLayer1.00
    5. arize1.00
    6. replit1.00
    7. Google DeepMind1.00
    8. Code Summit0.99
    9. CURSOR1.00
    10. GoogleDeepMind0.97
  • 0:14 #1 done2 line(s)

    shot 1·sharpness 686.0

    1. PRESENTING SPONSOR0.99
    2. Google DeepMind0.99
  • 0:17 #2 done2 line(s)

    shot 2·sharpness 499.0

    1. PLATINUMSPONSOR1.00
    2. ANTHROP\C1.00
  • 0:38 #3 done7 line(s)

    shot 3·sharpness 1723.7

    1. Your MCP Serveris Bad0.99
    2. (and you should feel bad)0.99
    3. Jeremiah Lowin1.00
    4. Al Engineer Code Summit0.99
    5. November 22, 20250.99
    6. PREFECT2024 Prefec Technolgies, Inc.0.73
    7. 2025-11-2213:13:501.00
  • 1:10 #4 skipped

    shot 4·duplicate of #3

  • 1:14 #5 skipped

    shot 5·duplicate of #3

  • 1:43 #6 done5 line(s)

    shot 6·sharpness 1768.5

    1. $whoami1.00
    2. ■Founder & CEO: Prefect Technologies0.98
    3. Responsible for: Prefect, Marvin, FastMCP1.00
    4. Status: Slightly overwhelmed1.00
    5. 2025-11-2213:14:540.97
  • 2:14 #7 skipped

    shot 7·duplicate of #6

  • 2:48 #8 done14 line(s)

    shot 8·sharpness 1766.4

    1. I've seen a lot of MCPs0.98
    2. Daily Download Quantity of fastmcp package - Overall1.00
    3. 30d 60d 90d 120d0.98
    4. all1.00
    5. 1,500,0001.00
    6. Dods0.61
    7. 1,000,0001.00
    8. With_Mirrors1.00
    9. Without_Mirrors1.00
    10. 500,0001.00
    11. 80.94
    12. Date1.00
    13. © Copyright 2024 Prefect Technologies, Inc.0.95
    14. 2025-11-2213:16:000.98
  • 2:57 #9 skipped

    shot 9·duplicate of #8

  • 3:52 #10 done4 line(s)

    shot 10·sharpness 775.1

    1. YOUR IDEAS ARE BAD,0.97
    2. AND YOU SHOULD FEEL BAD!1.00
    3. © Copyright 2024 Prefect Technologies, Inc.0.97
    4. 2025-11-2213:17:040.98
  • 4:14 #11 done4 line(s)

    shot 11·sharpness 1538.1

    1. Objective:1.00
    2. Build intuition for agentic1.00
    3. product design1.00
    4. 2025-11-2213:17:260.98
  • 4:36 #12 skipped

    shot 12·duplicate of #11

  • 5:25 #13 done3 line(s)

    shot 13·sharpness 1168.8

    1. "If a human can use an API,0.98
    2. why can't an Al?"0.98
    3. 2025-11-2213:18:360.98
  • 5:46 #14 done3 line(s)

    shot 14·sharpness 1371.6

    1. Humans don't use APls.0.98
    2. Humans use products.0.98
    3. 2025-11-2213:18:570.98
  • 6:16 #15 done7 line(s)

    shot 15·sharpness 1193.0

    1. Human1.00
    2. Developers1.00
    3. Al Agents0.99
    4. Discovery1.00
    5. Iteration1.00
    6. Context1.00
    7. 2025-11-2213:19:280.99
  • 6:27 #16 skipped

    shot 16·duplicate of #15

  • 6:50 #17 skipped

    shot 17·duplicate of #15

  • 7:30 #18 skipped

    shot 18·duplicate of #15

  • 7:46 #19 skipped

    shot 19·duplicate of #15

  • 8:14 #20 skipped

    shot 20·duplicate of #15

  • 8:47 #21 done6 line(s)

    shot 21·sharpness 1908.4

    1. Agents can find a0.99
    2. needle in a haystack.1.00
    3. But only by examining1.00
    4. every piece of hay.1.00
    5. Technologies, Inc.0.96
    6. 2025-11-2213:21:591.00
  • 9:13 #22 done6 line(s)

    shot 22·sharpness 2335.2

    1. Product intuition:0.99
    2. How to curate the smallest1.00
    3. effective surface area for0.97
    4. autonomous users?1.00
    5. 2025-11-2213:22:241.00
    6. Technologies, Inc0.99
  • 9:33 #23 skipped

    shot 23·duplicate of #22

Transcript

672 cues· 10,345 words· 53,579 chars

  1. 0:20 I really do appreciate that you're all here.
  2. 0:22 I'm going to try and make this as painless as possible.
  3. 0:24 We're not going to do an interactive part.
  4. 0:27 We're going to talk through stuff.
  5. 0:28 I'm happy to go off script.
  6. 0:29 I'm happy to take questions if there's stuff we want to explore at any moment in this.
  7. 0:34 My goal is I'd like to share with you a lot of things that I've learned.
  8. 0:38 I'm going to try and make them as actionable as possible, so there is real stuff to do here, more than we might in a more high-level talk.
  9. 0:47 But let's be very honest.
  10. 0:48 It is late.
  11. 0:49 It is a lot.
  12. 0:50 It is long.
  13. 0:51 Let's talk about MCP.
  14. 0:53 I'm hoping that folks here are interested in MCP, and that's why you came to this talk.
  15. 0:56 If you're here to learn about MCP, this might be a little bit of a different bent.
  16. 1:00 Just show of hands.
  17. 1:03 Heard of MCP?
  18. 1:05 Used MCP?
  19. 1:07 Written in MCP server?
  20. 1:10 OK.
  21. 1:11 Anyone feel uncomfortable with MCP, which is 100% fine.
  22. 1:14 We can tailor.
  23. 1:16 Okay, then I would say, let's just go, let's dive in.
  24. 1:21 This is who I am.
  25. 1:22 I'm the founder and CEO of a company called Prefect Technologies.
  26. 1:24 For the last seven or eight years, we've been building data automation software and orchestration software.
  27. 1:30 Before that, I was a member of the Apache Airflow PMC.
  28. 1:34 I originally started Prefect to graduate the same orchestration ideas into data science.
  29. 1:38 Today, we operate the full stack.
  30. 1:40 And then a few years ago, I developed an agent framework called
  31. 1:45 Marvin, which I would not describe as wildly popular, but it was my leg into the world of AI, at least from a developer experience standpoint, and learned a lot from that.
  32. 1:53 And then more recently, I introduced a software called Fast MCP, which is wildly, wildly popular, maybe even too popular.
  33. 2:00 And
  34. 2:02 hence my status today.
  35. 2:04 I'm a little overwhelmed.
  36. 2:06 I find myself back in an open source maintenance seat, which I haven't been in a few years, which has been a hell of a lot of fun.
  37. 2:12 But the most important thing is that FastMCP has given me a very specific vantage point that is really the basis for this talk today.
  38. 2:19 This is our downloads.
  39. 2:20 I've never seen anything like this.
  40. 2:21 I've never worked on a project like this.
  41. 2:22 It was downloaded a million and a half times yesterday.
  42. 2:26 There's a lot of MCP servers out there and FastMCP is just, it's become the defacto standard way to build MCP servers.
  43. 2:35 I introduced it almost exactly a year ago, as many of you are probably aware, MCP itself was introduced almost exactly a year ago.
  44. 2:40 And a few days later, I introduced the first version of FastMCP.
  45. 2:43 David at Anthropic called me up, said, I think this is great.
  46. 2:46 I think this is how people should build servers.
  47. 2:48 We put a version of it into the official SDK, which was amazing.
  48. 2:52 And then as MCP has gone,
  49. 2:55 crazy in the last year we found it actually to be constructive to position fast mcp uh as i'm maintaining it as the high level interface to the mcp ecosystem while the sdk sdk focuses on the low level primitives and actually we're going to remove the fast mcp vocabulary from the low level sdk um in a couple of months it's become a
  50. 3:16 little bit of it's too confusing that there are these two things called fast mcp so fast mcp will be a high level interface to the world and um as a result we see a lot of um not great mcp servers i

Open at this second