Loading

    ChatGPT Apps (built on MCP)

    Kent C. Dodds
    Kent C. Dodds

    OpenAI just validated what I've been teaching for months: MCP is how users will interact with services. Here's why the Apps SDK announcement changes everything.

    Did you know that OpenAI just made MCP the standard way to build integrations with ChatGPT? Users won't be clicking through your UI anymore. They'll be talking to it.


    I'm incredibly excited about OpenAI's announcement of the Apps SDK today. Why? Because it's built entirely on top of MCP (Model Context Protocol). And if you've been following my work, you know I've been saying this for months: MCP is the new website.

    The Problem with Multiple Chatbots

    Here's the fundamental issue: Your users don't actually want to use your user interface. They want to talk to your application. Sure, you could build a chatbot for your app. But here's the catch: users don't want to juggle 30 different chatbots, especially when they have a single task that spans multiple services.

    What they really want is to talk to one agent that can communicate with all these services on their behalf. And that's exactly what MCP enables and what ChatGPT is now supporting.

    This Is Landing Soon

    We're not talking about some distant future. This is in testing phases right now, and we're only months away from this experience landing in the hands of all our users. I believe this will provide a better experience for users and enable us to serve them better.

    What OpenAI Got Right

    The Apps SDK includes several critical features:

    1. Authentication and Authorization Built-In

    In the demo, when Alexei asked ChatGPT to "teach me something about machine learning" using Coursera, something amazing happened: the app wasn't even installed yet. ChatGPT prompted him to connect to Coursera, triggering an OAuth flow to authenticate his ChatGPT instance with his Coursera account.

    This gives him access to all his private content, courses he's paid for, everything. And it's all built on OAuth 2.1. No proprietary protocols. No new standards to learn. Just standard OAuth that we already know and trust.

    2. Dynamic Server Discovery

    What impressed me most is that server discovery happens naturally based on the conversation. ChatGPT can decide that a specific app is appropriate to answer someone's question, even if the user didn't explicitly mention it. This feels magical to users, but it's just MCP doing its job.

    3. Custom UI with Context

    Coursera's response included custom UI, a stellar feature. You can return custom UI using a special resource, and it can include both visual components and text. Sometimes that combination is exactly what users need.

    But here's what makes it truly powerful: you can communicate with the AI assistant about what's happening inside that UI. The agent understands what you're experiencing in the UI, making the conversation seamless. All you need to do as an app builder is provide the right tools, all MCP-focused.

    4. Adaptive UI Presentation

    The demo showed different UI presentation modes:

    • Carousel for Canva's design iterations
    • Full-screen for Zillow's property search with rich filtering

    In the Zillow example, the UI became the main character, but the chat interface remained available. This meant users could interact with filters using natural language instead of learning Zillow's interface. Users don't want to learn your interface. They want to say what they want and have it happen.

    OpenAI as the Universal Chatbot

    This user experience (making the UI the main character with a chat interface to control it) is really powerful. OpenAI basically just made it so you don't need to build your own chatbot. OpenAI IS the chatbot, and you just expose your service to OpenAI appropriately.

    Some Concerns (and Why They're Not Dealbreakers)

    The Directory Model

    OpenAI has a proprietary directory of servers that are allowed to be accessible. You can't just point ChatGPT at any MCP server. It needs to be in their directory.

    I prefer the open web model over the App Store model. I think the web is great precisely because you don't need permission to join it. You just get a URL and boom, everyone can visit your website.

    That said, there are legitimate trust, privacy, and security questions we're still working out as an industry. It makes sense that OpenAI is starting with a more closed ecosystem with specific guidelines around server capabilities, descriptions, authorization, and so on. I hope it opens up in the future, but I understand why they're starting here.

    The Custom UX Approach

    The way they handle custom UX is currently proprietary. There's a specific openai global variable you use to communicate between your UI iframe and the parent frame.

    I'd prefer something more standard, like MCPUI, which is already usable in other apps (just not ChatGPT yet). But here's the good news:

    1. I actually really like this API. I've read through all the documentation, and it's well thought out.
    2. I've already talked with folks from OpenAI about this, and they want this to become a standard, not remain OpenAI-only. They started with the openai global variable because they want to validate their decisions before entering a standards process.

    Based on my experience with OpenAI folks over the last several months, I genuinely believe they care about standards. That's really encouraging coming from one of the top players in the AI space.

    What This Means for You

    I've been telling you for months that MCP is basically the new website. This announcement from OpenAI validates that prediction. If you believe, as I do, that this represents a fundamentally better user experience, then now is the time to start learning MCP.

    The fundamentals I've been teaching (MCP basics, advanced features, MCPUI, authorization) all apply directly to building apps for OpenAI's new Apps SDK. The skills you learn building MCP servers today will serve you well as this ecosystem evolves.

    This is a really good thing for users. The user experience is phenomenally better when they can just say what they want instead of navigating through interfaces. And that means it's a good thing for us as developers too, because we can serve our users better.

    The future is conversational. And it's built on MCP.

    Share

    Hey everybody, I'm Kent C. Dodds and I am super excited about the apps SDK that was announced by OpenAI just today Because it is built on top of MCP. What have I been telling you? MCP is how users are going to be interacting with your services in the future and OpenAI has adopted this in a huge degree. So I'm super excited about this and especially excited about the demo that they showed to us today because this is exactly the way that I expected MCP to turn our user interaction model to.

    So here's the quick rundown of why this all matters. Your users don't want to use your user interface. They want to just talk to your application. But you could say, okay yeah great I'll build a chatbot from a app, But the users don't want to have to talk to 30 different chatbots, especially when they have one task they want to complete that's related to all of these different services. So instead, they want to talk to a single agent that can talk to all of these other services for them.

    And that's exactly what MCP enables and what ChatGPT has announced that they will be supporting very very soon. So it's in testing phases right now but we're months away from this experience landing in the laps of all of our users and I'm so excited about this because I think that it's going to be a better experience for users and it's going to make it so that you can serve your users better. So here he talks also about login, so authentication, authorization, monetization, all of that is going to be built into the apps SDK which again is built on top of MCP which is so so cool. He gives a quick demo of using Figma to do cool stuff and Spotify but then Alexei comes out and gives this actual like live demo of all this stuff working which is pretty awesome and one thing as he starts out he's saying okay Coursera teach me something about machine learning and the cool thing about this is that this has not been installed yet So right here connecting to app is what's happening and at this point we go through an OAuth flow to authenticate Alexi's chatGBT instance with Coursera so that he has access to all the private stuff that he's paying for or whatever, which I think that is like fantastic.

    That's exactly the way that this should work. And it's all built on top of the MCP protocol for authorization. So this is OAuth 2.1, No new proprietary thing that needs to happen here. And the fact that the server discovery just naturally happens based on the conversation is really, really awesome as well. So now, in particular, he referenced Coursera specifically, but he also mentioned that ChatGPT can just decide that an app is appropriate to answer somebody's question rather than using a built-in tool or something Which I think is really really awesome as well.

    Now Coursera responds with custom UI Which is like stellar now you're able to just with a special resource, return some custom UI. And on top of that, it also, of course, includes text. Sometimes UI and text together is exactly what the user is looking for. But on top of this, you're able to communicate with the AI assistant, and it is able to know what's going on inside of that UI as well, so that you can talk with the agent about specifically what you're experiencing in the UI, which I think is super super cool. All you have to do as the app builder is provide the right tools and again all MCP focused, which I just think is fabulous that it's on an open standard.

    Taking this further, now we're talking about Canva, talking with Canva and generating this. You'll notice that this is gonna be a carousel experience. And so, ChatGBT has implemented a couple different mechanisms for displaying UI that make the most sense for the scenario. We'll talk about that here in just a sec, too. And taking that further, now we've got this Zillow experience.

    And with Zillow, it decides, hey, you know what? This needs to be full screen, because I've got a lot of stuff that I need to show here. And I really like this user experience, because it allows the UI to be like the main player here, the main character. But then we still have that chat box so that we can chat with the AI and on top of that even though we have this filtering capability inside of Zillow we are able to interact with the UI using natural language and This is so great because your users don't want to learn your interface, they want to just say what they want to have happen and then you make it happen. All you have to do is expose the right tools to make that happen and I think that is really powerful.

    This user experience of making the UI be the main character and then adding a chat bot or like a chat interface to control that UI is really powerful. So OpenAI basically just made it so you don't need to build your own chatbot. OpenAI is the chatbot and you just expose your service to OpenAI appropriately. I think that is a super super powerful piece to all of this. So super happy with this.

    I'm excited that OpenAI has adopted this. Now a couple of things. Here's the documentation on how all of this works. OpenAI does have a proprietary directory of servers that are allowed to be accessible, so you can say, hey I need a playlist of music for this thing and it will suggest Hey, here's Spotify app that you can use but it might not suggest something else. That's not in the directory and I would like this to be more like an open web thing because I think that the open web is great and you don't have to get permission to be in the web, you just get a URL and boom now everybody can go to your website and I think that is great.

    That said, there's a lot of trust and privacy and a lot of unanswered questions around all of this stuff that we're still trying to work out. And so I think that it makes a lot of sense that they have a directory with like specific guidelines on how you can, what your server can actually do and the descriptions of the text and the authorization and different things like that. It makes a lot of sense that they're going to start with kind of more of a closed ecosystem. I hope it does open up in the future. I prefer the web model over the App Store model, but either way, MCP is going to be a big part of all of this.

    The other thing that kind of disappoints me a little bit is the way that they do custom UX. This is proprietary. Having a specific open AI global variable that you use to communicate between the iframe that is your UI and the parent frame, I think that would be better if it were more of a standard like mcpui, which is a thing and I just finished teaching a bunch of people about MCPUI. It's usable in other apps, not in chat GPT. But the really cool thing is, two cool things.

    First of all, I actually really like this API. I feel like it's really well thought out. I've read through all of this and I think it's great. The other thing is I've talked with folks from OpenAI already about this and they do want this to become more of a standard than just be a proprietary OpenAI thing only. And so they start with OpenAI as this global variable just because they want to make sure that it's a good setup, that they've made all the right decisions, and then they can get into a standards process.

    And based on the experience that I've had with OpenAI folks over the last several months, I feel like they actually do care a lot about standards. And that is really encouraging coming from one of the top players in the AI space. So I'm very enthusiastic about what they're doing there. And I'm just enthusiastic. I've been telling you this stuff for months that MCP is basically the new website.

    And I think that this is going to be a really good thing for users because the user experience is just so phenomenally better. And so if you believe that as well, then I invite you to join me on epicai.pro.newsletter, where you can sign up and we can talk about this more. I've got a bunch of courses about the fundamentals and advanced features of MCP. I do talk about MCPUI and authorization and all of the things that you need to know to be able to build apps for OpenAI as of today. And so I'm very excited to offer that to you very soon, so sign up here and you'll be the first to hear about it.

    Thank you so much for joining me and have a beautiful day.