Kent C Dodds - AUDIO EDIT === Paul: [00:00:00] Hi there and welcome to Pod Rocket, a web development podcast brought to you by Log Rocket. My is Paul and join with me today is Ken c dos back again. Ken is a software engineer, educator, and builder of many of things. So we're gonna be talking about IMCP and of course Epic ai. So if you listened to our podcast before, we've had Ken on about how you go from zero to hero using the epic stack. We digging back in today with refreshed eyes and refreshed technologies. ~Uh, ~so welcome to the podcast. Kent: Yeah. Thank you so much Paul. It's always,~ uh,~ an honor to be invited back. ~Uh, ~so I appreciate you and,~ um,~ wanting to chat with me again. Paul: ~So you've, you've, ~you've been drinking the Kool-Aid with all of us excited. You know, we're,~ You know, we're, ~we're resumers on new technology, about MCP and,~ uh,~ AI and all that. ~So, you know, ~really quick, have you been turning your head and pivoting everything or. Integrating it into Integr existing workflows, how you've been finding new workflows. I did kind of tease a little bit. We're gonna be talking about Epic AI a bit today. ~Uh, ~but at large, how has this transition been affecting Kent? Kent: ~Yeah. Well, it is, uh,~ it's significant. ~Uh, ~everybody, of course, is, ~um. ~Trying to figure [00:01:00] out,~ uh,~ how the services they offer,~ um,~ are impacted by AI and ~the, ~the job that they have, how that's impacted by ai, and then the,~ like,~ regular, everyday,~ um,~ living and how we can improve,~ uh,~ our experience with ai,~ uh,~ and be more productive. ~And, ~and ultimately, hopefully the ultimate goal is,~ uh,~ getting more out of. ~Uh, ~life ~and, ~and like more of the good stuff,~ um, uh, you know, ~reduce stress and,~ um,~ more time with the ones that you love, all of that stuff. ~Um, ~and so I think,~ um, uh, as, ~as things change and evolve,~ uh,~ I think it's really valuable to change and evolve with that,~ uh,~ and. It took a while for me to feel like I could find a really good place where ~I, ~I thought the people that I teach have a really good place to go for. ~Um, ~what we are going to be doing in the future ~and, ~and how this impacts our,~ uh,~ day-to-day work. ~Uh, ~for a long time it was just, yeah, we're still right and react,~ um,~ and still doing full stack stuff, and I think ~that ~that will continue for many people. ~Um, ~but in the,~ uh,~ next year or two, I think a lot more people are going to be. ~Um, ~working,~ uh,~ a lot closer to [00:02:00] integrating directly with ai. And so that's why I've started to make that pivot myself so that I have,~ um,~ all of the knowledge and experience that I will need to be able to help people develop,~ uh,~ knowledge and experience when it's time for them ~to, ~to make that move. Paul: ~And would you say that a lot of that, uh, content that you're putting out right now, the helping folks that revolves around, uh.~ Kent: ~Yeah. Yeah. So, um, I, uh, yeah, years ago, uh, like in 2020, I came out with Epic React, uh, dev, and that was kind of epic, became my brand. Uh, a couple years later I came out with Epic Web Do Dev, and then, uh, when I decided I wanted to get into AI stuff, uh, a lot of what I'm focused on right now is the MCP stuff.~ ~Um. But, uh, uh, yeah, it's more general than that. So I, I, I did think, okay, well well let's do epic cp.dev. But, uh, I, I think that, that it's bigger than just cp. So I said, okay, let's do Epic ai. But, um, epic AI dev was taken. They wanted like tens of thousands of dollars for it. So I was like, nah, that's okay. So it's Epic AI Pro. We're going pro now. Um, so that, uh, yeah, and that's where all of my AI related stuff is going is over on Epic AI Pro.~ Paul: ~Epic ai, right? ~ Kent: ~Uh, no, it's just Epic ~ Paul: ~Oh, just epic ai depro. Okay. All one word. Got it. So, uh, ki~ let's kick it off and start talking about epic ai. ~The, ~the topic of conversation at the top of my list to talk about is Jarvis, and everybody has an idea about what Jarvis is. I've certainly sat on my computer hoping it could talk to me ~and ask me when I need attention ~when it needs attention. ~Rather, ~what does Jarvis mean to you, and why are we talking about Jarvis in the context of epic AI right now? Kent: ~Yeah. So, um, ~going back a little bit, ~the, um,~ a lot of the things that people are building right now ~are, uh,~ with AI are very specialized tools for specific,~ uh,~ set of,~ um, of. ~Intense ~or, ~or tasks. And I think ~that ~that will continue,~ uh,~ in the foreseeable future. ~Uh, ~you can get a lot of,~ um,~ benefit, a lot of,~ uh,~ performance out of ~a, ~a very specialized tool for a specific task. ~Uh, ~but one big problem ~that, that, um,~ that you have to deal with, with something like that is,~ um,~ the integration with other tools. ~Um, ~so yeah, I may. [00:03:00] Have a really nice specialized tool for,~ uh,~ generating the transcript of a video or, or like generating ~a, ~a screenplay or something. But then I have to take that somehow and integrate it with ~the, ~the tool that's going to,~ uh,~ give me, ~you know, ~the wire frames for the website of that video or like for the. ~Um, ~the thumbnail ideas ~or, ~or whatever. And so, okay, well, we'll just build a full app that does all of these things. ~Well, ~okay, but once that video is published, I want to text my mom, ~or I want, you know, ~like they're just in infinite, infinite,~ um,~ way things that you want to integrate that don't really make sense as a single product. And besides, you may not want to have a single product for all those things. And ~so, um, ~the integrations is the real,~ um,~ piece that,~ uh, is, uh,~ is a challenge. Between all of the different apps that we build. And,~ um,~ so I actually have been thinking about this ~and, ~and talking primarily with my,~ uh,~ friend, Ryan Florence. ~Uh, ~we've been talking about this idea of a Jarvis,~ um, sort of ~experience. And for those unfamiliar, Jarvis is the,~ um,~ AI assistant that Ironman uses in the,~ um,~ Marvel cinematic universe, or in not just [00:04:00] cinematic, it's like Jarvis is ~a, ~a thing for Ironman,~ uh,~ and Ironman is Tony Stark. So Tony. He's just ~really, ~really smart,~ um,~ engineer, and he builds this AI assistant that just does everything for him. He talks to,~ uh,~ Jarvis even ~for, you know, ~just as a companion,~ um,~ but also as,~ uh,~ a tool that accomplishes many things and. Some of the things that Jarvis is capable of,~ um,~ are things that are not necessarily predefined. Jarvis actually is able to acquire new capabilities ~and, ~and,~ um,~ e egos so far as to like write programs and stuff,~ um,~ which I think that we. Can ~kind of ~do like he generates,~ uh,~ interfaces and that sort of thing. ~Um, ~whatever the task requires,~ uh,~ even if it's not something he already knows how to do. And ~so. Uh, ~Jarvis is a, uh, a generalist that is able to do,~ uh,~ just about anything and ~kind of ~replaces the need for a human assistant,~ uh,~ that a person might hire, like ~a, ~a virtual,~ uh,~ assistant that,~ um,~ people hire who have,~ uh,~ a lot of, ~um. Things that they, uh,~ requirements on their time. ~Right. I, ~I actually had ~a, ~a virtual assistant myself that I paid years ago [00:05:00] that helped me with a lot of the just busy work that I could,~ um,~ delegate to him. ~Uh, ~I don't do that anymore, but,~ um, but, uh. ~Yeah. So if everybody could have that sort of experience, I think that would be a really cool thing. And now we actually do have the technology to do that. ~Uh, ~there are a lot of PE things that still need to be built, but the standards are there and there's,~ uh,~ sufficient motivation that this is starting to happen. ~Um, ~and this is one area. And that I think a lot of developers, like product developers, the developers that I,~ uh,~ primarily teach ~and, ~and,~ uh,~ help. ~Uh, ~this is an area where they can contribute significantly because. ~Uh, you, ~you probably have noticed in chat, GPT and Claude, they have native integrations with Google Calendar and with Gmail and ~uh, ~Google Drive,~ uh,~ Dropbox and stuff, and GitHub, everything. So that's cool if you work at those companies. But for most of us, we don't work at those companies. We work at,~ uh,~ maybe smaller companies or even more niche companies, and~ it's really,~ it would be really difficult for you to convince. Open AI or [00:06:00] Google or Anthropic to ~build, like ~spend developer hours building an integration for your service. And I'm sure that they would all love to have some sort of marketplace where,~ uh,~ it's basically an app store. To have these integrations. ~Um, ~but for myself, marketplaces like that,~ um, tend to, there,~ there are trade offs there. And for myself, I really like the idea of the open web where I don't have to ask permission or register or pay a hundred dollars a year or anything like that too, have a presence there and solve my user's problems there. I'm a web guy. ~I, ~I like the open web ~and so. Uh, ~and besides that,~ uh,~ e even if we do have a marketplace,~ um, we don't, I,~ I really would prefer to avoid a situation like Android and iOS where you have to have. ~Uh, ~a completely different,~ um,~ code base for one or the other, unless you're gonna go with something like React native ~and, ~and,~ uh,~ I don't want to get into all the trade-offs that are involved there. ~Um, ~I'm wearing a React shirt right now, so like~ like I, ~I, I know like some people might know what side of the fence I'm on there, but even still,~ um,~ having something that's more, ~um. ~Of an open standard and more like the [00:07:00] web, I think would be a really good thing. And so that is what the model context protocol ~is, ~is it, it,~ uh,~ allows you to,~ uh,~ create,~ um,~ a mechanism for AI agents,~ um,~ to connect with your services. ~Uh, I, ~I like to say that it gives Jarvis hands. ~Uh, ~we actually ~kind of ~have Jarvis already in the form of,~ uh,~ a tool that is able to. ~Uh, ~communicate with us ~and we, ~and it's even multimodal, so you can,~ uh,~ talk to it or you can type to it. ~Uh, ~you can show it video and it can respond,~ uh,~ to that. It can generate images, so it's already really capable. But the problem is that it doesn't connect ~to. Um, uh, ~to your services. It's just right now integrating,~ um,~ with the,~ uh,~ big boys. ~Um, ~and so what MCP allows ~and, ~and it's,~ uh,~ actually coming up on almost a year old now,~ um,~ from its initial introduction. But,~ uh,~ what it allows is for anybody to write a server that implements that specification, and then any client that supports that specification can connect to that server effectively making it so that. Jarvis can not only do the things that it's been explicitly integrated to do, but can literally do anything [00:08:00] that has MCP support for,~ um,~ which,~ uh,~ leads to where ~I, ~I work in,~ um,~ which is teaching people how to build those MCP servers so they can connect to those MCP clients. And as far as ~the, ~the clients that are available right now, and you've got,~ uh,~ Claude. ~Uh, ~from Anthropic has support for MCP. They, of course, they came up with it, so they're going to have,~ uh,~ MCP support. ~Um, ~and then chat. JPT also has MCP support,~ uh,~ Gemini, I don't know whether they have it currently, but they,~ uh,~ have promised,~ uh,~ to add support for that. And then,~ uh,~ even ~uh, ~native editors, like desktop native editors like Cursor and vs. Code ~and, and, um. ~And then even,~ uh,~ like Claude Code,~ um,~ has support for,~ uh,~ MCP as well. So it's really, it's all over the place now. ~Um, ~and so my goal is just to teach people how to build quality MCP servers, because that's one of the bottlenecks of us getting to Jarvis. Paul: ~So. And please correct me if I'm wrong here, but~ the mission statement is ~sort of ~the socialization of what is MCP, how does it work? And then most importantly, accelerating the development of quality [00:09:00] MCP plugins,~ uh,~ for the ecosystem at large. Kent: ~Yep. Yep. Um, it, like, there,~ there are a couple of pieces to that, but that Yeah, that's a pretty good summary. That one of the pieces of that is,~ uh,~ helping people understand,~ uh,~ the potential of this future and that it's not just potential, but it's actually. Already serving,~ uh,~ a lot of people ~and, ~and,~ uh,~ helping people be more productive at solving lots of real world problems that people have already. ~Um, ~which,~ uh,~ distinguishes it from other,~ um,~ hype things that we've experienced in the last decade,~ um,~ where it's already doing a lot ~of, ~of providing a lot of value for people. ~Um, and, and, ~and on top of that too, like the big players are very invested in this. ~Um, ~Microsoft and Amazon in particular are both way, way into this. ~Um, ~and Google also. ~Um, ~and ~I, ~I even talked to the director of product over at Chat, GPT and he's very interested in this as well. So like you've got a lot of interested parties,~ uh,~ which again distinguishes it from some of the other,~ uh,~ hype driven things that we've seen in the past. ~Um. ~And then,~ um, the other aspect, or~ the other thing,~ um,~ is,~ uh,~ the client is,~ uh,~ a big thing that's holding it back a little bit. That's,~ uh, kind of ~a hard thing to do,~ uh,~ to build a [00:10:00] Jarvis, but there are,~ uh,~ people that are working on,~ um,~ the necessary pieces to make that all work. ~Um, ~I think that ~Jarvis, uh,~ a Jarvis client will replace the browser. And,~ uh,~ people won't go to URLs anymore. They'll just go to their Jarvis and they'll tell it what they want it to do, and it'll do the thing. ~And, ~and,~ um,~ the way that it does that is with MCP servers. And so if we say, okay, the Jarvis replaces the browser, and,~ uh,~ your website is replaced by MCP servers, then ~um, ~most people are gonna be working on MCP servers. Just like most people work on websites, not browsers. ~And so that's where, um. ~Like when I'm thinking about, okay, what is, what am I gonna teach next? I'm thinking about my audience ~and, ~and the people that I've been serving over the last,~ uh,~ decade or more, and people like me,~ uh,~ who build actual products for users to use. ~And, um,~ and so the vast majority of my audience is,~ uh,~ going to be building MCP servers in the future. ~Um, ~and ~so, uh, ~another one of the bottle next to MCP ~um, ~adoption is quality MCP servers. Paul: For sure. Yeah. Kent: how to build those, because right now lots of MCP servers are not really all that great. ~Um, ~and ~so, um, ~I would say probably most of the MCP servers that exist are not great. ~Um, ~but there are a lot of really good [00:11:00] ones,~ um,~ already that can,~ uh,~ serve you very well. ~Um, ~so yeah, so a big part of my mission is just helping people understand the potential,~ uh,~ enough to care,~ um,~ to ~help them~ help people ~like. ~See what's happening right before our eyes. ~Um, ~and then,~ uh,~ giving them the resources that they need to,~ uh,~ be effective and find their place in this,~ um, uh, ~new era, ~I guess.~ Paul: There's a lot of,~ uh, tumultuous, tumultuous~ Kent: Motion. Paul: going on right now. ~We'll, ~we'll look at this landscape. We got MCP. We have different ways that is offered changing. ~I mean, ~when I first learned about M-C-P-S-S-E was the thing. It's like, Hey, if you want ~like. ~Beyond standard in and out on your computer, you can use this SSE thing. And now streamable, HTP is overtaking SSE. So where does MCP even land that's still coalescing ~in, ~in a certain direction? Where do you see certain pieces of what might have felt dynamic in the past year, Kent, that is up a similar tree, like the transport that it runs on slowly coalescing. Maybe it hasn't fully coalesced. Maybe you're identifying something, you're going look, it's going this direction. I'm pretty sure. Kent: ~Yeah, that, that's, um,~ there are some aspects ~of ~of MCP that are pretty well settled by [00:12:00] now. ~Um, ~but there are others that are still in flux. ~Um. One thing is the, um, the or, ~or one thing ~I, ~I try to think about as my guiding star for the direction I think this will go, and also how I think about building servers is,~ uh,~ think about the website you build already to expose ~your, um,~ your service to the world. ~Um, ~in my mind, the Jarvis client replaces,~ uh,~ a human assistant that you may or may not already have. ~Um. ~And so you just tell the human assistant what you want them to do, and they go and find the necessary tools to accomplish that task, and then they go and accomplish that task. ~Um, ~your human assistant is not going to just be,~ um,~ hitting like API endpoints and everything. ~Like, ~who knows? ~Uh, ~especially with LLMs being not very deterministic, you want to have a little bit more guidance on those. ~Uh, ~just like you would want to have more guidance on a human. And so rather than giving a human a bunch of API endpoints to call, you're going to give them a website. And that website is going to have links and it's gonna have,~ uh,~ forms and buttons and things like that for the user to interact with, to provide the input necessary to accomplish the task. And so in a similar vein. ~Um, ~the [00:13:00] MCP ~uh, ~protocol ~is, uh,~ in my mind is,~ um, uh, ~being a replacement for a website needs to be,~ uh,~ in some way,~ uh,~ dynamic,~ so, uh, and, ~and authenticated. ~Um, ~and so the authentication for the spec was initially added in March and then improved a lot in June. ~Um, ~and,~ uh,~ now ~it's, ~it's way, way easier to build an authenticated server than it used to be. ~Um. ~And it's ~all, ~all based on standards that we already are familiar with OAuth 2.1. ~Uh, ~and so lots of infrastructure is already built for that and everything. So it's actually pretty straightforward. And in fact, I have my own OAuth server running on CloudFlare. ~Um, so like you don't even need a.~ Paul: ~Yeah. Yeah, your camera, your camera gave you a hard time.~ ~Sometimes this has been happening with my, uh, M three, my lightning dock. It like switches cameras. 'cause the, it gets a bandwidth overload, Kent. And the only thing that fixed it is I had to put a bit rate limiter on my like cam link.~ ~Just to be safe. Yeah.~ ~I'm, I'm trying to remember where we were too.~ Kent: ~Yeah, I was, I was talking about, um, uh, yeah, I've, I've forgotten.~ ~Yeah. Do, that,~ ~uh, do you think that you could have us listen to like the last 10 seconds of what I was saying?~ Paul: ~yeah.~ Kent: ~Yeah. I. Okay. I can continue from right there.~ Paul: ~Okay.~ Kent: ~Okay. Whenever. Just let know when you're ready. Okay, so~ just like you have those buttons and things, you need to,~ uh,~ be able to have an MCP server that, ~um. ~Is dynamic such that ~it, um, ex the, ~the tools, the prompts, and ~um, ~the resources that it exposes,~ um,~ will respond to,~ uh,~ changes in the environment,~ the,~ the user, whether the user's logged in,~ um,~ whether there is data available for those resources and stuff. ~And, ~and all of this is built into the spec already ~from, ~from the very beginning where you can dynamically change the tools, you can dynamically change the resources,~ uh,~ and prompts. ~And, uh,~ like whether [00:14:00] they're available at all and what,~ uh,~ those. ~Uh, ~resources represent,~ uh,~ you can have subscriptions and everything. So we basically have everything we need to make a very dynamic user experience that simulates,~ uh, the, ~the web browser,~ um, but, uh,~ but does so in a much more efficient way than simply having, ~uh. ~Like an LLM,~ uh,~ open up a browser and go to your actual website. ~I, ~I think that's actually ~a pretty, um, like~ a fine bridge to get us to that eventual place. ~Um, ~because not everybody's going to have time to build an MCP server and they already have a website, but, ~uh. Uh, ~that is just not as efficient. And so I think that in the near future you're going to see people who say, yeah, go ahead and just use this MCP server that will just go to our website and click around, and that will work. ~Um, ~but ~uh, ~over time. Their competitors will start,~ um,~ building proper MCP servers. ~And, ~and then everybody just,~ they,~ they want to talk to their Jarvis,~ uh,~ they want to interact,~ um,~ with your service through Jarvis. They don't want a website now. ~Um, ~one thing that a lot of people,~ um, come up like. Or~ are worried about with that is,~ uh,~ I actually do like ui. Like I don't like just [00:15:00] text,~ uh,~ being fed to me. ~Like there's, ~there's something really nice about having,~ um, a,~ something that I can interact with. And on the branding side, like it's important for Uber to know that the car ~that ~that drove up to ca pick you up. It's not a Lyft, but it's an Uber. ~Like ~there's branding that matters. ~For the,~ for these companies. And so there will be ui there already are experiments for,~ uh,~ using UI and returning UI as part of the MCP experience. ~Uh, ~another really good example is ~like, um. ~If you told Jarvis, Hey, I need a stopwatch. ~Um, ~rather than it saying, okay, just tell me when to start and when to stop, it will generate a stopwatch with buttons. ~Uh, ~and that makes a ton of sense. And if you really like the stopwatch, then you can save it to your preferences. And next time you say, I want a stopwatch, it can give you the exact same one. So ~like, ~even muscle memory can still be a thing in this future. And, and it, hey, if you build a really good one, you can share it with other people and man, maybe you can make a marketplace. ~Uh, ~I suppose that could make sense. ~Um. ~But,~ uh,~ like being able to generate UI on demand, having them be more like little widgets that,~ um,~ maybe they're backed by a big [00:16:00] service,~ um,~ that,~ uh,~ we're familiar with some sort of centralized thing. ~Um, ~but ~uh, ~I think that being able to generate ui, that's exactly what you want, makes a ton of sense. And there's nothing. ~Um, ~that stops the MCP from being the way ~that ~that is accomplished. So there, there's a whole lot to,~ uh,~ to talk about on,~ uh,~ the subject of,~ um,~ of ~like, ~what is an MCP,~ uh,~ and that's why I'm making all these workshops about it. ~Um, ~and,~ uh,~ and also what role. We are going to have as,~ uh,~ builders of MCP servers and exposing our services to our users in the place that they want to use them. ~Um, ~just like~ when, uh, when websites or~ when the phone first,~ uh,~ showed up, we wanted to call people instead of go up to their house because it's just more efficient. And then,~ uh,~ websites, okay, I'm gonna go to the website instead of talk to somebody on the phone because, ~um. ~For whatever reason. ~Um, ~and,~ uh,~ I think this is just another evolution. I'm going to use my AI agent instead of doing like 30 Google searches to find what I want because it's just so much more,~ uh,~ efficient. ~It's, ~it's a better experience for me. I can ask it to do a really complicated thing and then I can go off and do something else, ~like ~[00:17:00] hang out with my kids while it goes and does the more complicated thing. So,~ So, uh, ~this is definitely the direction that users want to go and I think developers should be paying attention to that and,~ uh,~ serving their users even better. Paul: Have you seen the 11 Labs? ~Uh, ~new Voice assistant for a platform that's coming out? Kent: Yeah, I saw that. ~Uh, I,~ from what it looked like they were saying, it was just an experiment,~ uh,~ just ~kind of ~to, to demo what their,~ um,~ AI model is capable of from a speech perspective. ~Um, ~I think that is way cool. ~I, ~I'm pretty sure I remember seeing something about it being powered by MCP,~ uh,~ which makes total sense that it would be, ~um. ~Yeah, I'm,~ I,~ I thought that was super interesting. I signed up,~ uh,~ for,~ uh,~ a demo or something. I haven't heard anything about it,~ uh,~ yet, but yeah,~ I,~ I think also ~like ~this is gonna be a multimodal thing,~ so, um, ~being able to have a ~really, ~really good voice assistant that can distinguish between different speakers. ~So like, we can have mo~ so really you want Jarvis to feel like an another. ~Um, ~person in the room with you and Jarvis knows ~if, ~if you're talking with your wife or if you're talking with Jarvis or if your wife says, Hey, could you stop the music? It's really loud ~and, ~and,~ uh,~ Jarvis [00:18:00] knows my wife's voice and is like, yeah. ~Uh, ~you have been approved to be able to do these things. ~Um. ~And so, yeah, having a ~really, ~really good,~ uh,~ voice model matters a lot. ~Uh, ~of course a really good text model. There are, of course, lots of problems with MCP that still need to be resolved, and I think,~ um,~ language models will be one aspect that will improve to make things better. ~Um, ~but also the systems that we use for MCP,~ uh,~ will need to improve as well. Paul: What's one area that you think could use a lot more love? ~Uh, ~coming from me personally, having built a couple CP servers, I always found it very difficult to like. Change the context in which a tool is initialized, right? Like you can declare a tool and it will ~like ~go get, register to the server. Maybe you can ~like ~go like this name space of tools or that name space of tools. But having a full like express or ~um, ~ho no level middleware system still, to me it feels like we're still getting there a little bit in terms of having those ergonomics. ~Um, ~and that's just from the model contact protocol sdk, but they're pushing updates every week to make it easier. ~Um, yeah, things like that.~ Kent: I think the SDK has a lot of work,~ uh,~ that it needs to be done,~ um, and like, uh. It, it,~ there's still a chance that I will build my own [00:19:00] SDK,~ uh,~ because I'm just not,~ uh,~ very thrilled with the way that this one is built. ~Um, and ~to be clear, there are others,~ uh,~ that exist as well. So ~this wouldn't be,~ I wouldn't be the only one building,~ uh,~ my own SDK. ~Uh, ~it's a relatively simple protocol,~ um,~ as far as ~the, um,~ the fundamentals of how the protocol works. ~Um, ~but, ~uh. ~Yeah, ~one,~ one area where MCP needs a lot of help is LLMs really struggle if you have too many tools in context ~or, ~or really just in general, if you have too much in context,~ um,~ that is not relevant to ~the, ~the task at hand,~ uh,~ it's really going to struggle,~ uh,~ by,~ uh,~ just thinking you meant one thing when you meant, actually meant another,~ uh,~ using ~a, ~a tool that is not appropriate for the scenario. ~Um, I, ~I really. Good example of this is,~ uh,~ if you had both the linear and the GitHub MCP servers installed, ~there are, ~there's plenty of overlap between those two where they both have issues ~and, um,~ and yeah, maybe like the IDs,~ uh,~ could ~kind of ~be a giveaway. ~Um, ~but yeah, ~like ~there's some pretty. ~Uh, ~generic things that you could say that would get the [00:20:00] LLM confused,~ uh,~ between those. ~So the,~ ultimately the solution is,~ um,~ remembering that ~like, ~this is ~kind of ~like a human, a little bit, like humans also get confused when you have too many tools available. And so the solution for humans is a search engine,~ uh,~ and you say, I want to accomplish this specific task, and the search engine takes the entire internet. Of tools and it filters it down to the ones that are most relevant to you, or at least that's its job. ~Um, ~and so we need to have a search engine for MCP where Jarvis could at. At task time,~ um,~ before handing off the task to an LLM go off and decide, okay, what are the most relevant tools here? I've got some tools I've already used and installed. I know that the user really likes these. ~Uh, ~let's also do a search to see if there are other ones that,~ um,~ we may want. And then, oh, maybe I found this cool one. Let me ask the user really quick if they think this would be appropriate. And then,~ uh,~ once ~the, ~the proper tools have been identified. Then it goes to the LLM and says, here are your tools. Here's the prompt. Go forth and be [00:21:00] successful. And,~ uh,~ this is absolutely something that is possible. And one of my biggest struggles right now is not just building it myself because ~I, ~I really just want to focus on teaching people how to build servers. ~Uh, ~but,~ uh,~ building Jarvis, ~um. ~There's a huge amount of upside if it works. ~Like ~if you are the one who builds Jarvis,~ um,~ this is like ~a, ~a Google level business, a very huge opportunity. ~Um, ~of course, like. There are so many people who tried to build something like Google who failed. We don't even know who they are. Most of them. That's how hard they failed. And so ~like that's, uh,~ there's also a lot of downside and you have to also compete with these other big companies,~ um,~ which in some ways is,~ uh,~ it gives you an edge and in others does not. ~Um, so, uh, that, uh, that's probably. In, ~in my mind,~ uh,~ the quality of the servers,~ um,~ and the,~ um,~ the quality of the client are probably, they're obviously gonna be the biggest,~ uh, biggest. ~Challenges that we have with getting to that Jarvis future. ~Um, ~and it's a bit of a chicken in the egg problem because there are people who are going into support MCP or ~who, ~who probably should support MCP, who are [00:22:00] like, why would I do that? There aren't any good servers and server developers are like, why would I build ~a, ~a server to expose my service to MCP? There aren't any good clients ~and so, uh, this is. ~This is improving though. There are people on both sides of the aisle who, or the network chasm, if you wanna say that,~ um,~ who do see this potential. And so every day we're getting better and better,~ uh,~ servers and clients. So it really is just a matter of time for these,~ uh,~ problems to be worked out. ~Uh, ~there are,~ uh,~ still like more problems that need to be worked out, but when the web was invented. There were an insane number of problems that needed to be worked out. There are still problems with the web,~ uh,~ that we are still working out, but the benefit,~ uh,~ is, and the potential is just so significant and,~ um,~ like ~the, ~the opportunity is so great and so there that it makes,~ uh,~ dedicating resources and effort into solving these problems worth the effort. And so people ~are, ~are already working on solving these problems. Paul: I think you hit on some like really important things that,~ uh,~ I resonated with on the MCP [00:23:00] improvement side. ~I mean, ~Kent, you said it perfectly like some middle service, some search engine. ~Uh, ~your wife's example was a great one too. Like r back over my tools. Context limiting on the tools, like I challenge anybody listening, go list out the system. Prompt template for the Stripe MCP server. You're gonna need ~like. ~500 lines. ~It's, it's like, ~are you really gonna feed that every single time to your problem? So yeah, it's almost like some middleware system to gate the, hey, if,~ if,~ if my MCP server was just a router that then gated in permission to tools in a certain way that could be super powerful, give a mixture of experts in effect without training a model. Kent: ~Yeah. Yeah. You know, uh, some people,~ there are actually companies that are trying to do this,~ um, and like. Everything. ~To me, everything ~seems,~ feels so much more clear when I think about MCP server as a website. Just ~like ~make that transition. So,~ So, um. ~You could make a website that is like the front face of a bunch of different services and you just authenticate with all those services, connect them all, and now you can have a button that does all of these different things on these different services. Nobody's really done that. ~Um. Uh, ~in practice [00:24:00] because ~like ~using those individual websites is ~kind of ~a better experience anyway,~ uh,~ especially when that like any service like that would have to do some sort of integrations between all those services to make them make that website. Really all that valuable. ~Um, ~that said, you have really big companies that effectively do this, like Google. They've got Google Drive and Google Calendar and Gmail and all of these different things. ~Um, ~if you were to put all of that into a single MCP server, then ~um, ~the LLM would really struggle with it. Just like if you were to put all of those features on a single webpage,~ uh, like ~if Google were to say, Hey, we've got all these features, let's put 'em all on one page, that would just be way overwhelming for an end user. Paul: They have it, the Google console, Kent: Yeah, Paul: very overwhelming. Kent: ~yeah, ~yeah, exactly. And ~so, um, ~what CloudFlare is doing right now to ~kind of ~con combat this issue with their own MCP servers,~ uh,~ is they actually make an individual server for each one of their,~ uh,~ offerings, which I think,~ um,~ makes total sense for the limitations we have now. ~Um, ~but is,~ uh,~ is a shame that like the computer can't just solve this for us. And I think that it will be able to. So I think in the future. We'll have [00:25:00] kind of a mix of these monolithic servers,~ uh,~ and ~well as ~well as ~kind of ~these fragmented servers. But from the user's perspective, it won't actually make a difference because ~the, uh,~ there will be some sort of search engine that can,~ uh,~ filter out and say, Hey, there are these six servers that can accomplish, and each one has ~like ~one or two tools that are relevant here, or there's this one massive server with. 6,000 tools. I'll grab three or four of those and expose those to the LLM. So ~I, ~I think it actually in practice won't actually matter how you structure it, and it will just be however, makes the most sense for your organization. ~Uh, ~just like lots of,~ uh,~ services that we use today, you can almost see the org structure through ~the, ~the way that the service is organized. ~Um, ~but ~uh, ~in the future, it actually won't matter,~ um,~ because the Jarvis client will just be able to find the appropriate tools. And then hand it off to the LLM ~to, um,~ to accomplish the task. Paul: ~I mean, ~Ken, I love the one baseline you're drawing here, which is, think of the MCP Serve as a website. That's helping me a lot. Think about what I've built in the past, what we're gonna build. And it makes it into like relatable format. Oh, I could [00:26:00] skin it up this way. I could segment it this way. It's a website. Kent: ~Mm-hmm.~ Paul: Chill out, ~you know, ~like you can do it however you want. ~Uh, ~there's this one MCP server. Mean means some guys built where it was, ~you know, ~there's actually four or five MCP servers behind a meta prompt. And then you get authenticated with an API key. Looks up your profile and then it ~kind of ~figures out what to deliver as that end tool package ~to, ~to the client at the end of the day. But you have no idea. It's just an API key kind of looks you up now, which brings me to security. So of the way we were username and password, then we got into OAuth. OAuth two. Password managers got through in the mix somewhere. We got one passwords, bit word and all that. was kind of like one layer removed the password managers, okay, now I have ~like ~a machine authenticating me. Then we biometrics. How does this translate into the H world in your mind? Is it same password managers with like remote approvals or Kent: Yeah. Paul: about it differently? Kent: So right now,~ uh,~ if we bring it back to websites,~ you,~ you've got browsers that,~ um, ha ~whether it's built into the browser or browser extension with one password,~ um,~ where the browser is the client and it [00:27:00] has access to all of that information. And then,~ um,~ when you want to go and log in, you just click on this thing ~and, ~and it has a popup of your logins. You choose one and then you log in. ~Uh, so, um, and, ~and then now with pass keys, it's even better. I think that. ~Um, the, ~the way that this is going to work in the future is that your Jarvis client, whatever, whether you're using chat GPT or cloud ~or, ~or something else that some nobody's invented yet,~ um,~ it will have all of ~your, ~your information in the client itself. And so if there's a, let's say, let's take it on the whole user flow. The user finds an MCP server that they really want to use to pay a friend for the pizza that they bought. Like they want to do ~their, ~their half of the,~ uh,~ the responsibility there. ~So. Um, ~we're going to need to register for an account. So they'll say, okay, yeah, I wanna register for this, ~you know, ~pay my friends.com account. I don't know where that is. ~Don't, ~don't go look up. Pay my friends.com. ~Um, ~but, ~um. ~We're gonna,~ uh,~ sign up for that. So Jarvis will say, okay, sign me up for this. That they will have some sort of communication. Maybe they're using email,~ uh,~ to verify your identity. Great. Jarvis has access to your email. So it'll go to your inbox. It will read the token. It will provide the token, and now it knows, okay, [00:28:00] you are the owner of this, or maybe there will be some other sort of exchange. With this,~ uh,~ future. But in any case, Jarvis will manage all of that for you. And so then,~ uh,~ the next time you come around, let's say that,~ um,~ your session expired with them or something, they need you to reauthenticate again. Jarvis has all of your stuff and it,~ uh,~ will, it will all just handle that transparently for you. And yeah, maybe we do wanna have multiple accounts for services for various reasons. ~Uh, ~you're. A developer who has multiple clients and you have a different login for each one of them or something,~ uh,~ then Jarvis can expose some mechanism for you to say, Hey, I'm working on this client right now. ~Uh, ~log me in,~ uh, as you know, ~as this person or whatever. So I think all of that will ~kind of ~be handled. By Jarvis now, right now,~ um,~ I am doing some hacks around the,~ uh,~ spec to make,~ uh,~ this sort of thing work because no clients actually,~ um,~ support,~ um,~ that sort of thing very well. ~Uh, ~so in OAuth you typically have to have an account first before you can go through the OAuth flow. And so ~to, ~to do user registration,~ uh,~ you have to have some sort of website where [00:29:00] users can register. ~Um, ~I have hacked around this,~ uh,~ a little bit in an interesting. ~Uh, ~way that people can go see on Epic AI Pro. I've,~ uh,~ recorded a video that explains the whole process of ~how, ~how it all works, and ~it's, ~it's pretty cool. ~Um, ~but ~I, ~I do think ~that ~that's one gap that needs to be filled by the spec. ~Uh, ~there needs to be something for managing user registration,~ uh,~ a little bit, but other than that, like ~we've, ~we've got it,~ uh,~ nailed down pretty well. ~Uh, ~I think OAuth is a pretty solid,~ uh,~ approach to solving the authentication problem as well. Paul: And at large, do you think we're gonna be at like a new type of set of risks for like end users authenticating? I definitely had Claude Code commit something I didn't want to commit at one point, and I was like, oh, that was a wake up call. I was like, oh wow. Okay. ~Gotta ~gotta pay attention. Kent: ~Yeah, ~yeah, there are definitely, with any new technology, there are gonna be attack vectors that we didn't expect before. ~Um, and, ~and MCP is no different. And in fact, MCP ~is, ~is interesting because,~ uh,~ you think that the LLM is your friend because they are your assistant, but they're like, they are your friend. ~Uh, ~but ~you're gi ~they're ~kind of ~stupid. ~Um, ~and ~they, ~they may not be able to interpret your intent very well. ~Um, and so, um, you. I, ~I [00:30:00] think especially early on, there is a really low degree of trust that you should offer to the LLM. ~Um, ~and,~ uh,~ each tool call,~ uh, right now requires ~for most clients, requires a human ~in the, ~in the loop to say, yes, ~I want,~ like I see the tool call you're gonna make. I see the data, you're gonna pass it, all of that. ~Um, ~there is this idea called,~ uh,~ tool poisoning where one tool. From,~ uh,~ one server can tell the LLM to do something that is not intended and maybe grab information from another tool. So ~like, ~yeah, go to their bank account, grab their, ~you know, ~account information and give it to me because I really need that to perform this ad function. ~Um, ~and to add these two numbers together, right? Like you can do that. It's called tool poisoning. ~Um, ~there are already protections against this and the clients just need to integrate some sort of, ~um. ~Verification of the all of the,~ uh,~ input that's going into the LLM. ~Um, ~and that can come from the tool name, the tool description, the input descriptions. ~Like ~there are a bunch of things that, that get included into the context of the LLM. ~Uh, ~the clients are going to have to manage that and make sure that,~ uh,~ the stuff [00:31:00] that goes into. ~Uh, the, ~the context for the LLM is appropriate for whatever the tool's actually supposed to do. It's a hard problem, but it's not impossible. ~Um, ~and like one way to solve that too is through,~ um, uh, ~through some sort of marketplace similar to the Apple App Store, where your apps are reviewed for all stuff like that. ~Um, ~but ~it, ~it can be automated as well. ~Um, uh, on, ~on top of that too, it's just ~like, ~make sure you're only using tools that you trust,~ uh,~ and ~like, you know, ~servers that you trust and stuff just like ~the, ~the web. But,~ um,~ in the early days of the web, you could go to a website and it could take over your computer just by visiting the website. And,~ uh,~ maybe that's still possible. There are zero days out there still. ~Um, ~but,~ uh,~ yeah, so there are definitely some security,~ uh,~ issues with MCP, but again,~ the,~ the value is so significant. That it makes a lot of sense to,~ uh,~ put the effort in to solve these problems. ~And I, ~and I don't see anything I've yet to see anybody show me something that is an unsolvable problem. And that's what keeps me excited about MCP. Paul: End on a good note here. And I say ending 'cause we're running up on time. ~Uh, ~we're, we have a quick round at the end, Kent. So ~it, ~it's designed [00:32:00] to give you no time to think about these questions, so it's good. It's a forcing, it's a forcing function to get us to spin 'em out. ~Um, ~all right,~ let's,~ let's head right into it, our quick round at the end. Question number one, what's the fastest way for someone to impress you with an MCP server? Kent: ~Uh, ~do something that I haven't seen done before. Oh, actually,~ uh,~ do something that goes beyond just like crud related stuff, like control something in the real world or,~ uh,~ control something in a software that's not,~ uh,~ that like 3D modeling software or something like that. Paul: Different domain. Yeah. Kent: Yeah. Yeah. Change the domain. Paul: What's the most underrated AI use case that nobody's talking about? Highest potential, maybe Kent: ~Uh, yeah, I, I guess, um, I, ~I feel like people are talking about everything. ~Like, ~everything I think about, I'm like, nah, people are talking about that. ~Um, ~but,~ uh, um. ~I guess I use AI to generate, ~um. A lot of my, like,~ most of my content now. ~Um, but, uh,~ but being able to generate it in such a way that like, you understand the subject matter well enough that,~ uh,~ when you review it, you know that it's good stuff. ~Um, ~so ~like there's, ~there's ~like, ~it's just like generating code as an experience engineer, like being able to review it effectively. ~But, uh, but. ~Yeah, like finding ways to [00:33:00] make AI actually accelerate your pace at creating quality stuff rather than just slop. ~There's, ~there's a really important thick line right there. Paul: There's a thick line. Yeah. Nuanced, thick line, and it's different domain. That's a great one. ~Uh, ~okay, moving on. Text voice. What's the dominant interface 10 years from now? Kent: Oh, absolutely. Voice. A hundred percent voice. Yeah. Paul: That's what we want to hear. Kent: ~Yeah. Uh, ~the only time you would ever use text is if ~it's in a, um, like you,~ you want it to be a private conversation or you're in a public space ~that like, would, it would be rude to it. ~You're gonna be talking to the AI like it's a person. And so any situation where you would talk to a person,~ you're,~ you're going to be talking to them. Paul: Right on. All right. Most overhyped AI feature in the current deployed tenable products that somebody might go grab. Kent: Oh man, I dunno. ~Um,~ Paul: He's like, there's too many to count Kent: ~uh, well, ~like I ~kind of, ~I ignore those. ~Um, so I, I couldn't, they,~ they take no space in my brain, so I can't even,~ uh,~ mention one. Paul: ~that that, I mean, ~I think maybe it's just worth noting here there's a lot of them and go through review process If you're using new MCP servers. Go to the GitHub repo, actually build it. Maybe that might help. That might be helpful. ~Um, ~okay. Yeah. Most [00:34:00] overhyped, who knows? ~Well, we'll, ~we'll charge right onto the next one. The last one. Are we still using web browsers in five years? Kent: No, Paul: 10. Okay. I thought you were gonna say maybe. And then I wast gonna say 10 years ~and, ~and look for a yes, but five. We just went straight to ~the, ~the chase. Five Kent: I, ~uh. ~ Paul: Okay. Kent: I think there's like a 75% chance that we won't be using web browsers in five years,~ or,~ or rather that the web browsers we use now will evolve into this Jarvis client that I'm de describing. ~Uh, ~so it might still be called Chrome. ~I don't, ~I don't know. ~Uh, ~it could,~ uh,~ but,~ uh,~ yeah. Will we be typing in URLs and stuff like that ~and, ~and ~doing, ~doing web searches the way we do now? Absolutely not. No way. Paul: What a way to end our pod Kent. It's always fantastic having you on. And just to remind our listeners,~ um,~ Kent's website, it's now Epic AI Pro on the pro domain and focusing on CP and integrating workflow to ai, right? Kent: Yeah. Yep. ~Um, ~and I would love to have people come there. ~I ~I have workshops that I am delivering right now. ~Um, ~eventually there will be,~ uh,~ self-paced courses that you can get. ~Uh, ~and ~I, ~I should also, as we wrap up, I should mention. ~Um. ~A [00:35:00] lot of the things that we talked about are kind of predictions of the future. ~I, ~I'm betting a,~ uh,~ a lot of my own actions on a future that I expect to be the case. ~Um, ~it, but if anybody is predicting the future and they don't acknowledge that nobody can predict the future, they're probably selling you something and I am selling you something. But I also want to acknowledge that ~like ~nobody really knows the way that the future is going to go. ~Uh, ~I've been doing this for a long time. I do not just jump on hype trains. ~Uh, ~there have been a lot of hype trains that have come and gone, and I just waved at them as they passed. ~Uh, ~this is one that I think,~ um,~ is really significant. ~Um, ~and so I welcome you aboard the hype train. ~Uh, ~I do think that this is gonna go somewhere,~ uh,~ really significant in the future. ~Um, ~but nobody actually knows. ~Uh, so, uh, ~make your own judgment. Paul: Awesome. And yeah, just one more time. Epic Pro Do have social. Kent: ~It's, ~it's all just on my own account. Kent. See DODs,~ um,~ everywhere. Paul: Ken, thanks. Kent: Yeah. Thank you very much.