MCP's New Spec Breaks Everything You Built — Here's What to Do | Du'An Lightfoot, Akamai
Watch on YouTubeVideo summary
The introduction of the latest Model Context Protocol (MCP) specifications marks a significant evolution from its early days as an open-source standard, transforming it into the essential backbone that connects AI systems to tools and data. Initially, MCP relied on a simple client-server relationship using standard input/output streams, which often led to fragmentation as developers deployed servers locally without centralized management. The new specifications address these scalability issues by introducing HTTP streamable protocols, allowing MCP servers to be hosted centrally in virtual machines or containers behind load balancers. This shift enables organizations to manage multiple servers efficiently, supporting round-robin routing and improving reliability by removing the dependency on maintaining session states on the server side.
A core change in this new version is the removal of session IDs, moving the architecture toward a stateless model similar to traditional APIs. While this eliminates risks associated with stolen or replayed session states, it shifts the responsibility of managing state and authentication to the client, often through mechanisms like cookies that must be verified upon every request. Beyond statelessness, the updated protocol unlocks new capabilities such as interactive applications where servers can pause tasks to ask users for confirmation via forms, and support for long-running asynchronous tasks using ticketing systems. These features allow AI agents to handle complex workflows without tying up connections, significantly reducing latency and enhancing the overall user experience by enabling more efficient background processing.
However, these advancements introduce new security considerations that organizations must address during migration. The transition from older versions requires careful planning because existing handshakes will break due to the absence of session IDs, and teams must identify all deployed MCP servers to ensure they are protected by firewalls, web application firewalls, and rate limiting tools. There is also a heightened risk regarding long-running tasks and interactive forms, which could become targets for denial-of-service attacks or prompt injection if not properly validated. Experts emphasize that while technical guardrails can be implemented at the network layer, organizations must remain vigilant because AI systems, much like humans, may find ways to bypass safety measures, making continuous monitoring and validation essential for production environments.
Looking ahead, the migration to the new MCP architecture presents an opportunity for developers to redesign their tooling for greater efficiency and reduced token usage, addressing current concerns about "token bloat." The future of MCP may also involve the creation of a centralized repository or app store where agents can easily discover and connect to necessary servers, streamlining integration across different platforms. As organizations adopt this new standard, they will need to balance the benefits of enhanced functionality with rigorous security practices, ensuring that their AI infrastructure remains robust against evolving threats while leveraging the full potential of stateless, scalable AI interactions.
Read the full video transcript
When we started building on MCB, it was
yet another exciting shiny new thing and
a shiny new standard. People were doing
whatever they wanted to do. Then it was
open-source and as we have seen with
every other open-source project. Uh as
the adoption goes grows, uh the usage
grows, new users come in and they try to
bring their own problems and they wanted
to solve. So it quickly became the
backbone that connects all AI systems to
your tools and data. Now with growth of
usage developers uh started to demand
different things and they were starting
to do different things. So the community
they released the latest specifications
for MCP uh which changed the way you we
used to work uh whether it's uh sessions
uh servers security everything has
changed and it's good also because now
you have stateful uh no more you know
stateless things but it is a lot of
changes so today we have with us Dan
Lightoot senior developer advocate for
AI engineer Akamay to not only unpack
but to also talk about you know how it
serves developers and we will talk a lot
about the whole MCP space as well but
before that first of all Dan it's great
to have you on the show
>> hey Swamnil thank you for having me
today I'm glad to be here and hello
everyone
>> it's my pleasure so let's start with you
know I mean of course it's not even a
question that who doesn't know about MCP
but let's just quickly talk about the
role MCP since Enthropic announced it
then it was open source but now it is
playing it is plugging into it has kind
of you know become a backbone. So talk
about the role of MCPS before we talk
about specification and what has
changed.
>> Yeah. So when you think about AI
applications whether it's a coding agent
or you have some other agent that are
performing tasks what helps an agent be
successful and actually play the role of
an agent is the tools it has access to.
And so those tools can come in the form
of get you know with traditional
connecting the traditional backend APIs
to let's say get the weather get some
information from a database or they can
just come from looking up information on
some other backend storage where you
have some data right well in order to
connect the tools traditionally what you
would have what you would have to do as
a developer was you would have to write
let's say Python functions and you would
have to write them connect it to your
agent and then scale that to every agent
that you have. So there was a lot of
manual work in order to give
capabilities to agents and AI
applications. What MCP did was it said
okay let's standardize a way to build
tools and provide them to AI
applications in this standardized way.
Now when it was first released it was
through standard in standard out. So
everybody was building MCP servers and
running them on their laptop or desktop.
Well, in enterprise, you know, since
it's standardized, it also needs to be
centralized. So we needed HTTP
streamable HTTP. So now we could host
this on a virtual machine or Docker
container and then other developers can
connect to this MCP server, get the
tools and capabilities, and it's
constantly been progressing to where we
are today. Now let's talk about this
latest you know specifications
what has changed and what kind of impact
it will have on developers and the way
they plug things to AI and LLMs.
>> Yeah. So when you think when we were
talking about the the initial version of
MCP it had this client server
relationship one client connect to a
single MCP server right. So if you
wanted to scale as a business to have an
MCP server and scale it across multiple
servers and multiple users, you would
struggle with that because you couldn't
put it behind a load balancer and do
something like round robin. What this
new version allows you to do is remove
the session in the handshake that would
happen with MCP, right? So now every
request kind of stands alone, right? And
any server, you know, can answer any
request. So now you can actually do that
round robbing when it comes to MCP
behind a normal load balancer. This
helps scale for an organization, you
know, and it also increases reliability
because now you're not also maintaining
that session state on your end. This is
more on the client side when it comes to
managing MCP. There's also some
tightening around securityurities
improvements. There's introductions
around interactive apps, right? So now
you can send forms or send additional
information or request did you really
want to make this change through the MCP
server, right? And then if you have long
running tasks, you can create some type
of ticketing to say, okay, this task is
going to take maybe an hour. Send it
back to the agent. The agent now can
check back to see how long it's going to
take. Um, one last thing which is also
important when it comes to MCP is that
before when changes happen, there was no
real way to um, mitigate when these
change happen within your application.
Now, you get a one-year notice before
anything is removed, right? So they kind
of standardized to say hey we're
delivering MCP to the community since
it's open source and we're going to make
sure that it's stable and um available
for businesses to be able to use it
within their enterprise applications.
Interesting thing with standards is that
there was a joke also know we love
standards so much that we have made so
many of those and that becomes a problem
while you know on paper MCP does look
like you know standardize but when it
comes to day-to-day you know and also
depends on the provider you're using the
kind of tool you're using everybody is
doing their own things those there is a
kind of fragmentation also how you talk
to those they are everybody is doing
their own implementation how much
fragmentation problem is there and will
this because it is solving a lot of
major problems that we face day-to-day.
Will it push organizations towards more
standardized uh standard or will that
fragmentation remain?
>> There will be fragmentation in the older
version. The newer version was designed
to operate more like traditional um APIs
right through HTTP. So rather than you
having that client server relationship,
you know, you kind of just build your
MCP server and then you connect to it
like a traditional API, right? So I I
believe that um there will may be some
challenges around um the security and
the risk around MCP but when it comes to
being able to roll it out and use it and
consume it I believe the changes that
they have made have made it more in line
with how you would um scale a um API
within your organization. Now let's talk
about some of the biggest things which
is going to impact almost everybody
which is statelessness you know uh talk
a bit about uh what does removing
protocol label sessions unlock for
organizations running MCPS at a scale
and how does that shift make changes to
uh performance reliability deputability
and most importantly security
>> the the session ID has been removed from
um the new version of MCP. So there's no
more sticky routing, right? No more
sessions stored by the server. You know,
caching and tracing works like
traditional APIs. Um but the one thing
about that is that some of the risk has
been removed, but it also didn't vanish
because you don't have a session ID.
There's no stealing of the um session or
the state and being able to to replay
it, right? Um the app [clears throat]
memory now travels through the client.
So anything that you want to remember
and send back that needs to happen via
okay I want to have a a connection to
this MCP server. Well the MCP server may
provide you like a a cookie like in a
traditional application. And so when
that cookie comes back the the um
requester has to send that back to the
server. And now the server needs to
analyze this to ensure that it who that
the cookie or the state wasn't altered,
right? It belongs to the person that's
asking and it hasn't expired. Now the
protocol for the new MCP server does not
tell us how to do that, but it says that
this is something that you should do.
Beyond statelessness, the newspec also
enables richer interactions from multi-
roundtrip request and longing task to
MCP apps and broader extensions model.
Uh talk a bit about because when we look
at a you folks enable so many businesses
uh real time I mean the use cases are
just beyond comprehension. So talk a bit
about what new possibilities will these
unlock that developers, users,
organizations, business were not able to
do. Uh now we have to also consider
security risk whether they will
eliminate them or introduce new risks.
>> All right. So when it comes to this new
version of MCP tools can now pause and
ask the user a question. So let's say
you request to remove a file or change a
file on a database or some other um
storage location. the tool can pause and
the server can request hey do you really
want to do this and you can reply back
that say yes I do want to do this and
then when it comes to longunning tasks
if a developer is working on an
application and they have a a tool call
for MCP server then that workload is
going to take a longer time on the back
end well the server can actually send a
ticket or some ID number back to the AI
application and the AI application can
now drop that request and on the next
request check the status of that long
running task and for to me that really
um that changes how we use AI right
because now the work happens on the
server rather than tying up the
connection between something like cloud
code or codeex and it's having that
async communication right or that
synchronous communication that's waiting
it now can be more asynchronous we say
hey okay this job is working we can
check back later and move more now there
the the one one more thing that I'll
cover is that when it comes to apps
which is a new feature interactive
feature within MCP is that it could
actually send maybe a form or some type
of data within the um return from the
server to the user which is interesting
right um because now the backend can
really send you know a request or some
verification or some other type of app
to the user through AI, right? Rather
than the AI have having to render that,
this can happen from the server. But
there are some risks, right? Those
ticket ids for those long running
requests, they become targets, right? So
when we think about that, well, how do
you protect against that, right? The
same with the cookies and the state and
verifying has it been altered? Does it
really belong to the user that done the
request? Has it expired? There needs to
be some controls on the server to do
that verification. Now, another thing
about those longunning tasks is that now
this is an attack surface because those
longunning tasks could be cheap to
implement, cheap to start, but then
they're costly to run, but also an
attacker now could do a denial of
service because now they're doing a
bunch of requests in that application.
So, that's something we got to think
about as well. um when it comes to the
app, if you're sending a form now, you
got to worry about like prompt injection
or fishing inside of that form when it
comes back. So, those are some of the
things that we have to think about when
we're implementing or rolling out this
new version of MCP and its features.
>> We can put as many guard rails as we
want. We can even put gates, but we all
know there was a saying in Jurassic
Park, life finds way, AI finds a way,
you know, to break those. So, so hall el
hall elucination is there making things
up and then try to validate it or even
try to remove the traces will there uh
in these new specifications or from your
perspective as AI is moving into
production
the
kind of uh uh disclaimer that hey AI can
make mistakes you know double check is
not going to work because damage can be
done and damage can be much more severe
uh whether at standard level protocol
level work. Either the work is already
underway or should be done to kind of
prevent as much possible hallucination
or such risky behavior where it can
actually uh we have seen cases where
agents interact with each other to
compromise the secrets you know or to
get access because they have to get
something done. So they will behave just
like humans behave actually. Uh so talk
a bit about uh are these guarders part
of this specification or you feel that
no that is something we must do but that
is for future. Yeah. So when you think
about using AI, right? MCP
is a server, right? How do you protect
the server? Well, the network layer is
the first place to start, right? Um what
should actually connect to your MCP
server? I would start there, right? And
then if you have like a load balancer,
well, your load balancer can do
protection at that layer 7, right?
Checking the headers because now it acts
like traditional HTTP. So the these are
things we got to think about. So between
your network layer with your firewalls,
your access control list and then your
layer 7 um load balancer or or W web
application firewall. You can do some
mitigation there. Um when it comes to
guard, now you're thinking about the
firewall around let's say the AI whether
it's your AI agent or your LLMs, you
could put guard rails to protect against
those prompt injections. There's some W
applications that do that as well that
look inside of the payload. Um, but
there are mitigations that we've been
doing traditionally with HTTP and now we
can actually do that with MCP since we
don't actually have to go in that JSON
body. We can actually just look at the
headers now to really do some
protections for our applications.
>> Excellent. Uh, thank you for taking the
question. Now, of course, everybody has
already deployed MCP in production, MCP
client servers. uh what should those
setups what should those teams who have
this very crazy very complicated very
complex you know the whole MCP client
server deployment uh what should they do
what are the biggest migration or
security uh things that they should be
worried about
>> yeah so when it comes to the m the the
migration from traditional or the older
version of MCP one of the things you got
to think about is that I mentioned that
when MCP was first rolled out you had a
lot of standard in standard out So what
did that mean? You had m developers
spinning up MCP servers on a laptop all
across your organization, right? You had
teams spinning up MCP servers in
different environments. Um so the the
question is do you have let's say a load
balancer web application firewall to
monitor the traffic to see what MCP
servers are out there because you can
look at the headers and identify that.
So identify what MCP servers are out
there, right? find out where they are,
look at the logs, look at the versions,
and verify. Now, if you're trying to
migrate, there's no real direct path
from the older version. You know, this
is a new implementation. So, you'll have
to focus on that. Um, the second thing
is that when you put the new version
out, you know, the old handshakes from
the clients are going to break, right?
Because there's no there's no session
ID, none of that exists. Um, the new
version also doesn't have sampling,
doesn't have roots. um logging in old CL
client information. So those are some of
the things that you have to think about.
Um but I would start with just
identifying what MCP servers you have
that are out there. Now what are the
features right? Um this is an
opportunity to really design your MCP
servers more efficiently. Um because one
of the biggest challenges with MCP
servers um from a few months ago, less
than six months ago was token bloat. And
now you know everyone's talking about
tokconomics. This is an opportunity to
figure out what tools do you actually
need in your MCP servers? How are they
actually designed? What does the um dock
streams look like? Can you simplify this
and make it more efficient in in your
organization? If you just look at from
purely developers point of view, how how
is going to solve some of their
problems, some of their struggles, some
of their frustration when their
day-to-day life has changed, they got
access to the things they want, they got
things the way they want and also
security wise because it is actually you
know every time you plug into you have
to think about so many things and
sometime you cannot even think about
that. So talk about the the impact on
developers day-to-day life who is
totally hooked into MCP.
>> Yeah, from a developer perspective, a
lot of developers are using MCP servers.
Um, they've built their own MCP servers
depending on how deep they are in AI.
When it comes to this migration, it's
it's a question of okay, does this MC
MCP server solve my needs? Right? If you
have one in your organization and it
connects to your application, well, now
you're more if you're building AI agents
that requests information, you can do a
lot more, right? Long running tasks,
forms, apps within MCP. This is an
opportunity to figure out, okay, I've
been wanting to build these specific
workflows, but the problem that I was
having was that I had this hangup with
MCP. It was adding latency to my
application. Well, now what you could
actually do is rather than waiting on
this job to finish, you could actually
move on within your application, maybe
decrease some latency, increase user
experience. There's a lot of different
things that you can do from a developer
perspective. But I think because it's so
new, it's going to take some
experimenting and finding out what
works, what doesn't work, and how to
actually apply it at scale within your
organization. As organizations make this
transition, how can Akami help them
migrate to the new MCP architecture more
securely?
>> I mentioned when you have a web
application firewall and you have a load
balancer and you have these different um
network tools and resources within your
organization. Often those that are
watching this and they've heard of Akami
and they're familiar with Akami, they're
probably rug running it in their
organization. So that means we're
already protecting their API traffic. So
since we're protecting your API traffic,
this new version of MCP is in line with
that, right? Because it's using HTTP. So
now since we're already in front of
that, we can put the the web application
firewall and our tools in front of your
MCP servers and then we can monitor
those traffic, check the headers, right?
help you with that mitigation from or
that migration from the old version to
the new version, identify that traffic
and also protect you at that edge when
it comes to u malicious attacks or you
know that rate limiting and everything
that you're used to when you use Akama
>> and while Akama is there to help for
those teams who are just starting to
plan their migration what are the things
that they should do at their end what
kind of homework how they should prepare
their infrastructure their tools their
server for this migration.
>> Yeah, I I mentioned this before, but
when it comes to prep preparing your
service, identify what what your
workloads are, right? Um identify the
tools, identify the workloads, identify
the um rate limiting that you may need,
identify, you know, how many tokens that
are being sent from your MCP server.
These are things that you can do to
identify. But when it comes to your
application, what's actually connected
to it? What's being served? You know,
how are you going to handle the the the
the different types of flows that come
through MCP, right? If you're doing a
long running task, well, now you need to
figure out how do you identify and
verify that task when it comes back,
right? That request and that check. So,
these are some of the things that you
have to think about when you're moving
to the new version of MCP. What are
other things that you wish should have
made to this specification or that is on
your own wish list for the next
iteration of specifications?
>> When it comes to wish list, I I see MCP
as being um the future of maybe app
integration, right? Since we have tools
like Hermes agent, openclaw and they're
using skills. But if I am an app
developer, right, and I want to
integrate with these agents, skills are
one way to do that. But why are we
downloading a file when you can just
connect to this MCP server, right? So I
would like to see in the future if
there's if it's possible if it happens
if there is maybe like a central
repository of MCP server like an app
store right where everybody that has
which I believe they will an agent on
their phone can go to the app store
download whatever MCP server or connect
to that MCP server get the data get the
tools that they need so we can all you
know be build new things and be more
efficient not just in the enterprise but
in life.
>> John, thank you so much for walking us
through these changes and help our
viewers kind of make sense of what all
of that means from the perspective of
course performance, productivity, but
also security. So, thank you for that.
And of course, those who are watching,
please head over and check.com their
blog post to learn more about these
changes, the whole MCP evolution. And
Dan, thank you so much for your time
today and I look forward to chat with
you again. Thank you.
Thank you for having me.