MCP is the coming of Web 2.0 2.0

Over the last few months, all the nerds have gotten excited about Model Context Protocol, or MCP. It's a spec that was designed by Anthropic (the Claude folks) last year to let their LLM know how to ask various apps for information or be able to interact with different systems. Then, a couple months ago, OpenAI decided to support the same protocol in ChatGPT, and voila! Now it's a standard that everybody has adopted. It's even in Windows, the official operating system of the late 20th century.

The interesting thing about the rapid adoption of MCP isn't the specification itself. Honestly, the spec is... kinda mid. Compared to the olden days, when specs were written by pedantic old Unix dudes who were never in danger of being gruntled in the first place, they would be scratched out in plain text, with the occasional shouting in ALL CAPS about what we SHOULD and MUST do. MCP is very nearly just a vague set of ideas, a hallucination of a specification, appropriate to the current era, where even the constitution is just a suggestion. A ~~ vibe protocol ~~. But MCP works! And it's open — and that's what counts.

The Real, Open Web

In the real world, on the real web, slightly under-specified protocols that quickly get adopted by all the players in a space are what wins; it's how we got to the beautiful, radical magic of things like "wherever you get your podcasts". This is why the rapid adoption of MCP represents something of a second coming of the ethos of Web 2.0. Maybe we can call it Web 2.0 2.0.

It is important to understand that the current usage of "Web 2.0" is often wrong; people often use Web 2.0 as a term to describe things like Facebook. This is incorrect — closed, proprietary, user-hostile sites like Facebook are what killed Web 2.0. The Web 2.0 community was a bunch of folks building lots of different sites that were meant to have open APIs that let developers (and even users!) explore and connect people and data together in interesting and unexpected and useful and even weird ways. The standard-bearers of the era were sites like Flickr and Del.icio.us and Upcoming, which pioneered things like tags and social sharing. (I got a front row seat to a lot of the open standards work around APIs and protocols through working with the teams that built platforms like LiveJournal and Movable Type, which helped invent a lot of that stuff, too.)

The shared values of the Web 2.0 community was that you built your tools, technology, and platforms around open data and open protocols, with the expectation that users would be in control and that developers would have consistent, interoperable tools for interacting with these systems. At a practical level, this meant that I spent countless hours in meetings or in email conversations with people who were ostensibly my competitors, working through the technical details of how to make sure the products my team was building worked in the same ways that our competitors' did when developers were trying to write code to control them. We were all constantly writing specifications and documentation and sample code to describe how it all worked, and then writing big long blog posts fighting about how it should work.

Bringing Open Back

It's been a full generation since there was an expectation of interoperability between different apps and platforms that developers were using. While we had been so hopeful, the big VCs and tech industry leaders who are in charge now conspired to kill off that era of openness. For example. years ago, I'd helped build a tool that let you analyze your activity on social networks, and the people in charge of the platforms at the big social networks (some of whom are the same folks who are running the platforms at the big AI companies today!) made the decision to shut off the APIs that our product, and our users, relied upon. It killed our service, and our company. The Facebooks and Twitters of the world killed the Web 2.0 dream of open data and interoperable technologies for lots of people, and users lost out. All kinds of stupid situations became routine, like not being able to see an embedded Instagram photo on a Twitter timeline, let alone being able to do powerful things that people on the fediverse or Bluesky take for granted, like being able to import or export your followers, or being able to control your network with whatever app you want.

The rise of MCP gives hope that the popularity of AI amongst coders might pry open all these other platforms to make them programmable for any purpose, not just so that LLMs can control them.

It's cool that other platforms adopted the same spec that Anthropic made for their system. There's a generosity of spirit to a technology platform choosing to be the second to adopt a protocol, if they do it in a faithful fashion. The temptation is to embrace and extend (and eventually, extinguish) the platform that you're copying the protocol from. But if, instead, you act in good faith to say "we're going to make it easier for everybody, simply by using the same interface that this other company did, in hopes of making the whole ecosystem work a little bit better". Well, that's when the magic can happen.

This challenge of just supporting the standard thing is harder than it seems. A while back, when we launched a semantic caching product for popular AI platforms, one of the hardest things to convince our super genius developers to do was to just... use the regular ChatGPT API. "But we can make it better!" they'll say. Developers always say that. But better is worse. Anything that's different is worse. Stop being smarter and more clever, and stop cleaning up that horrible spec that is riddled with inconsistencies, and just ship the same shit as everybody else. You know what was a garbage spec that was missing all kinds of stuff? HTML! And yet here we are, on the wonderful world wide web. The whole internet sits atop a bunch of terrible specs. Jon Postel smiles upon us all.

Demand Conformance

Now that a new generation of developers has had a taste of the wonderful explosion in creativity and possibility that comes from all their favorite tools and platforms using the same protocols and formats, they're going to get hooked on it. It's another one of the reasons that I've been feeling kind of like we're getting 2004 vibes again, mostly in a good way.

I was lucky enough to have that experience in the early days of the social web and during the rise of Web 2.0, between the ascendance of RSS and podcasting, and open formats like OpenID and OAuth and the attempts at creating OpenSocial, which bore fruit many years later as fediverse and ActivityPub. There were countless other efforts that were less successful, or that were more prosaic or that only mattered for things like appeasing Google, but some of them... actually put power in people's hands. Once you've seen it happen, you kind of get hooked on it. You realize that technology, and the Internet, were not actually meant to exclusively be the playthings of a few giant companies, and a few depraved billionaire tycoons.

Developers, coders, nerds, even regular users — we have power. We can demand that the platforms we use give us access to control our experiences using code. We should go even further, and push for transparency about what these platforms are doing when we access them using open standards like MCP. As flexible as the Model Context Protocol is, it's still a totally opaque system when it comes to what a platform is doing with your data, or what actions might happen when you interact via MCP. The security risks are enormously high, and the protocol does little more than hand-wave at those concerns, suggesting that implementers ought to buckle their seatbelts because the vehicle might explode later on. If history is any indication, that stuff won't get fixed until there are some really egregious violations that get a ton of bad press.

Maybe Could Prosper

I'm not a total Pollyanna about the return of Web 2.0-style openness. MCP is not a panacea that's going to fix everything that's wrong about the developer ecosystem. And it certainly doesn't fix all the bullshit and hype that's distorting the conversation around AI, or provide the better criticism about AI that's sorely lacking in cultural discourse right now.

There is a chance, though, that younger developers, and those who weren't around to build back during that last era a generation ago, are going to get inspired by MCP to push for the web to go back towards its natural architecture. It was never meant to be proprietary. It was never meant to be controlled by a handful of dudes at a tiny number of giant companies. It was always meant to be programmable through janky specs that everybody hurriedly adopted just for the sheer joy of something fun to hack on. That was true long before the web had any version numbers at all.