Model Context Protocol, Product Demos, and the New App Store
The Model Context Protocol seems to be ushering in an exciting new type of App Store, and while it's all a bit messy right now, companies should be paying close attention to this topic.
There is a scene in the 2002 movie Minority Report where Tom Cruise is standing in front of an impossibly cool monitor. He’s using his hands to control the interface, rotating and swiping to display, move, and dismiss screen elements. The movie premise is pretty interesting, but it was the scenes with these fantastical computers that really left me in awe. At the time, REST APIs were still largely an academic musing found in Roy Fielding’s PhD thesis, Apple was in such a state of financial distress that at year’s end the stock closed at $0.22 (that’s cents, not dollars), and Microsoft’s Internet Explorer browser still dominated the web. Needless to say, the real world of computing looked far different than Minority Report’s fantastical interfaces.
I think we’re on the verge of moving a lot closer to my idealized computing environment thanks to an emerging technology called Model Context Protocol (MCP). The official website defines MCP like so:
MCP is an open protocol that standardizes how applications provide context to large language models (LLMs).
This definition is fine, albeit one that largely only makes sense to programming nerds like me. For everyone else, I prefer to define MCP as such:
MCP offers a way to expose all or part of a software application to another computing environment in such a way that the end user can create entirely new interfaces that wouldn’t otherwise be possible to create.
Let me show you a concrete example in order to explain my thinking. Check out this infographic:

Looks like some slide in a boring sales deck, right? Wrong. It is much more exciting than that. This was generated on-the-fly by Claude Desktop in response to this prompt:
Use the DreamFactory MCP to show me the weekend Heroku trial numbers and display it in a Canva chart.
Even more impressive, the charted data was pulled from Snowflake. So this data was pulled from a Snowflake database by DreamFactory’s MCP server, pumped into Claude Desktop, and the graphic was built on the fly by Canva’s MCP server. Not to be too dramatic here, but this type of integration wasn’t technically possible even three months ago without involving a programmer. Here’s another example:

This dashboard was generated from a PostgreSQL database (also coincidentally retrieved by DreamFactory’s MCP server). The prompt was:
Create a chart of recent orders
In both cases, imagine a user making these sorts of requests, viewing the output, and then moving on, effectively throwing away (or swiping, in Minority Report speak) the interface. My friend and former colleague and now O'Reilly Director of Content Jon Hassell referred to these throwaway interfaces as "disposable user interfaces", or DUIs. The acronym seems a bit questionable but it is nonetheless a very apt term.
How about a Minority Report-themed dashboard? Coming right up:

This dashboard was generated from a combination of PostgreSQL data, one of my Google calendars, and an array of random quotes. The clock and date located at the top right are dynamically updated. Go to this link and you’ll be able to see the entire interface because I published it as a Claude Artifact.
The New App Store
MCP servers are installable by any software which supports them, known as MCP clients. Claude Desktop is an example of an MCP client, and as the screenshot below shows, Claude is already making it pretty easy to install other MCP servers:

If you click the Add Connectors link, you’ll be able to browse several more:

This interface is reminiscent of another application that has in recent years been one of the largest revenue generators in the history of the world: The Apple App Store.

You know what else this all reminds me of? Citrix Workspace Microapps. If you’ve never used Citrix Workspace, it’s a way for corporations to manage application availability across a workforce. A microapp can be thought of as the extraction of a specific feature within a larger application, such as expense approval. If you’re a manager then it isn’t very fun to constantly login to SAP Concur to approve expenses. The idea behind a microapp is that a mini-app can be created which can for instance send push notifications to the manager whenever expenses require approval, or the manager can open a niche user interface which only contains the minimal data required to review and approve expenses. If you’re interested in this sort of thing, a few years ago I actually co-authored a short e-book about this topic which you can download for free from here.
But I digress. Anthropic's desired end state seems pretty clear: they want to build the next generation app store, with the primary difference being this app store is going to make it possible for an entirely new generation of applications to be created by interweaving multiple MCP servers together. And I'm here for it. Furthermore, I think every software company should be actively experimenting with this technology, because it provides an entirely new way to put your product in front of users who might not have otherwise tried it.
Distributing MCP Servers
I’ve been talking a lot about Claude in this post, however Claude is only one of several popular applications that support MCP servers. For instance I regularly use the GitHub and Stripe MCP servers inside the coding IDE Cursor. ChatGPT also supports adding MCP Servers although they’ve managed to bury the option inside a Connectors submenu found in Settings:

Interestingly, if you put on your mining helmet and dig deep, deep into the GitHub Settings interface you’ll find that it’s possible to even add MCP servers to Copilot:

By the way, any software product that can add and use an MCP server is logically referred to as an MCP client. I predict we’re just a few years away from all mainstream software doubling as an MCP client, and don’t think it is a stretch at all for operating systems to follow suit.
At the moment, unless your MCP server is one of the anointed few showing up in Claude and ChatGPT’s directories, you’re going to need another solution that allows users to obtain and install your server. This is at the moment a pretty ugly process, often involving editing a JSON file like this:
{
"mcpServers": {
"df-mcp": {
"command": "node",
"args": [
"/Users/wjgilmore/df-mcp/build/index.js"
],
"env": {
"DREAMFACTORY_URL": "http://127.0.0.1/api/v2/pgsql",
"DREAMFACTORY_API_KEY": "12345"
}
}
}
}
Yuck. However, progress is being made on several fronts. One of the most interesting developments in this area is a new open format called Desktop Extensions, or DXT. You can use the DXT packaging tool to very easily create an clickable MCP server installer. I’ve already managed to successfully build a DXT-based installer for DreamFactory’s MCP server. If you want to try it out you can download it from GitHub.
Cursor has created its own solution for adding MCP servers to their namesake IDE. I don’t think it has an official name, and seems to be generally called the “Add to Cursor” button. That’s right, you just click a button and it will initiate installation of an associated MCP server. You can view a list of available buttons here.
MCP server authentication is also pretty messy. At the moment two options are available: API keys and OAuth. If you install any of the MCP servers found in Claude’s connector directory, you’ll see the latter in action. That said, I think there are plenty of convenient opportunities to take advantage of API key-based authentication, particularly since if you use DXT format then the API key will be securely stored in the operating system keychain.
Where to From Here?
I’ve spent 20+ years in the tech sector, and because of it usually find emerging technology to be practically radioactive due to instability. MCP is a rare exception. I think this has the potential to change the way the world uses computers, and because of it I am extraordinarily bullish on it. Whether you’re bullish or not, I’d love to hear your thoughts! Email me at wj@wjgilmore.com.