HomeVideos

Did Anthropic finally fix MCP?

Now Playing

Did Anthropic finally fix MCP?

Transcript

530 segments

0:00

Time for a 2025 throwback because we

0:02

need to talk about MCP. It's a standard

0:04

that was really popular at the time. It

0:06

felt like everybody was trying to

0:07

integrate it in their stuff, but it

0:09

wasn't something I was particularly fond

0:10

of. In fact, I was notoriously against

0:12

MCP. I felt like it was massively

0:14

overrated and really bloated spec that

0:16

caused as many problems as it solved.

0:18

And I just didn't find myself using it a

0:20

whole lot in my day-to-day workflows. In

0:22

fact, I've actually found it more

0:24

annoying recently because tools like

0:25

Codeex use it properly. And by using it

0:28

properly, they end up wasting a bunch of

0:29

resources because every single MCP

0:32

server needs to be a dedicated server

0:34

with a dedicated connection to the

0:35

client while it's existing. Even if the

0:37

client never ends up calling it, it has

0:39

to be bound to a real connection on a

0:41

real server. It got so bad that a lot of

0:43

the MCP stuff that we use was just

0:45

hosted locally because the amount of

0:47

infrastructure it would take to host it

0:49

in the cloud just wasn't worth it when

0:50

it wasn't being used 99% of the time.

0:53

But there's a new MCP spec now. They

0:56

should call this something else like

0:57

MCP2 or just a new name entirely because

1:00

the MCP branding's been destroyed. But

1:03

this improvement is massive. Simon

1:06

Wilson just posted an article saying

1:08

that stateless MCP has recaptured his

1:10

interest. This is kind of the spoiler.

1:12

By the way, MCP can now be stateless.

1:16

This is a very, very exciting change

1:19

that makes MCP go from a worse version

1:21

of a CLI to a potentially actually

1:23

useful integration to have in our tools.

1:26

I'm really excited about what this

1:27

means, but there's also some concerns

1:29

that I have with the change. And I

1:30

cannot wait to talk about all of that

1:32

right after a quick break for today's

1:33

sponsor. Agents have gotten way, way

1:35

better at writing code, but they've also

1:37

gotten better at using computers, too. I

1:39

am blown away when I watch models like

1:40

56 navigate the web. But there's a

1:42

problem. They need a browser.

1:44

Thankfully, somebody made the best

1:45

possible browser for your agents, and

1:47

it's today's sponsor, Browserbase. These

1:49

guys understand browsers and agents

1:51

incredibly well. Just as a quick demo, I

1:53

set up Cloud Code with the Browserbase

1:54

MCP, and it's so so cool. I put together

1:58

a lake bed to-do list so you can see the

2:00

live updates as they happen because the

2:02

platform is fully live syncing. I didn't

2:04

define an API for my agents to use to

2:06

modify things on this page. All there is

2:08

is a website, which turns out 85% of the

2:10

web doesn't have APIs. It's only web

2:13

sites, which means agents need a web

2:15

browser in order to access it. Oh, look

2:16

at that. A live to-do just appeared on

2:18

the fly from Claude, doing it through

2:20

the browser. Of course, it's making fun

2:22

of me for still demoing to-do apps.

2:24

What's even cooler is if we go to the

2:26

dashboard, we can live monitor how the

2:28

agent is using the browser. This is the

2:30

actual instance it's using. I could even

2:32

hop in here and control it myself if I

2:34

want to, clicking on things and saying,

2:36

"Hey, sup." Because remember, this is a

2:39

real browser. They are hosting in the

2:40

cloud. If you don't have use cases for a

2:42

tool like this, you're not thinking

2:43

creatively enough. If you are, check

2:45

them out now at sidyv.link/browserbase.

2:47

Good to have you back. It's time to talk

2:49

about the new MCP standard. I wish they

2:51

gave it a good name, but instead it's

2:53

MCP 2026728.

2:56

Didn't we learn this lesson with model

2:57

names when Anthropic had all the

2:59

different versions of Sonnet 3.5 that

3:01

were just different dates? Like, they

3:02

know better than to do this. Yet, here

3:04

we are doing this. I have other

3:06

complaints about this coming up, don't

3:07

worry. The fifth spec release of the

3:10

model context protocol MCP 202060728 is

3:13

live today. The latest spec moves MCP to

3:16

a stateless core while hardening

3:18

authorization and graduating official

3:20

extensions. Support is being rolled out

3:22

across clawed products. This is the big

3:25

part here that MCP has moved to a

3:27

stateless core. Very very very exciting.

3:31

What do we mean by this stateless core?

3:32

Well, according to Enthropic, MCP has

3:34

moved from a birectional stateful

3:36

protocol to a request response model.

3:39

Huh, almost like the exact thing I've

3:40

been saying it should do for a long time

3:42

now. Servers can now deploy on

3:44

serverless and edge infrastructure. This

3:46

simplifies the experience of building

3:47

MCP servers for Claude and scaling their

3:50

usage as they grow in adoption. Yep,

3:52

this is the key piece. In as I mentioned

3:55

before, in order to set up MCP, you had

3:57

to have a dedicated connection between

3:59

the thing running your agent and the

4:01

server providing the service. So if you

4:03

were building an MCP for, I don't know,

4:05

let's say that you had a database

4:07

platform and you wanted an MCP that

4:09

allowed for your customers agents to

4:11

look data up or find things in the DB or

4:14

audit, make changes, stuff like that. In

4:16

an era where we didn't have a good way

4:17

to share all of that context, MCP was

4:20

really powerful because it allowed you

4:21

to expose an endpoint on your service,

4:24

not just enabling it to access that

4:26

data, but also giving it effectively

4:27

instructions on how it can use those

4:29

endpoints and what it can do with them,

4:31

providing examples and whatnot, too. The

4:33

problem with MCP is that that

4:35

relationship between the client and the

4:37

server required them to be connected

4:39

throughout the entire process, even if

4:42

you weren't using it. So if you set up

4:44

five MCPS in your cloud code and then

4:47

went and did a task that used zero of

4:49

them, that cloud code run still has five

4:52

dedicated stateful connections bound

4:55

between it and external services. I'm

4:57

going to show you one of the silliest

4:58

examples of how this affects you in

5:00

day-to-day. I'm going to spin up codeex.

5:03

It's trying to failing to initialize the

5:05

Xcode build MCP. So I got an error

5:07

there. But watch what happens when I say

5:08

sup. I'm hitting enter now.

5:12

Oh, did they suppress it finally? They

5:13

suppressed it finally. Cool. I gave them

5:15

a shitload of feedback about this. There

5:17

was a problem where every time you spun

5:18

up a thread in codeex, it would block

5:21

your first message until it finished

5:23

initializing the MCP servers for

5:25

computer use and whatnot. They recently

5:27

changed it so that those wouldn't happen

5:29

until after you send, which helped a

5:31

bit, but they have changed it even

5:32

further where you don't see it as much

5:34

now, which is good. But previously it

5:36

was obnoxious because every thread and

5:38

more importantly every sub aent would

5:40

have to spin up five or more stateful

5:43

MCP connections which means that on your

5:45

computer if you have one agent run

5:47

you're doing in codecs and it spins up

5:50

five sub aents that is now 30 stateful

5:53

connections that are bound on your

5:55

machine for one prompt and that is for

5:57

the server and the client because it has

5:59

to spin up the server side for that

6:00

locally for all the computer use servers

6:02

in case any one of those sub aents wants

6:04

to do computer use and now you have 30

6:06

stateful processes on the server side in

6:09

codecs and then they're bound 30 times

6:11

on the client. It is so much overhead

6:13

and if you have seen CIS policyd

6:17

eviscerating your CPU this is why for us

6:20

Mac users because sis policyd is how Mac

6:23

OS monitors processes to make sure

6:24

they're not doing anything sketchy and

6:26

spinning up 30 servers on your machine

6:29

looks a little sketchy but now that it's

6:31

stateless none of that matters. Each

6:34

agent can just hit a random endpoint and

6:36

get back some JSON and then decide when

6:39

it wants to do things from there instead

6:41

of it being a bound connection. It is

6:43

just an endpoint that is hit which is to

6:46

be frank the way it always should have

6:48

worked because all MCP should be doing

6:50

is informing the agent of what its

6:52

capabilities are and then giving the

6:54

agent everything it needs in order to

6:56

call and do things. This also means the

6:58

infrastructure you host it on and the

7:00

ways you provide it on your computer can

7:02

be entirely different too. You can have

7:04

a simple local HTTP API or one in the

7:07

cloud that fetches data and has like one

7:09

little key in it to distinguish between

7:11

things instead of keeping a bound

7:13

connection the whole time. There are

7:14

other things they added here like they

7:16

standardize extensions through apps and

7:18

tasks. They hardened off which is cool

7:20

as well. And a bunch of companies said

7:22

awesome things about it. Oh, cool. The

7:24

official MCP site has a nice visualizer

7:27

for this. Like setting up your MCP

7:30

before required a intelligent load

7:32

balancer to make sure the client

7:34

connected to the same place always and

7:36

that things went back to that one and if

7:38

somebody else came in, they got routed

7:39

to the correct instance as well. In a

7:41

world where things are stateless,

7:42

everything is significantly simpler. So

7:44

you don't have to maintain the

7:45

connection through the load balancer the

7:46

whole time. It was one of the most

7:48

highly requested features from

7:49

developers who were eager to get better

7:51

reliability and scalability for their

7:52

MCP servers. [ __ ] yes. Yeah, it was the

7:55

lazier on demand stuff. If there is

7:56

something for that, they finally killed

7:58

the handshake [ __ ] from that awful

8:00

old web spec that they shouldn't have

8:02

implemented. That's a nice change. I

8:05

want to share what Simon Willis had to

8:06

say about this and then I'm going to

8:07

share my personal concerns about this

8:09

change. As I mentioned at the start,

8:11

Simon refers to this as stateless MCP,

8:13

which I think is a really good way to

8:15

clarify what this release is. Tuesday

8:17

was stateless MCP day, the roll out of

8:19

MCP 2.0, or the 2026 0728 model context

8:23

protocol specification to use the more

8:25

formal but less memorable name. This is

8:27

the most significant change to the MCP

8:28

spec since it first launched, and it's

8:30

also served to reignite Simon's personal

8:32

interest in the protocol. For

8:33

background, MCP is the model context

8:35

protocol, which describes a standard way

8:36

to expose new tools to LM powered agent

8:38

frameworks. It was introduced by

8:40

Anthropic in November of 2024 and it had

8:42

a huge spike of interest throughout much

8:44

of 2025 and it became eclipsed by skills

8:47

which was another thing anthropic

8:48

invented. Kind of crazy that this super

8:51

fancy spec and protocol got replaced by

8:53

a markdown file as many things do

8:54

nowadays and the skills took over when

8:56

it became apparent that agent harnesses

8:58

with access to terminals in curl could

9:00

do most of what MCP did in a more

9:01

flexible way. Time is coming back around

9:03

to MCP now. Giving an agent a shell

9:05

environment with the ability to access

9:07

the internet is fraught with risk and it

9:09

requires a strong model that is capable

9:10

of effectively driving such an

9:12

environment. MCB tools in comparison are

9:14

much easier to audit and control and

9:15

they're simple enough that smaller

9:17

models that run on a laptop can still

9:18

drive them reasonably well. The new

9:20

stateless MCP spec greatly decreases the

9:22

complexity of implementing both the

9:23

client and the server for the protocol.

9:25

He built three of them just this week.

9:28

He linked this blog post that shows the

9:30

before and after where before you had to

9:33

have a sticky route to one server and

9:35

share sessions and data and manage all

9:38

of this to make sure that when a request

9:40

came in it always stuck with the one

9:42

server that was hit before. Now it

9:44

doesn't matter. The older stateful MCP

9:46

which he refers to as legacy MCP

9:48

required two HTTP requests. One to

9:50

initialize the session and obtain an ID

9:52

and the second to actually start calling

9:54

tools. But when the tool calls come in,

9:55

it has to match this session ID and get

9:57

routed to the right place, which means

9:58

it has to be maintaining the connection.

10:00

Obnoxious. And the new stateless version

10:02

uses a single HTTP request, which is

10:03

what it always should have been. It's so

10:05

much cleaner for both client and

10:06

serverside implementations. It's also a

10:08

better fit for building scalable web

10:09

apps since now you don't need to

10:10

maintain serverside state to keep track

10:12

of those session IDs or worry about

10:14

routing the same session to the same

10:15

backend machine. MCP Explorer is a cool

10:17

tool he built with Codeex in order to

10:20

explore MCPs to see how they're behaving

10:22

with these new changes. the stateless

10:24

Python CLI. You don't even need to

10:26

install it to try it out. You can just

10:27

call it with uvx. It queries the agentic

10:30

mermaid.dev demo mcp. The above command

10:33

returns the following list of tools. I

10:35

can even run this in my terminal. Let's

10:36

try it. That's super cool. This simple

10:38

command can be pointed at an MCP server

10:40

and then describe all the things that

10:42

are available on it. This one has an

10:44

execute one for executing mermaid SDK

10:46

code. Describe SDK, render SVG, render

10:49

as render PNG. all these commands that

10:52

could be useful if you want to use the

10:54

agentic mermaid site to generate images

10:57

and verify like mermaid diagram code.

10:59

Kind of cool that his demo here isn't

11:01

even using agents. He's just calling it

11:03

by hand to show how the protocol works

11:05

because now it's simple enough to just

11:07

fire off a command and get a result.

11:09

Yeah, that's great. That's awesome. He

11:11

also made one for data set which allows

11:13

MCP endpoints to be added to any data

11:15

set instance. He's tried building this

11:17

four times, but thanks to the new

11:18

stateless MCP specification, he finally

11:20

has a version that feels good to

11:21

release. Huge. Then

11:25

you end up with a bloated spec that

11:27

requires you to have an expensive

11:30

infrastructure to put it out, the

11:32

likelihood you bother putting the thing

11:33

out goes down massively. But now that

11:36

these are stateless, it's way easier to

11:37

get it working, to get it shipped, to

11:39

get it integrated, and to scale it if it

11:41

does end up being used heavily, and to

11:43

spend $0 if it's not used at all. You

11:45

can throw this on any Lambda or

11:46

Cloudflare worker or anything now

11:48

trivially and it's so much better. And

11:50

in a world where agents are doing more

11:51

and more unsafe things, MCP as a way to

11:54

be really strict about what agents can

11:55

do is sensical because again, if you

11:58

give it a CLI, the agent can do pretty

12:00

much anything. But if you give it a spec

12:02

out set of endpoints effectively that

12:04

are self-describing in a way the agent

12:06

can use, then it can only do the things

12:07

that those endpoints provide. Simon's

12:09

conclusion is that he plans to lean into

12:10

MCP much more now when he builds

12:12

sensitive applications on top of LLMs.

12:14

And I agree. It's crazy that I actually

12:17

think the spec is interested, good, and

12:19

usable now. But there is a catch. As

12:22

long as you're on the right version.

12:25

This is the problem that always happens

12:28

when specs change, when capabilities

12:30

change, when things change. Imagine

12:33

you're looking at a product and they

12:34

gladly exclaim, "We support agents." and

12:38

you're like, "Oh, cool. I would love to

12:39

use this with cloud code." So, you go to

12:41

set it up and the instructions are all

12:43

specific for using it in cursor, but all

12:46

of the screenshots are the version of

12:48

cursor from like 3 years ago. You're

12:51

like, "Wait, I thought you support

12:52

agents." Well, yeah, they technically do

12:54

in the same way that a phone cable might

12:57

support USBC. I have like eight

13:00

different tiers of USBC cable in this

13:03

apartment alone. And the problem is that

13:07

all of them are USBC. So if I ask for

13:10

USBC cable, I don't know if the thing I

13:12

get is actually going to be what I want.

13:14

And now that there is so much absolute

13:16

slop MCP servers that were built in an

13:20

era where MCP was just a way for a

13:22

company to justify their AI budgets,

13:24

those are all MCP servers. So if I

13:28

decide I want to try out MCP and I go to

13:30

a website and they say they support MCP,

13:32

I'm like, "Okay, cool. I'm going to go

13:34

connect that." and then it uses the old

13:37

standard. That sucks. Or what I'm more

13:40

concerned about is the client side where

13:42

there's a lot of different agentic

13:44

clients, harnesses, etc. Things like

13:46

cloud code and codeex as well as all of

13:48

the others like open code, pi, cursor,

13:51

of course, anti-gravity.

13:54

There's too many. And a lot of those

13:56

support MCP, but do they support the new

13:59

MCP? Do they support MCP 2026728?

14:04

because that is very different. And if I

14:06

build an MCP server that is on the new

14:08

standard, the new spec, and somebody

14:10

goes to install it in an older version

14:11

of Cloud Code or in some other tool that

14:14

just hasn't updated their MCP bindings

14:15

yet, that sucks. And this is going to be

14:18

a real problem for adoption because the

14:21

previous standard was so heavy, weird,

14:23

and annoying, and it still got

14:25

implemented everywhere. This new, much

14:28

more elegant, reliable standard won't be

14:30

implemented everywhere. and two things

14:32

that both support MCP might be entirely

14:36

different and entirely incompatible. And

14:38

that's a real concern I have because

14:40

that's the point of MCP is that it's a

14:42

simple standard that everything supports

14:44

on both server and client. Now it isn't.

14:47

By fixing the standard, they ruined the

14:49

nature of the standard. It is a way way

14:53

better solution. But this new solution

14:56

is not backwards compatible because the

14:58

previous implementations on the client

15:00

side expect a stateful connection to be

15:02

bound. And this is the opposite of that.

15:05

You can't just take something that

15:07

expects a dedicated connection and sever

15:09

it and expect it to work. There is a

15:11

catch though. One of the things that

15:14

makes this less likely to matter.

15:16

There's this cool thing you guys might

15:17

have heard of recently. I don't know. I

15:20

I know they're still niche, but but hear

15:22

me out. There's this thing called LMS,

15:25

and it turns out LM are good at code.

15:28

What this means, hypothetically,

15:31

is any tool that you're using that is

15:33

only supporting the old MCP standard on

15:36

the client side really doesn't have much

15:38

of an excuse to not implement the new

15:40

standard. Because if you're a company

15:41

building a harness or an agentic tool or

15:44

something like that, it's your

15:46

responsibility to keep up to date.

15:48

Because if you built a coding tool that

15:50

you think is the bees knees, you think

15:52

it's super cool, and I go and try your

15:54

super cool AI code tool and then it

15:56

doesn't work with my MCP services,

15:57

you're on an old version, and I say,

15:59

"Hey, you your harness doesn't work with

16:02

the new MCP. You say you support MCP,

16:04

but it's the old version. Can you update

16:05

it?" You only really have two answers

16:08

you can give. They are yes, absolutely,

16:12

I'll get an agent on it now or eh, I

16:15

don't really care or I'm too busy or

16:17

something along those lines. And if

16:18

their agentic coding tools are so

16:21

powerful that they can convince you to

16:23

try their thing, but they're not

16:25

powerful enough to update the standard

16:26

relatively quickly, you should ignore

16:28

that person in their tools. So hopefully

16:31

the way this works out, fingers crossed,

16:33

is that it becomes a bit of a self-own

16:36

where the companies building tools that

16:37

only support the old version of MCP get

16:41

called out for what they are, which is

16:43

not understanding of how powerful these

16:45

things are and how quickly they can

16:46

iterate and fix stuff or they do and it

16:49

can be a good filter for which companies

16:50

and products do and don't get it and do

16:52

and don't improve over time. I'm at the

16:55

point where if a company is building an

16:56

AI tool and they're not giving

16:58

meaningful updates every week that I

16:59

just assume they've deprecated and

17:01

stopped working on it internally because

17:02

there is no excuse to not be shipping

17:03

updates regularly at this point in time.

17:05

It's too easy to ship code that is too

17:07

good. There's no excuse for not

17:09

upgrading. So that's the only reason

17:11

this is acceptable. In a previous era

17:12

where you had to manually update

17:14

everything by hand and rebuild this

17:17

whole standard into your stuff, this

17:18

would be hell. But in a world where you

17:20

can point an LM at the new spec and say,

17:21

"Hey, make sure this works. here's three

17:23

test MCPS and it tests it and it does

17:26

awesome to take like an hour with Opus

17:28

or Fable. Not a big deal. So, those are

17:30

my thoughts. That's my one big concern

17:32

is a big change like this that is

17:34

inherently not backwards compatible is

17:36

going to cause some churn. But in a

17:38

world where an LLM can go and update

17:40

your tools for you, it's not a big deal.

17:42

What is a big deal is how much more

17:44

powerful this standard is now that it is

17:46

stateless and can be properly

17:47

implemented across scalable solutions

17:49

without having to spend a shitload of

17:50

time and money and complexity to get

17:52

there. It's a nice change. It feels like

17:54

it actually understands developers and

17:56

what their needs are instead of just

17:57

trying to be this god spec with every

17:59

possible thing included in it. And I'm

18:02

excited to play with it now. I can't

18:03

believe I'm excited to go try out MCP

18:05

again, but I really am. And I can't wait

18:07

to see what I'm able to do with it. Let

18:09

me know what you guys think. Are you

18:10

going to stick with your CLIs or do you

18:12

see real potential with MCP now that we

18:13

have these changes?

Interactive Summary

The video discusses the major evolution of the Model Context Protocol (MCP) by moving from a stateful, connection-heavy architecture to a stateless, request-response model. While the speaker was previously critical of MCP due to its resource-heavy implementation, the update to a stateless core makes it significantly more scalable and easier to deploy on serverless infrastructure. The speaker expresses concerns about backward compatibility and fragmentation between tools supporting the old versus new standards but argues that AI-assisted coding tools should make upgrading trivial, potentially making this a litmus test for the responsiveness of developer tool companies.

Suggested questions

4 ready-made prompts