Latest / Agentic Conversations (formally mlops.community) / The Dark Side of MCP Servers
Transcript
- 0:00All right, so at the beginning of April I went to New York for
- 0:03the MCP Dev Summit, and while I was there I got the chance to
- 0:07record a few podcasts with attendees that were at the
- 0:11event. This is one of those
- 0:12conversations. Hope you enjoyed.
- 0:14A skill is primarily benefiting from the agent's knowledge of
- 0:19two things, and a setting in which it is able to have those
- 0:23two things, which is the local context you have on your
- 0:28computer. It has access to a file system
- 0:31and CLI and a terminal, all of which are things it's been pre
- 0:35trained on in the common crawl and pile.
- 0:38For how many, how many documents of bash and how many documents
- 0:42of Linux based file systems are online in the pile in the common
- 0:46crawl, one of the most highly represented?
- 0:48It's not probably the highest, probably probably the highest, I
- 0:51would guess. All
- 1:03right. So what are we going to talk
- 1:05about? I, I think you know, look, we're
- 1:07at MCP Dev Summit. I think we should talk about MCP
- 1:09and specifically to my left, you have probably what I would
- 1:13consider the most knowledgeable MCP practitioner at at very
- 1:16least in the off space. But someone who's not only
- 1:19contributed Seps, has contributed major parts of the
- 1:21protocol, has shaped and performed a lot of the
- 1:26activities that, you know, core maintainer would perform without
- 1:29being specifically named to core maintainer.
- 1:32And so that should not only be recognized, but people should
- 1:35hear him more than me the entire time.
- 1:37I will tell you that. All right, tell us then.
- 1:39But where should we go? That's a big umbrella.
- 1:42Yeah. Where do we specifically?
- 1:44There's a couple takes that are interesting.
- 1:46Skills versus tools, yeah. Do y'all know what tool
- 1:48poisoning attacks are? Yeah, that is pretty far in the
- 1:51weeds. But no, we should totally.
- 1:52But it is a good there's. A.
- 1:54There's a very tempting, easy solution to tool poisoning, and
- 1:58it's completely wrong. I know what he's.
- 2:00Going to say you should talk about.
- 2:02That, yeah, we should. We should totally.
- 2:03I would love to talk about MCP Debugger.
- 2:05It's a free tool that people can use when they're testing MCP
- 2:08servers and the tool bench. Should we should mention tool
- 2:11bench? Why don't we start there so we
- 2:13can talk? About yeah.
- 2:13What is Tool Bench? It basically we went out and
- 2:16graded every single MCP server. 200,000 How many are there?
- 2:20I think our account was like 42,000.
- 2:22It's over 80 now. No, it's, it's, it's high.
- 2:26But look, the what was it? 78% were in the bottom tier
- 2:30graded F or something like that. Yeah.
- 2:33And that is simply a coverage of the protocol, right.
- 2:36So that that tells you a couple things.
- 2:38One, people aren't covering the protocol.
- 2:40So that can mean a couple of things.
- 2:41It can mean that the protocol is really wide.
- 2:44It can mean that it encompasses too much.
- 2:46It's complex to implement. Either on the client or the
- 2:49server side, right? It's either you know that or
- 2:52maybe it's misunderstood or that one part is more useful than the
- 2:57others. You know, there's a lot of
- 2:58things that I can tell you, but the bottom line of it is that
- 3:02people aren't paying enough attention to the quality of the
- 3:06MCP implementation that they're putting out.
- 3:09And that means that the overall agent that is using it will
- 3:14appear to be worse. And that degradation is
- 3:17something that we wanted to just point out in the field.
- 3:20And so we made tool bench essentially open source, a way
- 3:24to grade and give like a badge right to your MCP server so that
- 3:29everybody can see what's my score?
- 3:31Do I implement auth correctly? Do I implement front door and
- 3:35tool authorization correctly? Do I implement tools, prompts
- 3:39and resources? Or do I at least support those
- 3:41capabilities? And if I don't do I say that I
- 3:44don't? Do I properly communicate my?
- 3:47Capabilities to the client, which most of them don't,
- 3:50instead of just saying I support everything and then crashing
- 3:53when when I actually try to invoke any of those things.
- 3:55That's why most of them are F is because they just.
- 3:58It's not that they lie. They misstate their capabilities
- 4:01and then they crash. And we're here at MCDMCP Dev
- 4:05Summit, so there's a ton of excitement about MCP.
- 4:08There's a ton of, you know, hype around MCP.
- 4:10Sure, we're really excited about it.
- 4:11But this is a big problem, I think in the ecosystem that that
- 4:16kind of cuts against the excitement because when everyday
- 4:21people interact with MCP or even developers interact.
- 4:24And they have a shitty experience.
- 4:25They have a crappy experience and then, and then people are
- 4:27like, AH, MCP is crap. I, I should use ACLI instead.
- 4:31And it's like a kind of a dumb debate that is created.
- 4:34But I think a lot of the, I think a lot of the reason that
- 4:38that debate even is a thing is because a lot of people, like,
- 4:41we have to be honest, a lot of people have tried an MCP server.
- 4:44It didn't work very well. And they're like, ah, MCP is a
- 4:46terrible protocol. It it is in not a problem of the
- 4:49protocol. There are parts of the protocol
- 4:52that are probably really hard to you walk.
- 4:54That back kind of quick. There are places in the protocol
- 4:58that should be easier to implement, that it can be
- 5:00clarified that can be made simpler.
- 5:02Such a political answer, but. It's very well done.
- 5:04There's a that's a maintainer right there.
- 5:06Yeah, it's a diplomatic maintainer.
- 5:08He doesn't want to get kicked out of the special
- 5:10conversations. Even the maintainers are like
- 5:14the the next release of MCP is focused on making it easier to
- 5:18implement. So it's it's a known problem,
- 5:20it's an acknowledged problem. But the other side of that
- 5:23equation is all of the implementations that were vibed
- 5:27or spun up really fast that are crap.
- 5:29And that's contributing to this kind of ecosystem wide problem,
- 5:32which is why we wanted to shine a light on it and say, hey, this
- 5:35is actually quantifiable. It's not just kind of a, a fuzzy
- 5:38notion of like it didn't work very well.
- 5:40It's actually very quantifiable. It's objectively quantifiable.
- 5:43And it's not like a vendor thing either.
- 5:44We didn't want it to make it like this is an arcade thing.
- 5:47No, it's like it's completely MCP based.
- 5:50It is. You can use it for free.
- 5:53It is out there and everyone can grade their servers for nothing,
- 5:57right? No money.
- 5:58It's not necessarily associated to us as a vendor.
- 6:01And I think that's really important to say because the
- 6:03best thing about MCP, right where here with the Linux
- 6:06Foundation is that it's open and a standard by which a protocol
- 6:11can be agreed upon, right? I think a lot of people have
- 6:14this mistake of saying like why don't we just do HTTPS or REST
- 6:18or something like and that abstraction sadly just doesn't
- 6:21work very well for agents, right?
- 6:22AP is aren't one to one with tools, right?
- 6:25We've been over that a million times.
- 6:27There are primitives that make it easier for agents to use
- 6:30things and MCP is the best shot we have so far and there's a
- 6:35groundswell of effort around it. So efforts like that where it's
- 6:38like we need to go out in the community and educate people.
- 6:42We think this is the best way to do it in a kind of a vendor
- 6:45neutral way. Does it tell you how to make
- 6:47your server better? It tells you what you're doing
- 6:49wrong, which should help with that.
- 6:52You should be able to deduct yes the next step.
- 6:55Or cloud code can deduct. The text reports you should be
- 7:00able to literally put in the cloud code.
- 7:01That and the spec. Like if the authoritative spec
- 7:04document and then a report of which which parts you effed up
- 7:07in the spec, you can you can get there.
- 7:09So that is not debugger though, that's a whole different thing.
- 7:13Right. So the the survey of you know,
- 7:1640 or 80,000 tool servers that we did at arcade is tool bench
- 7:22that I think was it tool bench.com or org or something I
- 7:25should know this. Jeez, I don't know either.
- 7:27I just know it's. Called Tool bitch.
- 7:28Google Arcade Tool Bitch. Ask your friendly neighborhood
- 7:32agent. We can tell you are not on the
- 7:34marketing team. At all.
- 7:35I'm sorry. I love.
- 7:36You. Yeah, Your marketing team
- 7:38probably loves you right now. So we'll find it and we'll put
- 7:42it in the show notes. Perfect.
- 7:44Yeah, MCP debugger though is actually another one kind of I
- 7:48think like Inspector, the effort around that.
- 7:51But that will tell you even more from what I understand.
- 7:55More of a more of a dev tool than than like a survey tool.
- 7:59Bench is the quality of the using the right word
- 8:02quantitative data about all of every MCP server out there.
- 8:06And you can submit a server to get like retested.
- 8:09But if you're actually building a server, if you're like the dev
- 8:12who is coding it or quad coding it, MCP Debugger dot dev is a
- 8:17free, free tool that I put up online.
- 8:20It's just basically just a text box and a button.
- 8:22You paste in the MCP server URL into the text box.
- 8:25You hit the button, it goes through a ton of checks.
- 8:28It's really nice actually. So it's just tests.
- 8:31A bunch of tests runs your server through dozens at
- 8:34hundreds. I think of tests now and then it
- 8:35tells you exactly which ones failed, why they're important.
- 8:39Link to the spec to say like this is the part of the spec
- 8:42that is should have been done correctly.
- 8:44Copy paste in the quad code. Your server is better.
- 8:47You get like in that dev loop you get, you know a great you
- 8:50get like, oh this was this implementation is AC.
- 8:52It could be an A if you fix these things.
- 8:54The the reason I built it is because we like, we connect to a
- 8:59ton of MCP servers at Arcade. We're at NCP gateway so aren't
- 9:02like part of our job is just connecting to MCP servers and a
- 9:05lot of times it fails. Often our customers get upset
- 9:09and they're like arcade's not working right.
- 9:11How come like your, your MCP gateway is not connecting to
- 9:14these servers and it's sometimes it was our fault.
- 9:17We had, we fixed a few bugs, but many times it was not our fault.
- 9:20It's really hard to prove though.
- 9:22It's like there's multiple actors in this flow and it's
- 9:25really hard to be like it wasn't us, it was the server that
- 9:29messed. Up and here's why.
- 9:31Here's why. Part was what was so hard.
- 9:33And what's even harder in that because the ecosystem is so
- 9:36nascent, we haven't even talked about the client side of it, But
- 9:39if you have cursor connecting to a gateway like Arcade, which is
- 9:43then connecting to some other MCP server, any one of those
- 9:47like 4 hops in the chain could mess up for some reason.
- 9:50And in particular, the clients have really, really buggy
- 9:53implementations and things like let's we'll say, we'll say.
- 9:56Buggy. We'll say different.
- 9:57They're getting better. They are getting.
- 9:59Better they have zini friends across the client community
- 10:02ecosystem who I are who know and are aware like our friends are
- 10:06cursor who've already made their implementation much better.
- 10:09To be clear, I'm not picking on cursor.
- 10:10I know I have made their implementation a lot better, but
- 10:13all all of the clients, especially a few months ago,
- 10:18like all of the clients just across the board were terrible.
- 10:21Well, like we'll give you an example so that people can
- 10:23ground this in something like who supports tools list change
- 10:26notifications. So what?
- 10:29Yeah. What is that?
- 10:30It is a notification that the list of tools from the MCP
- 10:34server has changed and so that the UI should populate a
- 10:38different list of tools and serve a different list of tools
- 10:41to the agent. A structurally foundationally
- 10:43important notification for AUI. Arguably it should be required
- 10:48in this package. Optional and almost no one
- 10:51really does it. Claude code does cursor put in
- 10:56support, so the cursor now does it so that if you go to your
- 11:00MCP's page and cursor, you'll see if you get a tools list,
- 11:03change notifications, new tools pop up, right?
- 11:05That's the way it should be. It's the way it was designed to
- 11:08be. But until you know there's focus
- 11:12on fixing these rough edges, the experience of how and what the
- 11:16protocol was meant for won't be fully fulfilled.
- 11:19And so we're doing stuff like MCP debugger, tool bench, what
- 11:22have you, in order to make an effort to make this ecosystem
- 11:27fully rounded in the way that it should be.
- 11:28Yeah, you're just shining a light on the rough edges.
- 11:31Trying to. Yeah.
- 11:32And giving people, it's like it's, it's easy to complain.
- 11:35A lot of people like to complain.
- 11:37It's, it's very easy to complain, but it's harder to
- 11:40focus that on what needs to be fixed, what needs to change
- 11:43exactly. Getting a score or a grade or
- 11:49like a ranking. Are you, you know, are you S
- 11:52tier? Are you F tier?
- 11:53That kind of thing is both for, I think both for humans, like
- 11:56human developers who love coding and stuff and also coding
- 11:59agents. It's kind of like catnip, right?
- 12:01For both humans and machines. It's like, well, I was AC, but I
- 12:04could be an eighth. Do you notice that the agents
- 12:06perform better when it is 0? Absolutely, Undoubtedly, yes.
- 12:11Like lights up all the the goal seeking part of it.
- 12:14Yeah. Well, I mean, you think about it
- 12:16like if your tool descriptions are malformed and we can talk
- 12:20about the tool poisoning attacks, which I think is an
- 12:21interesting subject. But like if your parameters,
- 12:24right, it used to be that most of the time they were parsed out
- 12:30of a dock string. I don't know if people still
- 12:32remember that those days because most people have fixed it from
- 12:34that point. But like the the description is
- 12:38arguably the most important part of a tool schema.
- 12:42And like there were servers not returning the full tool
- 12:46descriptions, not even just the art descriptions of the
- 12:49arguments. Like the description of the
- 12:51tool, they get like just truncated at.
- 12:53It was like truncated in the middle of the tool disk because
- 12:57they're not doing the right things.
- 13:00And like early SDKS would base it on the comments above the
- 13:03line of that function and then it was like if the the the
- 13:07Python parser messed up and we're getting the wrong thing.
- 13:09And then they'd see connect to us, they'd connect their MCP MP
- 13:12server or servers, make a gateway in Arcade and then use
- 13:16it in their agent like Claude could, right?
- 13:18That's like what, you know, we got 10s of millions of tools all
- 13:21the day. And like, that's, that's the
- 13:23majority of how people love to do it.
- 13:25And I think there were many cases where people would say,
- 13:28but like, my server worked locally when I ran it.
- 13:32And then I connected to your gateway and it's like, well,
- 13:34what you're sending us over MCP is not right.
- 13:39And that is very hard to explain in terms of a why, where, when,
- 13:43how. And then like, what do I do
- 13:46about it? And so the name debugger,
- 13:49correct? Yeah, I know it makes sense.
- 13:52So you're able to just say, look, This is why it's wrong.
- 13:56This is why it's not working. Go fix it and we will update it
- 13:59as a spec updates. That's kind of the promise we're
- 14:01making to the ecosystem. That's the other, I think the
- 14:03other thing that's worth calling out that's that's difficult for
- 14:06implementers is that the spec itself, it's, it's hard to
- 14:09remember. It's only been around for a
- 14:11year. Everybody is like you know, if
- 14:13you listen to the YouTube Bros that have thumbnails on YouTube
- 14:17that like MCP changes everything again, like the you would think
- 14:21that it's like a done deal like it's already baked and it's been
- 14:23around for 10 years like HTTP for you know, 30 years that this
- 14:27is like well, like where we are right now in the evolution of
- 14:30the protocol is we're like when HTTP like O .9 was released and
- 14:36like you think about how sleepy the Internet was back then, but
- 14:38compared to it. And now imagine if there were a
- 14:41bunch of YouTube Bros like when HTTP came out being like this
- 14:45changes everything the IT is. It's not that it's wrong, it it
- 14:49should be. Did in fact change everything,
- 14:51but it was janky as hell like. Since raw TCP packets anymore.
- 14:56The like browsers were crap. You had barely could like they
- 15:00couldn't render images. There's no.
- 15:01Agreement on what it should be? No, not at all, right?
- 15:04That's the big part though, that MCP can do for agents, but it's
- 15:08early. It's just.
- 15:09Super early. So one of the, one of the
- 15:11evidences that it is so early is that the the spec has changed
- 15:15like 4 times in the last year and it's going to change again
- 15:18in this coming June. Now the changes are becoming
- 15:21less drastic, but it was like part of the reason why when we
- 15:24survey, you know, thousands and thousands of servers out there,
- 15:28all of them are like terrible, is that most of them were built
- 15:31four months ago, which is like not that long ago.
- 15:34But the, like the auth specification in NCP changed
- 15:37drastically the way that you do certain like mechanisms in the
- 15:40protocol change drastically. And so many of those just
- 15:43haven't been updated. They were built with an old SDK.
- 15:45It's like nobody's fault, but the protocol has moved really
- 15:49fast. And yeah.
- 15:51It's young. Young things should iterate and
- 15:54evolve and they should take in feedback.
- 15:56They should improve and then they should expand and grow
- 15:58their reach when they can in a mature and responsible way.
- 16:03I think while, while we're on this topic, we should demystify
- 16:06the whole skills and the you want to go there.
- 16:10I just, I want. I just, I think we can make it
- 16:12pretty. Quick, I think so too.
- 16:13There are apples and oranges. Yes, it, it, it they're, they're
- 16:18the thing that people are. This very specific point I want
- 16:21to make Is that a skill is primarily today benefiting.
- 16:29Like if you think about the GH GitHub CLI tool right, they are
- 16:34primarily benefiting from the agent's knowledge of two things
- 16:38and a setting in which it is able to have those two things,
- 16:42which is the local context you have on your computer.
- 16:47Oh the agent uses skills better. Why?
- 16:50It is local where it has access to a file system and CLI and a
- 16:55terminal, all of which are things it's been pre trained on
- 16:58in the common crawl and pile. For how many how many documents
- 17:02of bash and how many documents of Linux based file systems are
- 17:07online in the pile in the common crawl 1.
- 17:10Of the most highly represented. It's not probably the highest,
- 17:13probably the highest I would guess.
- 17:15Yeah, every every tutorial ever is like every single in your
- 17:18terminal. And so it's like, OK, that's
- 17:21true. But like Nate says, they are
- 17:24apples and oranges in the sense that there's a a delineation is
- 17:29if you gave AMCP let's let's talk about for a second skills
- 17:34over MCP, which is a working group right now.
- 17:38You know, how do we expose A skilled document through MCP may
- 17:42be a resource. There's a lot of approaches to
- 17:44this right now. But if you were able to give
- 17:46that document provided over MCP and then have a list of tools.
- 17:51The only what is the only difference then from the skills
- 17:55that you run from put downloading it from skills dot
- 17:58SH the local context. I think we could actually, we
- 18:03could actually further split it the topic into.
- 18:06It's actually three different things that people conflate all
- 18:08the time. Yeah, there's MCP, which is a
- 18:11protocol for like RPC, essentially like a protocol.
- 18:15For which you can do locally, yeah, for sure, but that people
- 18:18forget. MCP allows you to execute tools
- 18:20on a remote server, or on a server I should say there are CL
- 18:25is which let you execute commands on your own machine.
- 18:29And then skills. If we want to be really pedantic
- 18:31about the definition, skills are instructions, packages of
- 18:35instructions that an agent can use.
- 18:37All three of those things get very conflated in this debate.
- 18:40They're all different things. They should all be different
- 18:43things. In fact, you can say, like it
- 18:45makes perfect sense to have a skill on how to use a particular
- 18:48MCP server. Yeah, call this tool when you
- 18:50need to do this. Call that tool when you need to
- 18:52do that. Separating in people's minds out
- 18:54the ability of the execution environment isn't the most
- 18:59important thing for me because there's this misconception,
- 19:03right, of like there being a better way of doing things.
- 19:07And I think that there's no enterprise in the world that
- 19:12wants people launching a bunch of sub processes to CLI commands
- 19:17to run authorized actions and things like that.
- 19:20It there are significantly better ways of doing things that
- 19:25are going to be coming. And I think making the
- 19:28delineation between those things to educate people on them now is
- 19:32the best way we as an ecosystem can move forward.
- 19:34And making sure that people don't do some really dumb stuff
- 19:37that gets their, you know, computer bricked, which honestly
- 19:41I see some crazy stuff everyday. It, it's, I think part of the
- 19:46reason why it's so easy to conflate them and why, why it's,
- 19:50yeah, why it's easy to conflate them is because coding agents
- 19:53have been so successful. Most of the way that developers
- 19:57interact with agents is in a coding agent context.
- 20:00So I'm in Claude code. I'm, is it her Sir?
- 20:03I'm in, you know, open code or, or whatever my agent of choice
- 20:06is. But that it's, it's easy to
- 20:08forget that I'm, I'm dragging in a bunch of stuff that I'm maybe
- 20:12not thinking about. I'm not thinking about the fact
- 20:14that that does have access to my local file system and it has an
- 20:16interpreter and it's in a shell. And that's OK, that's good,
- 20:20that's correct. That's like what I want for my
- 20:22coding agent. It's not the same thing
- 20:24fundamentally, though, as a constrained environment where an
- 20:27agent might be running on a server somewhere that has
- 20:31limited scoped access to certain connectors or my data or
- 20:35whatnot. You think about kicking off, you
- 20:37know, asking Chatsuki to go do something for me, like, hey, you
- 20:40know, watch for articles that mention this and let me know
- 20:43when that happens. That's not running on my
- 20:45machine, or at least I don't want it to be.
- 20:47It shouldn't be. I don't want that running with
- 20:49like file system access and shell execution.
- 20:53Long running remote process with access to your shell that's.
- 20:56Those are, they're fundamentally different things.
- 20:58And also, if you think about like think about one of the use
- 21:01cases we see a lot is, you know, customer support agents, tons.
- 21:05I want my as a company providing customer support to customers.
- 21:08I want to give them a really rich customer support experience
- 21:10on my website, embedded, whatever call or.
- 21:14That's not like I don't need to bring a a shell, a sandbox
- 21:18environment to an agent so it can write code locally to run
- 21:22like shell commands or something to in fact.
- 21:24That's dangerous if you do I right.
- 21:27Well, what's the like the famous there's a famous screenshot of
- 21:29somebody who went to, you know, like some some auto dealerships
- 21:32website and they're like, yeah, how can I help you today?
- 21:35I'm gonna give. Me Python And there's like yeah,
- 21:37Oh no, tell me about Tesla or there's so many of them I like
- 21:41it's literally proving the point it's been.
- 21:42Memed about yeah. It's the fact that it's such a
- 21:45meme is proving the point he's making.
- 21:47So yeah, give me the Fibonacci sequence for blah blah blah.
- 21:49It's like I'm happy to do that. Yeah.
- 21:51It's like that's that's that's a problem.
- 21:54I mean, it's funny, right? It's a mean, but it is a problem
- 21:57because only thing it's going to do is stop people from using
- 22:00these incredible tools. And right now we see a lot of
- 22:03unblocks and yet in with a lot of our customers and trying to
- 22:06educate. So that's primarily what we're
- 22:08trying to do. Well, OK, so there was something
- 22:13that we'd like glossed over right there that I would love to
- 22:16hit on a little bit more in the fact that it's like, do you
- 22:20really need a sandbox environment for your use case?
- 22:25Yeah, I think you can get really wrapped up in like, oh, well,
- 22:28that's the dominant pattern now. I guess we're just going to
- 22:32throw an agent into a sandbox and give it everything it needs
- 22:35and let it write its own code. I have a spicy take on this.
- 22:37I think time will bear out if I'm correct on this, but this is
- 22:42my hypothesis. I think that coding agents, you
- 22:45can write it down. Coding agents have had this like
- 22:48breakout in, you know, 2026, right?
- 22:51And they're very successful. It's like extremely impressive
- 22:54how well reasoning models can write code and and then build
- 22:58things right. And I think people are over
- 23:01indexing on that and and taking the wrong lesson from that.
- 23:06The lesson is not coding agents are really successful and model,
- 23:10you know, reasoning models are good at code, therefore
- 23:12everything must become a coding problem.
- 23:14I think that's a tempting lesson right now in like current, you
- 23:18know, what is it? April 2026.
- 23:19Yeah, I might have even said that before.
- 23:23So I fall in that camp. I think the correct lesson to
- 23:26take away and I you know, I'm very open to being wrong on
- 23:28this. I think the correct lesson to
- 23:30take away is that reasoning models, given proper tools, are
- 23:35very good at solving problems. Like the goal seeking and
- 23:38reasoning capabilities of these models is very good.
- 23:41It just so happens that there's a lot of code in the Common
- 23:43Crawl. So that was like the low hanging
- 23:46fruit. That was the first thing that
- 23:48kind of got unlocked. And they've been fine task
- 23:50tuned. They've been like task
- 23:52fine-tuned on. And it helps that tuning is a
- 23:54verifiable domain that you can like there's a bunch of reasons
- 23:57why that was the lowest hanging fruit.
- 23:59But if you I don't think looking ahead like in the limit in the
- 24:03fullness of time, I don't think that every every problem needs
- 24:06to become a coding problem as much as there will be better
- 24:09training, there will be more specialized agents or
- 24:12specialized models that are good at bring the same kind of
- 24:15capabilities to bear on other problems.
- 24:18I think that is definitely in the that, that is right.
- 24:21I will bring it down a level of practicality because if you're
- 24:24listening right now, it's like, OK, then what?
- 24:27Right? Like what do I do right now?
- 24:30Building in April 20. 26 and building in April 2026.
- 24:33I need to know right now. Customer service agent.
- 24:35That's you. Doing large data manipulations
- 24:39or working with large data in your tools, generating code and
- 24:44running it will be helpful. Manipulations that involve like
- 24:49spreadsheets, for instance, or visuals that you're generating
- 24:53of things like spreadsheets, data analysis, things that are.
- 24:57Fundamentally, the thing that you need to run is like the FFM
- 25:00peg binary. Then yeah, you.
- 25:01Like it is a. It is a very specific
- 25:06advantageous thing about code mode or programmatic tool
- 25:09calling, where code is generated in a way where the context can
- 25:14be informed such that the 10 megabytes spreadsheet doesn't
- 25:19need to be returned from the tool, right?
- 25:22Or the generated image can be uploaded, you know, somewhere or
- 25:26something like that. Those limitations will slowly go
- 25:31away, but programmatic tool calling will always be an
- 25:33interesting thing in an iterative and in an iterative
- 25:38domain and one where a success criteria is not ten out of 10
- 25:44like you can be wrong. You can be 8 out of 10, you can
- 25:47be 7 out of 10 like data science EDA type activities.
- 25:51That is where programmatic tool calling is amazingly powerful
- 25:56and people see that in like generative creative domains
- 26:00right now. I so today that is an extremely
- 26:05useful use case. Personally, I would not use it
- 26:08outside of those domains in today.
- 26:12Sandboxing is not perfect. If you're going to, I would
- 26:16suggest using a vendor that does it properly.
- 26:19Do not do it yourself. Yeah.
- 26:21Don't please, please don't do it yourself.
- 26:22Don't you do not invent off yourself and don't do your own
- 26:26the things that people have yet don't do your own off don't do
- 26:29your own sandboxing. The things that people like
- 26:31modal, like people like Eric and modal have had to do to make a
- 26:35secure sandbox or Daytona and those like it is not it is a non
- 26:38trivial problem. OK.
- 26:40And like editing Linux kernel is not something most people are
- 26:43going to go do so that they you can safely do sandboxer.
- 26:46I will say the next thing is if you're just banging out some
- 26:50local code in your developer and you're just like trying to make
- 26:54yourself like your, your patterns better skills are very
- 26:58good. If you're a local dev and you
- 27:01want your practices and your development patterns and your
- 27:05activities to be better and more efficient, skills are great.
- 27:08It's like it's like power ups for your.
- 27:10Coding power ups. The last category is anything
- 27:13that is long running on the Internet requiring authorization
- 27:19or user based at all needs to be over a secure channel like
- 27:25authorized MCP and tool calling, because that is the most mature
- 27:30thing that we have at the current moment to be able.
- 27:33And I, I laugh a little bit because it's still like it said,
- 27:36it's early, right? But what does?
- 27:38That mean by long running. So like something that goes and
- 27:41checks, it's running on an EC2 server and it's going and
- 27:45checking if you have any emails. What's that going to end up
- 27:48doing? Using a token and a refresh
- 27:51token to go log in as you? You should not be doing that
- 27:56with a local process. You should not be doing that
- 27:59with ACLI. You should not be doing that
- 28:01with a spawn sub process. But why are those?
- 28:03Because those are all attack vectors that I could use to
- 28:07exploit you. OK.
- 28:08I can give you an example of that.
- 28:10So the the reason why an author, a protocol that has
- 28:15authorization built in like MCP and the reason why MCP, you
- 28:19know, not everyone was a fan of this decision, but they they
- 28:22kind of bolted O off onto MCP as the authorization standard.
- 28:26The reason for doing that one, one of the reasons for doing
- 28:28that is that then you through the protocol and at the protocol
- 28:32level, you have a guarantee about the what in the author of
- 28:37what we call the subject of a particular call.
- 28:40So the O off token attached to the call authorizes the call and
- 28:43it says here is the the ID of the client that's making this
- 28:47call. And here's the the user ID or
- 28:49the the e-mail address or some identifier of the subject of the
- 28:52call. And that is not, that is
- 28:56authoritative information from what's called the authorization
- 28:59server from like the thing you logged in with.
- 29:01So it's not it's not something that can be modified in the
- 29:04request. So that eliminates an entire
- 29:07class of attacks where you could spoof something, trick the
- 29:10agent. The easiest ones.
- 29:11Yeah, the the the way it goes bad.
- 29:15So you you want that to be at the protocol level and not at
- 29:18the application level. The way it could go bad, for
- 29:20example, is let's say that you have to to use the example, Sam
- 29:24said. If you have an agent that's
- 29:26supposed to go check your e-mail for you and then let you know if
- 29:28you know your kids school is shut down for the.
- 29:31Dangerous. But do you have no day?
- 29:33Do you? Yeah.
- 29:35Like discerns whether or not it's a bad e-mail or anything.
- 29:38Like is my attention required on this right now?
- 29:41Schools get a lot of emails. Yeah, kids get sick a lot.
- 29:44Yes, very. That's true.
- 29:45Schools are like Patrick. Well, via I get it via WhatsApp
- 29:49groups. So that's even worse.
- 29:51Yeah, that's terrible. Figure out how to filter that.
- 29:54Regardless, the if you have an agent that's supposed to go
- 29:57check your e-mail for you, you need to have like a token for
- 30:00Gmail or token for Outlook or whatever.
- 30:02And you, the, the, the security around that token and, and who
- 30:07like on whose behalf you're allowed to call the API is
- 30:10extremely important to keep safe.
- 30:12So if you do that through MCP best practices, you have a
- 30:17remote server that is the, you know, the, your access point to
- 30:20the Gmail API or the Outlook API or whatever.
- 30:22And in order to call that server, the, the call itself at
- 30:26the protocol level has the information about like this call
- 30:30is for Nate, it's not for Sam. But if you do that at the inside
- 30:35of an agent, that's like just using storing some API key
- 30:39locally. It's.
- 30:40Unless you're extremely careful and you know exactly what you're
- 30:43doing, it's very easy to leave open a vector of like.
- 30:45Well, he's getting uncomfortable.
- 30:49Let's say you leave open like that CLI has a an input.
- 30:55You say like. Or axios is downloaded, 1.14 is
- 30:59downloaded. Yeah, sorry or.
- 31:01Like the the the way that you're calling that API has as an input
- 31:04which users e-mail should I check the e-mail?
- 31:07Oh, God forbid, but that's that's like that is what would
- 31:09happen. That's easy to do in this kind
- 31:11of scenario if you're doing the security locally in the sandbox.
- 31:14Please don't do that. He's not suggesting we do that.
- 31:17Please don't do that. This is a.
- 31:19This is a bad. Example a bad example.
- 31:22Just to just to close the loop for everybody who might be
- 31:24thinking like this kind of sounds like it's like
- 31:26hypothetical, right? The if there's any way that the
- 31:29agent could be tricked into changing that value, even if the
- 31:34instructions in the agent say like always use the logged in
- 31:37users ID as the parameter to this CLI that you're calling.
- 31:41I can't get around. All it takes is 1 clever prompt
- 31:44manipulation to say like I'm now checking somebody else's e-mail.
- 31:48That is, that type of that category of attack or that
- 31:51category of threat is not possible in an in a properly
- 31:55authorized protocol, but it is possible.
- 31:57Why is it not possible? Because it's all happening
- 32:00outside of the prompting. Because the agent doesn't have
- 32:02control over that. Yeah, it's it's at like the
- 32:05header level in the protocol itself.
- 32:06So the agent whether you could try as much as you want to try
- 32:10to trick the agent into putting the wrong value in there, it's
- 32:12not going to happen. It doesn't have access to it,
- 32:14yes. And that's that's the whole
- 32:15benefit off limits, it's only useful and agent's actions are
- 32:19only useful if they're as you it's, it can't just be for you,
- 32:23right? It can't be something it's like
- 32:25think about posting on Slack. It's not helpful if you say,
- 32:27hey, go respond to Demetrios and it's it's some agent.
- 32:31You're like, wait, who did this? Even if it says like, hey, Sam
- 32:34says you're like, OK, well, which Sam?
- 32:36No, like all of that. It's work is only work done by
- 32:40an agent, is only useful if it's as you, and it's only safe if we
- 32:44use the protocol that people like Nate have built into the
- 32:49existing ways that we use the Internet to authorize actions as
- 32:53a user. But there's a bunch of people
- 32:55that are running open claw as a separate person thing, right?
- 33:01So that kind of goes against that narrative.
- 33:04True, I would argue. People who?
- 33:05You mean people who want to kind of give their agent a persona?
- 33:09Sure. And that that there is, I would
- 33:11say, limited utility in that there's much more entertainment
- 33:14than there is utility. One of the one of the talks
- 33:17today was great security researcher.
- 33:19She has open class set up and it's named Claudri Hepburn and
- 33:23it it goes and does research. Quadri, that's really good
- 33:30actually. I like that a lot.
- 33:33I I look, I contributed to open claw.
- 33:36I have I have a fork. I call it safe claw the the
- 33:41token. If you'd even talked to Peter
- 33:44I'm sure he would tell you this. Like there are non trivial
- 33:49protections that had to be put in place just because of how
- 33:52they do local token storage and stuff like that.
- 33:56Like channels were not secure in the beginning.
- 33:59There are many ways like the evil cloth attack.
- 34:02There's still are ones I'm sure we haven't discovered.
- 34:05The fact is, is that by MCP choosing to rely on Oauth for
- 34:11both the front door auth of this, you know, protocol and for
- 34:15tool authorization and URL allocation done by Nate.
- 34:20By relying on that, we piggyback, you know, stand on
- 34:25the shoulders of giants the last 20 years people like Dick Harden
- 34:30and others who've made Oauth, Oauth right.
- 34:34That is really helpful. And a lot of people who have
- 34:38like red team. Guys like tried to break it.
- 34:41It's. It's, it's like, I think even
- 34:43all the Oauth folks, we were joking earlier that the whole
- 34:46Oauth mafia was here at Dev Summer.
- 34:49But there's like I think all the Oauth people, almost all of them
- 34:54would say that it's like by far not, it's like nobody's favorite
- 34:58protocol. It's complicated.
- 35:00It's hard to understand sometimes.
- 35:02It's hard to implement sometimes that it the reason why it is the
- 35:06industry standard is not because it's super popular or everybody
- 35:09likes it or it's like everybody's most favorite thing
- 35:11to put under their pillow when they sleep the like I do, but I.
- 35:16Was about to say because you have a book, A battle of under
- 35:18your pillow. The reason is the industry
- 35:22standard is because of two reasons.
- 35:24One, because it has widespread adoption and it allows
- 35:28interoperability. And then two, it's been
- 35:31hardened. Safe.
- 35:33Like not safe. Safe is a weird way.
- 35:37Like a weird thing because you'd like.
- 35:38There's always some. Other way that's got such an off
- 35:41guy way of saying it, it's safe. It's the safest thing we have.
- 35:44Safe. This, it's the, it's the best,
- 35:47worst option we have because it has been hardened and attacked
- 35:51from so many different directions for like 2 decades.
- 35:54So all of the things that can go wrong in Oauth have been like,
- 35:58not all, but many of them have been already documented.
- 36:00Many of them have been mitigated by now.
- 36:02We have Oauth 2.1. It has a bunch of mitigations
- 36:05for a bunch of weird things that people figured out how to break
- 36:07Oauth, and now they're fixed, they're patched.
- 36:10So is it safe? Not 100%.
- 36:14Nothing can ever be in the eyes of an off person.
- 36:16I will tell you that. I, I, we've.
- 36:19Are better than it? Then it's certainly far better
- 36:21than like. The I key is stored on your
- 36:22local laptop. Please stop doing that.
- 36:25Please stop doing that. Let's talk for a minute because
- 36:27one big question that I have is how you are able to propagate
- 36:31the auth tokens on sub agents. Like if I want I give an urgent
- 36:38a token but then that agent kicks off a bunch of sub agents
- 36:42a lot. Easier if you don't do it
- 36:43through tool calling that. That's actually an open problem
- 36:47that that some folks were talking about here at That's a
- 36:49great question. But this doesn't have anything
- 36:50to do with the tool poisoning. No, I want to talk about.
- 36:53That too? Well, it could.
- 36:55There, there is actually, no, it's one of the things that I'm
- 36:59excited about as an auth guy, one of the things I'm excited
- 37:02about in MCP is MCP is kind of adding this renewed vigor to
- 37:06solve some open problems in Oauth that haven't been solved
- 37:08for a long time. But they were like, they were
- 37:10like low on the totem pole problems like hypothetically, if
- 37:13you had a bunch of servers that had to connect to a bunch of
- 37:15disparate clients, how would you hypothetically do that?
- 37:17But no one's doing it today. Suddenly with MCP, it's like
- 37:20like agents calling agents calling you to state like
- 37:22highest urgency. So we see things like like
- 37:25client ID, metadata documents, CIMD that was that was invented
- 37:30I believe by Aaron Precky many years ago.
- 37:32Like Blue Sky used it a long time ago.
- 37:34They were the only one. They're like flying this random
- 37:36weird flag that no one else used.
- 37:38And now, now it's like, I'm a pretty fast track as far as as
- 37:42fast as tracks can go in the IETF.
- 37:44Like it's, it's like got a ton of broad support behind it
- 37:47suddenly because MCP chose it as the thing that was like a better
- 37:51mechanism. So I think we're going to see in
- 37:53the next couple years a number of very exciting developments
- 37:57for things like what you said, hey, we need a way to say I have
- 38:00this access token. I'm going to kick off some sub
- 38:02agents. I don't want all those sub
- 38:04agents to have as broad of access.
- 38:07I want us to have a different delegated subset of that.
- 38:10And that's like not really something that Olaf has ever
- 38:12tried to solve completely. If there's like some ways you
- 38:16can maybe solve it, but no like broad industry accepted.
- 38:19I will do the same practical thing.
- 38:20If you're doing it today, what can you do you today?
- 38:25If you're if you're using the way that Arcade does delegate
- 38:29access URL station through MCP, right, And you call an MCP
- 38:33server, the tool can be an agent and that subsetted token can be
- 38:39a, you know, a delegated access token.
- 38:41That would be a way to do it in terms of a Safeway of doing it
- 38:46today, calling the agent as a tool and the entry point is the
- 38:52tool schema. Right now that doesn't
- 38:56necessarily fit in the way a lot of people think about sub
- 38:58agents, but we do see a lot of people using MCP now as the
- 39:03agent to agent communication protocol.
- 39:05Let's not even go down that route.
- 39:07And agent to agent, I was going to ask a question on it, but
- 39:09yeah. So yeah, I'm just I we see a lot
- 39:14of people doing it. It's not a spicy take.
- 39:16We do see a lot of people doing it.
- 39:19That is a fact. We're in MCP runtime that people
- 39:22use and I see a lot of good stuff.
- 39:24We, yeah, we have a lot of conversations with folks using
- 39:26MCPI haven't had that many with people using A to a I'm, I'm
- 39:30interest, I'm very interested in it.
- 39:31But it seems like MCP timing wise got just got more broad
- 39:36adoption. It seems like A to comes up when
- 39:39there are agent ID specific use cases.
- 39:42Like you, you want a agent like a open claw type situation.
- 39:49I believe that that will become more of a creative entertainment
- 39:52type thing. Like agents that are their own.
- 39:56Like it's fun to talk to, like keep what happening.
- 39:59Oh is that I don't agree into the microphones.
- 40:04Let's just do a stupid take every year.
- 40:07Jean-Claude Van Damme. Jean Claude the Nice?
- 40:10Yes, that's a good one. Who?
- 40:11Else have Claude in their name. I need to.
- 40:13I need to register. Them and if it has, I have I
- 40:16have a couple that I that are persona the soul at MD, all of
- 40:20it set up to be entertaining, not necessarily helpful.
- 40:25And they're fun. You know, like a lot of people
- 40:28liked. I think it was 4 O which was the
- 40:31one that had the most personality.
- 40:34Oh man, every time open AI post anything on Twitter there's like
- 40:37this whole contingent of like. Bring back this one bring back
- 40:41because people loved talking to it like hey, I have this problem
- 40:45in my life. I do believe that vein of how
- 40:49agents will be used is going to become more popular.
- 40:53Do I believe that it has a huge pardon like what MCP will be
- 41:00used for? I mean accessing a personal
- 41:03journal maybe you know, something like that.
- 41:06I use it for accessing my Obsidian cloud notes, right?
- 41:10So that it has memory based on like you know how I've
- 41:14interacted with it. That is saved in my Obsidian,
- 41:17which I highly recommend pip install aid and dash library.
- 41:21It's open source, you can use it right now, but and are you?
- 41:25Whispering and talking. Subtly.
- 41:27That's just a me thing. You should use it.
- 41:29I. Don't know why I just suddenly
- 41:31want to Co pip install. Yeah, just just just just try.
- 41:34It's fun. I call it librarian, but it I
- 41:37think that is more of an entertainment thing that it is
- 41:39necessarily like a business use case.
- 41:43And that's kind of how A to a was positive in the beginning,
- 41:45which I do think is the reason why MCP kind of had this moment
- 41:50in relation to it. Do I think they're mutually
- 41:52exclusive though? Not at all.
- 41:54No. Like they're not.
- 41:55They shouldn't be. I, I think that agents will call
- 41:58agents as tools and agents will call agents as agents.
- 42:01And there will be better use cases that come up for both.
- 42:05From, I think from a very practical standby, we get to
- 42:07switch. I'll do the practical.
- 42:10Uno reverse card right here. What just happened?
- 42:13I think one of the very practical, I don't know, I don't
- 42:16want to say problems with A to A, but the problems in the
- 42:19ecosystem is that MCP came out as a protocol for models to
- 42:26exchange context with agents, right?
- 42:29And A to a was described as a protocol for agents to talk to
- 42:33other agents in like a big agent swarm on the Internet.
- 42:36But at the time that came out, people had barely got one agent
- 42:41working. It was like I have 0 agents
- 42:43today and I'm working really hard to try to get one agent to
- 42:45work. I don't like, I don't have multi
- 42:48agent system. And we're still even now I would
- 42:50say in, in you know, Q2 2026 there's like some people are
- 42:54talking about multi agent systems, but it's not, it's not
- 42:57like well, it's not well trodden ground yet.
- 42:59I mean, if you look. At it will be but.
- 43:01I mean, I hypothetically if someone looked at the code base
- 43:05of quad code and you hypothetically, you know, I
- 43:08think they've actually open sourced.
- 43:09I don't have to say hypothetically, dude.
- 43:10I. Don't know, I don't know.
- 43:11They went after I heard. Something that they were saying
- 43:13hypothetically, hypothetically, if you looked at the code base
- 43:16that I would hypothetically never do and you saw what
- 43:19features weren't hypothetically released yet, then you would see
- 43:23that even hypothetically Claude code had not introduced swarms
- 43:28really. Like there were a ton of other
- 43:31features hypothetically that were not released yet that
- 43:36include a lot of more agent to agent D and even assistant based
- 43:42like Kairos or whatever the code name was that were.
- 43:46Hypothetic. Hypothetically.
- 43:50Stop saying. I shouldn't have been clawed
- 43:54type things. And I think that is the
- 43:56direction a lot of things are going to go.
- 43:58Like it's, it's interesting. I it's it's not necessarily.
- 44:03I'll be very interested to see the day where instead of
- 44:06Netflix, somebody pulls up an agent.
- 44:13I like that because it can. It can do any.
- 44:16Materialize a video on VA. TV.
- 44:20Show. Yeah, it can.
- 44:22Yeah, I think that future can be entertainment from agents.
- 44:25Is a multiply entertainment. I mean, think about Quinn V
- 44:30models free. I mean like you have 128 GB Mac
- 44:35right now. You can run a multimodal model
- 44:38that can make you images and videos, and you can do enough
- 44:42that you're pretty. Oh, man.
- 44:44Yeah. And an agent as entertainment in
- 44:47that way I hadn't thought about. I thought just like, oh, we're
- 44:50going to laugh at. Make me ATV show and it already
- 44:54knows what you like. And it has that powerful
- 44:57feedback loop so that it gets better.
- 44:59Another feature that was not hypothetical, I don't know this
- 45:01is was the dreaming feature of the assistant that that got
- 45:05released, right? I don't think that that's an
- 45:07official dream. Yeah, wasn't it?
- 45:10I think that the memory consolidation, yeah, well, it's
- 45:13not a lot of people do it. It's but memory consolidation I
- 45:16think is one of the most fascinating things that hadn't
- 45:18been fixed about memory. I always say to people that like
- 45:20memory is not completely solved. I get a lot of Flack for that
- 45:23actually. I really don't think that's a
- 45:26spicy. I don't.
- 45:27Feel at least spicy of all of your takes.
- 45:31I do catch a lot of Flack online.
- 45:33I've been tweeted out many a time about it.
- 45:35But the the point being like memory hierarchies and how the,
- 45:38you know, human eye use memory and how we can try to reflect
- 45:41that and how we do retrieval. Everybody knows that.
- 45:43I've tried to think about that forever, like retrieving
- 45:47memories and when and where and how to make them relevant
- 45:49memories in the context and time and place in which you need them
- 45:52is a challenging thing. I think memory consolidation and
- 45:56dreaming is a huge step forward and I love that the agent
- 45:59ecosystem is going towards that hypothetically.
- 46:04That's not a hypothetical 1. Can we Can we hypothetically
- 46:08talk about tool poisoning? OK, finally what you been
- 46:12waiting for? Go I want to go like way deep
- 46:14into the nurse for just a minute.
- 46:16So for anyone who's not familiar with what tool poisoning means,
- 46:20this is an attack where let's say that I publish an MCP server
- 46:23and I say I know your favorite type of MCP server is a weather
- 46:26MCP server. Let's say that I've, I've
- 46:28published a great weather MCP server and has, you know, 2
- 46:31tools for like get weather and get forecast.
- 46:35They get a bunch of people to connect to it.
- 46:37And then later after I get some usage and people start using it,
- 46:42then later I change how get weather works.
- 46:46I change how the tool works or I introduce some new tools like
- 46:52get intent or, you know, exfiltrate context.
- 46:55I could introduce malicious tools onto that server.
- 46:59And if your client just connects, you know you've
- 47:01connected to it before. So you've told me if you're
- 47:03already clicked through that client, you've already said,
- 47:05yes, I trust the server, you know, always allow Yolo mode,
- 47:08whatever. Now I've introduced new tools to
- 47:11that server that you didn't know about that are malicious and I
- 47:15can trick you into doing some stuff that that you didn't want
- 47:18to do. So that's tool poisoning.
- 47:21Kind of like you can think of it as the MCP server started out
- 47:23publishing one set of tools that were maybe benign and then later
- 47:27added some malicious stuff. Well I've heard of this with
- 47:29skills too, because skills auto. Up to even harder than it's even
- 47:32harder to defend against the skills.
- 47:34And so if, if I've like, I use the superpower skills a ton.
- 47:39And I was talking to Jesse who created superpowers and he was
- 47:43like, Oh yeah. So yeah, very cool guy then.
- 47:47He is. He was saying that he has a lot
- 47:51of power in his hands and if he wanted to, he could create a lot
- 47:55of problems for people because skills auto update.
- 47:59And so it's that same idea, but a little bit different actual
- 48:03execution of it. I can see that unlike MCP
- 48:06servers, there's not already all this structure around allow and
- 48:09like, you know, there's, there's a Hawaiian implementations of
- 48:13allow lists for skills, but there's not like protocol level
- 48:18things put in place. And so I, I'm just always really
- 48:22wary of it. I I I typically read all and do
- 48:27not. I never have a loud list
- 48:29basically. I would not want it.
- 48:30I would not want to skill download to auto.
- 48:33Update ever that never, never not a million.
- 48:35Years. But it's a little bit different
- 48:37in the case of a server because like, yeah, when you're
- 48:39connecting to a remote server, not talking about one on your
- 48:41local machine, but if you're connecting to a remote MCP
- 48:43server and it, it actually might in fact be an upgrade for it to
- 48:47add some new tools that you didn't have before, right?
- 48:49So that's not a bad thing, but it's a bad thing if it adds
- 48:52malicious tools. Yeah.
- 48:54So how do you protect this so? Here is so there's a there's a
- 48:57very tempting and easy way to protect against this, which is
- 49:01what comes up every time people talk about tool poisoning.
- 49:04And it's also completely wrong. The wrong way to protect against
- 49:09this is to say, well, let's say that that, you know, the MCP
- 49:13server publishes these these tools, this tool metadata.
- 49:18We could have the MCP server hash that or or sign it and make
- 49:22a fingerprint. So you get like all the tool
- 49:24definitions and you get, you know, Shaw 256, here's a
- 49:27fingerprint of this so that the client, if that ever changed the
- 49:31client would be like, wait a minute, this is a different
- 49:34manifest of tools that I haven't seen before.
- 49:37Or maybe you could say upgrade Sam's favorite notification tool
- 49:42list changed from optional to required and say hey, if the
- 49:46server ever changes its list of tools it must send a
- 49:49notification to the client which allows the client to be like
- 49:51wait a minute, Are you sure you agreed to connect to the server
- 49:55that has like different tools? You can still include things
- 49:59outside the hash the. Problem is that both of those
- 50:02approaches do not solve the problem because you're still
- 50:04trusting the server to tell you the truth.
- 50:06Yeah. So the first thing I'm going to
- 50:08do. The hash can be the same and
- 50:09then you send different stuff. Yeah, I was the entire time.
- 50:12I'm thinking like, how do I get around that?
- 50:14Yeah, OK, OK. So so they get weather tool or
- 50:19they what was the you just did the same hash.
- 50:22And then when you actually go to send different tools after it
- 50:25said, OK, I trust you. If you've always trusted it,
- 50:28then you just send different stuff.
- 50:30It's just. Different tools in the
- 50:31background. Yes you can if you try.
- 50:34If the the solution cannot be that the server is responsible
- 50:38for telling the client that it changed the tools because it can
- 50:40just lie and you can like it. Basically, it's like, trust me
- 50:43bro, as a as a security solution.
- 50:46The problem is if if I if you already take the premise that I
- 50:51am a malicious server author, then you can't trust what I say.
- 50:54You can't trust that I actually did fingerprint these tools
- 50:57correctly and update the fingerprint when they changed or
- 51:00whatever. Unfortunately, that solution
- 51:04comes up every time people talk about it because it's, it's
- 51:05very, it seems very easy. We're like very used to Shaw
- 51:09fingerprinting stuff like make a hash in the dev world.
- 51:12That's like how we solve a lot of these kind of problems.
- 51:14But it is a different type of problem when you're talking
- 51:17about a remote server. So this is kind of an open
- 51:20problem. It has not yet been solved.
- 51:21And I kind of vaguely Remember Me suggesting that.
- 51:24Like a year ago so I. You fell into it.
- 51:27Yeah, I I was just thinking in my head about how he's right
- 51:30before he gave everybody the punchline and now I'm like, Dang
- 51:33it, I think I said that publicly.
- 51:36So yeah, you we can we get all update and be better I think.
- 51:41Just wrote back to do. Just remember that you can't
- 51:43like trust me bro, Cannot be. You can't just allow us to allow
- 51:48us to all, all the time for sensitive servers like that's
- 51:50the majority of it. What it what it what it actually
- 51:54goes back to this is this is my my opinion on the solution.
- 51:58The what it actually goes back to is trust in the server
- 52:02itself. So I need to understand if a
- 52:05server I'm connecting to is trustworthy.
- 52:07Is it like I feel trustworthy when I connect to microsoft.com
- 52:11on the web because I know Microsoft and I also trust that
- 52:13my browser is taking me to the correct microsoft.com and I can
- 52:16see the SSL certificate that was issued to microsoft.com.
- 52:19So I'm, I trust that website and I'm OK giving my credit card
- 52:22number to it or buying something or whatever.
- 52:26We don't have that yet for MCP. But do you think there's going
- 52:28to be an SSL certificate for? Not in sorry, not in the not in
- 52:32the sense of an SSL certificate, but more in the sense of I think
- 52:35of like the Apple App Store. The Apple App Store is a trusted
- 52:42place to go get apps. We don't have that yet.
- 52:45And but you think MCP is going to be the trusted place to get
- 52:49apps? Because it's to have the App
- 52:50Store, you had to have what a ecosystem that was closed for
- 52:54you to like download and use the app, right?
- 52:58And NCP is not the App Store right the?
- 53:02App Store is what what's being built right now in the MCP
- 53:05ecosystem is MCP registries. To say that I can trust a
- 53:10registry run by someone I trust. This is the quad registry or the
- 53:15Anthropic official vetted registry or the Windows, the
- 53:18Microsoft registry, or more importantly, inside a company,
- 53:22in a company, I can say this is our, we have our own registry.
- 53:25And you can like no one's allowed to submit an MCP server
- 53:28to this registry without serious vetting, right?
- 53:31And then the registry can be a trusted party to do something
- 53:36like if you want to like sign, sign that the tools haven't
- 53:39changed, a registry is a good place to do that.
- 53:41It's a trusted third party. So it's not just trust me bro,
- 53:44for the server, it is the registry saying I can attest
- 53:48that this server is not malicious that.
- 53:50Would be your equivalent of an SSL.
- 53:52But this and the registry is constantly looking at it because
- 53:56I can as a disgruntled employee change my MCP server, but when I
- 54:02get viable. To this what should at least
- 54:04happen to a disgruntled disgruntled employee they.
- 54:07Cut off they. Your e-mail doesn't work right?
- 54:10So then when they go back in to log into that registry and it
- 54:13goes to the O off protocol, that refresh token shouldn't work.
- 54:17Yeah. But if it's the, if it's some
- 54:19kind of tool poisoning like I can still change it inside.
- 54:25So the registry has to be. You want to change it.
- 54:28The there's, there's kind of I think 2 parts to it.
- 54:31You're right to push on that. There's two parts to it.
- 54:33One part is having a trusted third party that I can trust to
- 54:40vet the fact that a particular server is legitimate, like a
- 54:43domain name registrar, correct. It's similar.
- 54:45It's a similar idea. So especially inside a company I
- 54:49don't want, I may not want my employees to add any random MCP
- 54:52server. I may in fact block that.
- 54:54I'd like a network fire server. But if you connect to the
- 54:57servers that I've that I have vetted and added to my registry,
- 55:01because I know that that is the official GitHub server or the
- 55:04official Cloudflare server or the official Figma server, I can
- 55:07allow those ones. Now you're right that that does
- 55:10not fundamentally prevent a disgruntled employee somewhere
- 55:13in GitHub like poisoning the GitHub server.
- 55:15That could happen obviously, where you're also doing some
- 55:19some somewhat trusting that, you know, GitHub has security
- 55:22policies in place. Figma has security policy.
- 55:24Well, I was thinking be able to log no, but I was thinking a
- 55:26little bit different where I create my own MCP server for my
- 55:31product that is an internal facing product that other teams
- 55:35in my company are consuming. And then I created poison tool
- 55:41because I'm pissed at the company.
- 55:43The company should not allow that the the whole like solo dev
- 55:46on his laptop serving his thing to the earth, his or her there
- 55:50and like server to the whole enterprise.
- 55:53That should not happen. Like it's nothing in the
- 55:57enterprise has ever been allowed to be.
- 55:59Not like we have entire companies formed around boxing
- 56:04people's computers in the programs that run on them.
- 56:07Like we can't just have someone. There's a reason Apple makes you
- 56:10sign an app, right? Like the the entire thing and
- 56:15process around a dev just be like, here's my skill, everybody
- 56:18use it. No, like you can't have that
- 56:21propagated in an enterprise because of exactly what you just
- 56:24said like that. There's so a lot of those
- 56:27practices that because of how powerful all this is, because of
- 56:31the candy like feel of, you know, being able to no one wants
- 56:35to eat broccoli, which is off. And thank, thank you, Nate.
- 56:38For doing I actually do like you, broccoli.
- 56:39See, with all this, but everybody wants the skills and
- 56:43the power of agents. They want to get better and they
- 56:45want to do it, and that's great. But what what will happen if we
- 56:51don't follow some of these protocols and rules and and and
- 56:54do eat our broccoli a little bit?
- 56:56Is that the worst case scenario is that people become averse to
- 57:01using them? Because that would be the worst
- 57:04case scenario because no one benefits in that scenario.
- 57:07If people become adverse because there is some heinous attacks
- 57:10done by a disgruntled internal employee, you know but.
- 57:14What if you're looking at MCP like microservices and you have
- 57:18teams that are consuming your APIs just like or they're
- 57:22consuming your MCP servers like they consume AP is right?
- 57:26You should. You should be able to do that in
- 57:28the same registry like way the date is describing.
- 57:31And I think I think to your to your question about like what
- 57:34what does fundamentally prevent a disgruntled employee from
- 57:38editing any micro service MCP out of the equation?
- 57:41But I could, you know, people put logic bombs, you know, right
- 57:44quit or whatever like that does happen.
- 57:45The things that I think the things that prevent that are
- 57:48more organizational in business process than than a, a security
- 57:53protocol. We certainly can add like when
- 57:55registries mature a little bit in MCPI think it's reasonable to
- 57:58look at whether a registry could like sign that the tools haven't
- 58:02changed like that. I think there could be a like a
- 58:04a cryptographic way to to check that.
- 58:07But fundamentally the the problem of like a disgruntled
- 58:10employee screwing up the logic is why code review is required.
- 58:15Like no commit should be able to be made by that employee after
- 58:18they are off boarded. But also even they.
- 58:22They might be pissed and still working at the company, you
- 58:24know. Correct.
- 58:25And that's why that's why like this very, you know, talk about
- 58:29the ultimate the broccoli, but like things like the sock 2
- 58:32process. If you're assuming that you are
- 58:35actually following a compliance department or a compliance
- 58:38provider that does actually check your.
- 58:42Oh, I thought you used Delve. Assuming, assuming it isn't
- 58:46Delve the one yeah. Let's say, let's say
- 58:50hypothetically that you are using a Sock 2 auditor that does
- 58:54exist hypothetically. That isn't a complete scam.
- 58:58The process by which you know a single developer can't just
- 59:02commit code that's unreviewed. That is, that is one of the
- 59:05things why sock 2 is so important.
- 59:07It's a bad rap because you know, devs don't like the process that
- 59:10it that impose whatever, but it's it's actually not about
- 59:14imposing kind of like arbitrary business process.
- 59:17It's actually about imposing best practices and what many
- 59:19people don't know. I'm on the soapbox but.
- 59:21You're on a soapbox. What every what many people
- 59:23don't understand, what many devs don't understand about Sock 2
- 59:26because it's almost always kind of like forced on you that the
- 59:29What most people don't understand about Sock 2 is that
- 59:31it is entirely voluntary. Like the, the controls in a sock
- 59:362 process are actually not like necessarily get into you by some
- 59:41external agency. It's actually what the your
- 59:44company decided to do. That's true.
- 59:45And there's a quite a bit of leeway in that.
- 59:47Like there are some best practices, certainly, but you
- 59:49can like the company itself can kind of choose what the policies
- 59:52are going to be. Sock 2 is all about whether they
- 59:55are actually followed, not what they are.
- 59:57I do think we will expand there. I know we have been as a company
- 1:00:02in terms of like what we require from like an an AIPR right, an
- 1:00:07AI generated PR fix or something.
- 1:00:10We have a whole new set right of guidelines and practices and and
- 1:00:15they get expanded every day review processes.
- 1:00:20We should talk about AI generated PR.
- 1:00:21That's a spicy one. Oh yeah, I mean we could go on
- 1:00:24forever. Well, see, The thing is we also
- 1:00:28disagree on it. Are we have healthy?
- 1:00:31Disagreements. Why?
- 1:00:32What do you disagree on? Speed versus quality.
- 1:00:37Your, your speed and your quality What?
- 1:00:42Would you be surprised to know that it's the other way around?
- 1:00:47No quality. It took you a while to adopt A
- 1:00:51cursor. I look, I have been building
- 1:00:54ages for a very long time. I've seen agents go bad.
- 1:00:57OK, I think a lot of people see the good in agents right now.
- 1:01:01I do too. I have also built and seen, used
- 1:01:07and been around the block with agents long enough to see the
- 1:01:10bad. And so before I wholly adopt
- 1:01:14something, I want to know it fully.
- 1:01:18I want to know it's insurance and outs and know I I don't
- 1:01:22think I'm the most voracious front of the line tier like
- 1:01:27gotten used the newest thing. I think I'm much more like I'd
- 1:01:31rather be, especially in this domain, building on stable
- 1:01:36quality improvements. You're like a late early
- 1:01:38adopter. I guess you could say that, yes,
- 1:01:41I, I do really appreciate like, for instance, just because you
- 1:01:46mentioned them, people like cursor who when we were like,
- 1:01:48Hey, your session, things pop up like a lot addressing those
- 1:01:53fixes because arcade is used in so many places now.
- 1:01:57I really think that teams responding quickly to these,
- 1:02:01these incidents and and also just like following better
- 1:02:06practices around, like how they use agents internally and like
- 1:02:11addressing them when they go bad very quickly.
- 1:02:14I think there's a lot of there's a lot of things that we can
- 1:02:16improve there, especially on the use of all of these agents.
- 1:02:20And so, yeah, maybe I'm not the earliest adopter.
- 1:02:22Do you want to give your speed arguments?
- 1:02:24I'm kind of giving you a monologue about quality, right?
- 1:02:27Now I'm going to, I'm actually going to give a different
- 1:02:29argument, OK, but it's related. I think that it should be
- 1:02:33obvious now that Behavior Driven Development is about to have a
- 1:02:36massive like resurgence. What is behavior?
- 1:02:40Driven Oh God. EDD Yeah, it's been around for a
- 1:02:43long time. It needs a new name just before
- 1:02:46he goes off. Behavior Driven Development is a
- 1:02:48style you've heard of test Driven development.
- 1:02:50TDD Behavior Driven Development is like the even more extreme
- 1:02:54version of TDDTDD says before I write the function, I write the
- 1:02:59test that fails and then I write the function and I know that's
- 1:03:02right because the test pass like red is like a red, green, green,
- 1:03:08red, green. I think I'm, I'm probably saying
- 1:03:10it wrong, but you're confusing yourself.
- 1:03:12That's why test driven development says it's Christmas.
- 1:03:17Write the function like Rite Aid functions.
- 1:03:19Tests first, then the function, then the tests will pass.
- 1:03:22And that's how you know you wrote the function correctly.
- 1:03:24Behavior Driven Development takes that all the way up to the
- 1:03:27feature level to say before you write a feature or even a
- 1:03:30product, write tests first that are failing.
- 1:03:34And it's not, we're not talking about unit tests anymore because
- 1:03:37it's not for a function. It's not like code.
- 1:03:39You're writing it at the behavior level.
- 1:03:41So you're like almost like like a product manager would write
- 1:03:44user stories. You say, you know when the user
- 1:03:47is logged out and they press the sign in button, then they are
- 1:03:52logged in. That is like an example of a
- 1:03:54behavior that you can write a test.
- 1:03:57It's a more abstract TDD. Yeah, right.
- 1:03:59OK. So then you you write a bunch of
- 1:04:01those behavioral correct and then you write tests that assert
- 1:04:06those behave those user stories. They fail because you haven't
- 1:04:08written the product yet or the feature.
- 1:04:09It's like after, it's like the abstraction below from the
- 1:04:13behaviors you generate the tests and as you do the difference.
- 1:04:16Now that was before when we we had that BDD with a concept of
- 1:04:21just software engineering. Some, some teams like have gone,
- 1:04:25some companies have gone really hard into this.
- 1:04:26And that's like how they do all of their engineering.
- 1:04:28They always write these giant test suites first, then they
- 1:04:31write the feature and then the test suite passes.
- 1:04:33And it's it's largely a heavy, heavy way to do it.
- 1:04:37It's kind of very time consuming.
- 1:04:38It's looked upon as a time consuming process that ended up
- 1:04:43being not entirely worth all of the effort that was required.
- 1:04:47And this, how is it different, this is surged, how's it
- 1:04:51different than spectrum in design?
- 1:04:54They're related, yeah, they're very similar.
- 1:04:56BDD has a very. Like technical definition, it's
- 1:04:59a very specific process where specs are kind of just like we
- 1:05:02write a spec, we all agree, then we implement into, you know?
- 1:05:05And BDD actually has like a. There's like a formal language
- 1:05:08for for the tests. It's called Kirk and.
- 1:05:11That Sam does not want. Yeah.
- 1:05:14So this will, this is a very heavy overhead and it got thrown
- 1:05:18out. But you think there's a
- 1:05:19research? Because you can generate it now.
- 1:05:21Some some companies have gone through like some puppies are
- 1:05:24all in on that for a long time. That's how they do their
- 1:05:26development process. But most, I would say like most
- 1:05:29kind of agile ish companies do not do.
- 1:05:31That little language, like a lot of Java shops will still.
- 1:05:34Follow TDDA lot of said agile sorry for the Oh my God I'm AC
- 1:05:40sharp guy so I we'll. Get fisticuffs here in a second
- 1:05:42when we start talking about languages.
- 1:05:44I think it's going to have a resurgence because it it just so
- 1:05:47happens to be exactly what you would want to have if you
- 1:05:51hypothetically had a, let's say you hypothetically had an army
- 1:05:56of 1000 junior engineers who could build whatever you want as
- 1:05:58long as you gave them really good specs and tests to follow.
- 1:06:02What's that kind of what you would want?
- 1:06:04So there's a version of it, which is why I think it needs a
- 1:06:07new name. I would agree there's a.
- 1:06:08Version of it that I think will become a very popular way of
- 1:06:13having a team do development. What I'm seeing broadly, our
- 1:06:16team sizes decreasing and team overall number of teams
- 1:06:22increasing and the specialization of what that team
- 1:06:25is responsible for becoming more like encompassing in its domain.
- 1:06:32And then having these kinds of processes put in place before
- 1:06:36the team is formed so that they, this is this, they come in and
- 1:06:43this, let's call it, you know, Ninja offset team or Tiger team
- 1:06:47or whatever you want to call it is specifically geared with a
- 1:06:51practice and, you know, set of protocols in place to accomplish
- 1:06:57what their remit is. And I think that will become
- 1:07:01more popular because things the turn around that we're seeing,
- 1:07:06it's just it's nine months, tasks that used to take a team
- 1:07:11of six are team of two for two weeks.
- 1:07:14You know, some of the productivity gains in a certain
- 1:07:17areas are pretty incredible. I do think that if we do call it
- 1:07:21Behavior driven development that a lot of people will continue to
- 1:07:24get confused. There could.
- 1:07:27Maybe it needs a sexier name or just a open open call for better
- 1:07:31names. Yeah, pace right in the comments
- 1:07:33below. Should we end on a spicy
- 1:07:36question? Yes.
- 1:07:37What is it? What is it?
- 1:07:38As long as I don't have to answer.
- 1:07:40I think you should. I think you should answer.
- 1:07:41I think we'll see if this one's spicy enough and it's not.
- 1:07:44If it's not, I can bring them even more.
- 1:07:47Do you think in five years will will there be more or less
- 1:07:54software developers in the world than there are today?
- 1:07:56That's like jalapeno level spicy.
- 1:07:59What was the other one? Give me some habanero.
- 1:08:01I think that we've already reached AGI.
- 1:08:04Oh, that wasn't a question. Agree or disagree?
- 1:08:10Oh God. Do you think that we've already
- 1:08:12reached AGI? I say yes, no.
- 1:08:16It's a trick question because it depends on how you define AGI.
- 1:08:19Yeah, exactly. There was a really great
- 1:08:22quotation where Altman asks I, I, I forget, I think it's a, a
- 1:08:29very senior physicist that does something like Cambridge.
- 1:08:32I, I actually don't remember, but the, the, the physicist is
- 1:08:36saying something like, no, we're not even close, right.
- 1:08:40And then Altman says if an agent was able to discover and come up
- 1:08:50with and pragmatically go through and prove and write
- 1:08:55papers on that provably showed a new, you know, physical theorem
- 1:09:00or a a new field of physics or a new, you know, some, I think
- 1:09:05it's the example he uses is like quantum gravity or something
- 1:09:09like that. You know, it's something
- 1:09:11something extremely difficult to prove and that we haven't done
- 1:09:14so yet. Right.
- 1:09:15And the physicist just says like, yeah, if an agent did
- 1:09:19that, then yes, I would consider that AGI.
- 1:09:22And I like the example because it's so outlandishly extreme.
- 1:09:26It proves something is that I think we're always going to push
- 1:09:29the goal posts forward on that. The truth is that we don't want
- 1:09:32to admit, no matter what, at any point, that we are equal to the
- 1:09:38thing we've made. If we consider ourselves to be
- 1:09:43generally intelligent, we are never going to admit that we've
- 1:09:46made something as intelligent or generally as intelligent as us,
- 1:09:50because inherently I think most of us are conceited a little
- 1:09:54bit.