Skip to main content

The Model Context Protocol (MCP)

TL;DR

  • The Model Context Protocol (MCP) standardizes how AI applications, particularly Large Language Models (LLMs), receive context through tools, resources, and prompt templates. It aims to simplify the integration of AI into workflows by providing a consistent interface.
  • Developed internally at Anthropic and released as an open standard, MCP gained organic adoption due to its ease of use, allowing developers to build servers that seamlessly extend LLM capabilities into real-world applications.
  • MCP's open-source nature fosters a broad ecosystem of integrations, shifting the focus of innovation from proprietary integration building to enhancing model intelligence and AI-driven workflows, with future developments supporting more advanced agentic behaviors.

Takeaways

  • MCP (Model Context Protocol) is a standard way to provide context to AI applications that use LLMs, simplifying how data from APIs or internal sources is ingested by models.
  • The protocol exposes three core elements: tools (actions the model can take), resources (raw data like files or text for context), and prompts (user-editable prompt templates, often triggered by slash commands).
  • MCP originated from the need to reduce friction in copying information between developer tools, becoming a general solution for integrating LLMs with various applications and even physical devices.
  • Its open-source design encourages broad adoption by lowering the barrier for developers to build integrations, ensuring long-term viability and fostering innovation across different AI applications.
  • The ease of creating an MCP server allows developers to quickly enable an LLM to interact with new systems or data, leading to a "magic moment" where the AI application appears to gain new capabilities.
  • With more intelligent models like Claude 4, MCP's primitives for statefulness and long-running tasks will become increasingly important, enabling more sophisticated agentic behaviors.
  • Future developments for MCP include a registry API that allows models to dynamically search for and integrate new servers, enhanced support for long-running tasks, and elicitation mechanisms for servers to request further user information.
  • New developers can start by exploring existing MCP servers, experimenting with basic "hello world" examples for tools, resources, and prompts, or using AI tools like Claude Code to generate an MCP server from documentation.

Vocabulary

MCP (Model Context Protocol) — A standardized protocol for providing context to AI applications, particularly Large Language Models. LLM (Large Language Model) — An artificial intelligence model trained on vast amounts of text data, capable of understanding and generating human-like text. AI application — A software application that incorporates artificial intelligence capabilities, often leveraging LLMs. Tool — Within MCP, an action or function that an LLM can invoke to interact with external systems or data. Resource — Raw data (e.g., files, text, structured data) provided to an LLM as context for its operations. Prompt — The input text or instruction given to an LLM to guide its response or action; in MCP, often refers to user-editable templates. Prompt template — A predefined structure or partial text for a prompt, often used to save time and ensure consistency when interacting with an LLM. RAG pipeline (Retrieval Augmented Generation pipeline) — A system that retrieves relevant information from a knowledge base and uses it to augment an LLM's generation process, providing more accurate and contextual responses. Open source — Software whose source code is made publicly available, allowing anyone to view, use, modify, and distribute it. Agentic loop — A process where an AI model (an "agent") repeatedly perceives its environment, reasons, plans, takes action, and then observes the results to continue towards a goal. Registry API — An Application Programming Interface that allows LLMs to dynamically discover and integrate additional MCP servers or capabilities. Elicitation — The process by which an MCP server can ask a user for more information or clarification when needed to complete a task. Statefulness — The ability of an application or system to remember and utilize past interactions or data in its current operations, maintaining a "state" over time.

Transcript

The round the time in September we had an internal hackathon, and everyone was free to build basically whatever they wanted to build. But it turns out that everyone just built an MCP. It was crazy. Everyone's ideas were, oh, but what if we made this an MCP server? Hey, I'm Alex, I lead Claude Relations here at Anthropic. I'm Theo, I'm a product manager on MCP. I am David, a member of TechPicture Staff at Anthropic, and one of the co-creators of MCP. Today we're going to be talking about the model context protocol and diving in deep into what it is and what's next. Thank you both for coming on. I'm very excited to talk about MCP. But first, there's a lot of talk about MCP, and not a lot of maybe real deep understanding what it is. Can we dive into how you view MCP and what it really means to be using MCP for building on it? MCP is just a way for putting my workflow into like an AI applications in a very simple way. I think that's how I really wanted it to be initially, or that's how we wanted it to be. But it's just a way to give context to an application that uses an other lab. And that's just as simple as that. And it can be tools, it can be just raw context. What have you like it to be? How is that different than you calling an API or something like that? It's passing this information from one place into the prompt, basically, of the model. What makes it MCP special here? I think the question is, what do models interact with? And they don't interact directly with APIs. They interact with prompts and tools, and whatever you're giving the model to ingest. And so MCP standardizes how you take that data from whether it's an API or some internal data source or whatever it is, how you take that data and then actually give it to the model. So this is a protocol that, so it's defining that sort of interaction pattern. What are the main aspects of this protocol that you have that has to follow? The main part is that it's a protocol between the AI application that uses an LLM and it exposes basically three main things. It's tools, it's a set, a thing called resources, which is just raw data that you could ingest into a rag pipeline or whatever you wanted to do. And there's problems. And that's the three main things that a server can expose for now. So tools are actions that the model can take out in the world. Resources could be files, text. Yes, files, data, whatever kind of context you want to give the model. And then prompts are just like what user wants to put into the context window by themselves and just like triggered by the user and just put into the context window and then they can edit it as they want to. That's really what's prompting for it. I prompt templates in the end of the day. Prompt templates, I say. So literally defining the prompt itself. Yeah, we typically see that being implemented as a slash command. Okay, okay, I say. So if you're in the AI application of your choice, you do a slash command and it pull in the prompt template. Exactly. Save you time from having to write that out, whatever it is. Okay, that's MCP edits. It's most basic form. There's definitely a lot of nuance in there. What was the origin of all this? Like how did this come about? The origin I think is like the most basic thing is that I worked on internal developer stuff and I got very quickly frustrated about having to copy things in and out of Claude desktop and then copying things back and forth between my IDE. And that's just really what I was thinking about. Like how can I solve copying, pasting, the things I care about the most between these two applications? And that's really the the opposite origin of where MCP started, at least in my mind. And then from there, I explained that to Justin who is the other co-creator. And he really took it and ran it and then we together just spilled it out and built into Claude desktop. And I think there was a pivotal moment that you alluded to. Do you want to talk about the hackware? I feel like you should take the story. Okay, yeah, the hackware was fun. We were really sure it's just going to work. But at the round of time, like in September, we had like an internal hackathon and everyone was free to build basically whatever they wanted to build. But it turns out that everyone just built an MCP and it was... It was crazy. Everyone's ideas were, oh, but what if we made this an MCP server? Yeah, yeah. And we had everything from people doing very standard things like Slack integration or things you would think of when you think MCP, up to people who like steered their 3D printer with MCP. And I love this when it got into the real world, when like Claude got into the real world because of an MCP server. What was it? I remember that too when we were doing all these hackathon projects and there was no mandate for us to use MCP. This was just like an entirely organic thing. Why did people gravitate towards MCP for all their projects? I think it really was that standardization layer. It just made it so much easier to add context to the application because the moment that Claude is now integrated against MCP, that means as the server builder, you can build one, two, ten, twenty, however many servers you want and you know that it will automatically work with that application. And so I think that just gives you the ability to only think about one side and not have to think about the other side. I think it is a bit of a magic moment when you teach Claude something new using an MCP server for the first time and you see it takes action about something you care about. And I feel that's a little bit of a moment of magic that I think MCP captures really well which makes people so excited because within 5 minutes it's something going. Right, right. Yeah, I've seen it myself and I mean even experienced it where it almost feels like you take a Claude out of the box so to speak. And all of a sudden instead of just being this thing that is just right there outputting text, it's doing other things. It's calling other applications, fetching other data or even operating a 3D printer which is a really crazy thing. And that does feel really special and I guess MCP allows that pretty seamlessly to some degree. So this was back in end of summer or early fall as we were doing these hack week and these other things. When did we launch MCP and what did that look like? We launched MCP around Thanksgiving. Yeah, November 2024. And how was that launch? What was the reception? Slow at first. I think everyone's response as you can imagine. Well, some people still have this response as it was MCP, right? We naming it hard. We definitely could have named it better. It's arguable now. It's going to have caught its storm. I know. Certainly. I don't know if it's anything. But you still get the like NPC instead of MCP. And then it makes me think NPC. Yeah, yeah. But yeah, acronyms are hard. But you had a lot of people asking what is MCP? Not just externally but I also think internally because it was such a bottoms up movement. You know, initially people were like, oh, what is this thing? What does it mean to ask or to give the model context? And then as people started playing around with it and seeing it for themselves, I think that's where it actually slowly caught steam. And the turning point was when the more and more clients started adopting. So I think the IDEs were the first to adopt. More recently we've seen a lot of adoption for model providers. And that's kind of created a lot of waves in the market to incentivize a lot more server providers to actually build servers. I think one of that part is like, you see so many times on social media, like what is MCP? Why would I ever want this? And then like a month later, a few days later, they're going to be like, this is the best thing I've done. And you can bring out these stories and it's so funny. Yeah. So now I've become, I think it's fair to say, like industry standard of like integration protocol. I mean, there's nothing else in my mind that kind of rivals it. But I think like going back to the launch, a key decision here was to actually make this open source. And that was pretty different in comparison to maybe previous efforts in this area that had been launched. Can you explain the reasoning behind that decision and why did we open source it? Yeah. If you have a closed ecosystem for integrations and for context to be provided to AI applications, then it isn't clear to the server builders or the integration builders. Is that AI application going to be around forever? Should they invest in that? Which ones should they invest in? And so by making it an open standard, you really kind of decrease the friction to even building those integrations. And we believe that the value of building an AI application is not necessarily which integrations you have access to. But the model's intelligence and the workflow that you build on top of the model. So we wanted to focus the industry on those two things and not necessarily on building integrations. That makes sense. And there also seems potentially like with open source, there's this kind of cycle you can get into where somebody contributes to a server. And then like somebody uses it and they notice bugs in it. And then they're like, oh, I can just go fix it myself. And that maybe speeds it all up. There's another part of that, Justin and I just like open source. That's sometimes it's the simplest thing. Yeah. So now we have lots of companies adopting MCP into their own products. We have lots of other developers and companies creating servers to be able to use all these, or to be plugged into all these clients. What does this look like across the industry now? What's like the current state of MCP? The current state is that we have major players adopted across their products. We have a really big ecosystem of MCP server builders, it's like 10,000 plus. And it's like at this interesting intersection that initially was mostly focused on developers and a very local experience where the servers were to run local. And it's offering you the use it with a run local. And I think we have this inflection point where now we're starting to see these servers being hostile. In the Claude, as a web thing, through what we call remote MCP. And a Claude AI integrations is really the first big entry to that that allows you to connect just like a website, like the offer to an MCP server into your day-to-day Claude AI workflow. And I feel this is a pivotal moment where it can be a truly standard for the web, for how LLAMs interact with that. I think this is to see what is going to work out. But I think that's where we're currently at. And we do, of course, have increasingly bigger community been built around this. And this is like big companies. But there's also like sometimes just open-source people who just like working on MCP and that's just becoming bigger. The craziest thing is someone fixed our docs this morning. So we had an image that was out of date and they just submitted the PR. That's why you want to do that. I love that. The community gets behind it and they also fill ownership and want to maintain it as well. And it seems like, I mean, we're chatting about this before we start filming. There's a lot of things happening in the MCP world too outside of just like working on the protocol. What's going on in your world these days with MCP? Yeah, it has a lot, right? There's conferences on the MCP. There's just a lot of conversation. There's partnerships where we work with big companies on like evolution of the specification and what their problems are. I learned a lot about enterprise deployments and the needs for identity and authorization in that space. I will ask you months and help from some of the best people in the world around this. And that's just like a little bit of that world of MCP at the moment. That's awesome. Yeah, I'm just blown away by the response. And I'm starting to see now online posts around, is this what it looks like to witness the birth of a new protocol? Is this what it was like to be around for HTTP or something like that? How would you guys like in those comparisons? Is this a new protocol of that sense? How can we expect to frame this in comparison to things we've seen in the past? I mean, I would hope so. None of us can see the future. Not gone wood that we've landed on the right thing. But I think that's where the community can help guide us. The hope is that we have hit on the right problem of providing context to LLMs. And that we have thought far enough ahead that all the right building blocks are there. And the community can help guide us as we're evolving it into kind of the next few steps. I think from my perspective, we just need to build something that people want to use and build this together with people who care about this. And I think like you don't need to compare HTTP or anything else. It's just like just make something that people want to use. That's an end of it. So if I'm a developer and I'm new to MCP and I want to become involved and I also want to learn a little bit about how to work with MCP, do you have any tips for this person? I think the first thing that I would do is go look at an existing server that is online, go play around with it, see how it works with Claude AI or Claude Desktop. If you want to play around with local MCPs, but just going to feel for what that interaction pattern is first. And that will make it much easier for you to then build your own MCP. And start with the classic, you know, hello world, just do one tool, just response with hello world, do the same thing for prompts, resources, just try the very basic thing for each before you go into anything more complex. And I think once people get a feel for that, they realize how easy it is. Yeah, I would start to just start local. With Claude Code and just wipe code like an MCP server and just go from there, I think that works actually surprisingly well with like 10 minutes, you can have something. And then yes, what the OSAD just like look at great servers and what they do and make the modification from there. Yeah, it's funny, you say that I was experimenting the other day with just getting the docs, model context protocol. Yeah, facing it in the Claude Code. Yeah, just for like make me a server. Yeah. And I didn't even have to like paste in the content or anything Claude Code when grabbed it, fetched it, brought it in, made the server. Yeah. It was like a very easy example right there of just how quickly you can get started with some of these things, especially when you've caught under the hood powering it. Any favorite MCP servers that you guys have seen out in the world so far? I really like those MCP servers that bridged the gap to like the real world. Like I'm a person who likes music and I have synthesizers at home and there's an MCP server that someone created to like create basically like control there like synthesizer. And I just love that. Here's Claude interacting with a physical device that later makes music and that's just so cool in my mind. I love those. And I love the creative ones. I love the ones where people play around with Blender. I love the quirky ones. Like one of our team members has Claude control his door through like an MCP server and like role play a door man. And it's just like I love that creativity. I mean really with that it's like the possibilities are endless. Anything that you could ping through an APR or anything you could wrap in an MCP server and then control it with Claude or another LLM. And the Blender one explain that so somebody was actually using Claude to control Blender just through MCP. Yeah, basically it's just like the MCP server just writes like Blender scripts into Blender and you see in you know there's lots of videos you should check it out. It's like you just see Claude calling these tools and on the side Blender just creates like a scene you don't know where. And it's actually just not the pertinent's Claude creating it and I love it. That's awesome. I love that. Let's switch gears a little bit so we just recently released Claude 4. So Opus and News on it. What is this enable for MCP and how does this connect into this broader theme we're seeing around agents and AIs that can kind of operate on longer time horizons? As we get into models with more intelligence you can do longer running tasks. I think some of the primitives that we've actually built into MCP are going to become more used that right now may not have gotten as much adoption. So you know things related to statefulness, things related to actually doing sampling. But those are the primitives that we thought about in the beginning that actually help in an agents world but do require the models to have the amount of intelligence where they can kind of start doing longer running tasks. That's interesting. So some of these things that maybe haven't been utilized so much just yet will become more and more important because the models just get more capable and they're able to use them. It all just makes it probably easier to like put more on MCP servers like attach it and Claude is just going to get better and better and like distinguishing which one it needs to make to take action. How many MCP servers can you throw at Claude at once? How does it know how to choose between them? It's a good question. It depends on how the tools are written out there overlapping. If you put like three issue tracker and see PC servers next to each other, of course the model can get confused. But if it's like an issue tracker thing and I don't know something completely different like I don't know whatever. I think that it becomes fairly easy and then you can put a lot of the next to each other. Just a matter of like if you work flow and how are we lapping the R&D of it there? I see. And I'm assuming as models get more capable and intelligent it becomes like you can throw more and more at them too. So what's next for MCP? The protocol is now live. There's good adoption but we can do a better job of helping people understand what it is. So we're definitely going to invest in more example as better documentation. We're also investing in key security primitives. The thing I think most people are going to be excited about is agents and how we're thinking about agents. So for agents, one really big ship that's coming is the registry API. So that is going to allow models to actually go and search for additional servers that they can then bring into the LLM. That then allows kind of a little bit more of an agentic loop since the client doesn't just get to decide. Here are the 10 things that I am aware of and that I want the model of context to the model can now go and search for more things on demand. The second is long running tasks. So actually making it easy for you to do longer running things with MCP. And then the third one is elicitation. So how do you as a server actually go back and ask the user for more information if you need more information? Well, I'm very excited to see what the future holds for MCP and thank you both for coming on. Thank you.

Feedback / ReportSpotted an issue or have an improvement idea?