Home

Published

- 5 min read

Headless software

img of Headless software

MCPs all the way down

MCPs are taking over. You can imagine a world a few years from now where every single service on what we currently think of as the web has become an MCP. The SaaSpocalypse is clearly coming for some software-only businesses: those with no moat, that aren’t a system of record or have legal or regulatory/compliance hurdles limiting new entrants - these businesses are in trouble. For everyone else, they’re probably going to become MCP servers that your chosen AI integrates to. We’re only at the beginning of this transition now - but as MCPs start to become available for more & more services, the advantages of being able to get my AI to interact with them and automate tasks are already clear. The competitive pressure will be huge: once AI is an acquisition channel, if you don’t have an MCP server, but your competitors do, you’re going to lose out. Even though it means disintermediation. Even though it means your brand-equity will take a hit. Even though it means your opportunities to up-sell and cross-sell and advertise take a hit. Even though it means the investment in that shiny new website is probably wasted…

Unbundling

But I’m starting to see a new, if related pattern. Most applications are basically:

  • A data store
  • Some business logic and rules for how users are allowed to interact with the system
  • An interface to surface data and decisions to the user
  • An interface for entering data and making decisions

The business logic is wrapped up behind MCPs. The mechanics of what types of interactions and what data can be surfaced are also behind MCPs. But Claude’s ability to create on-demand Artifacts means the user interface can now become dynamic. This is application unbundling: the interface & the business logic are becoming unbundled. The business logic is still owned by the MCP - but the logic of how to display data & content to the user, how the user interacts with it, how data and decisions are captured - these are all decisions the AI can take, with direction from the user. We’re moving into a world where the AI can build an interface perfectly tailored to the specific task the user is accomplishing.

Personalised UI

This is a very different world from shrink-wrapped software - designed for the common use case, optimised for how an average user thinks, for how the product team think the user thinks! Instead, we can start to move into a world where interfaces are built to people’s individual preferences. Where an activity that crosses multiple tools can be unified into a single UI that simply wouldn’t exist today.

For example: imagine I’m planning my family’s meals for the week. This normally involves a few different applications: I have a load of recipes somewhere (Notion), I need to plan which meal we’re having each day (a note in Google Keep) and I need to buy the ingredients (Waitrose online shop). This is an activity that crosses mutiple applications - where there clearly could be some simple, unified interface (maybe this app already exists, I’m afraid its doomed). Personalised UIs means I can get Claude to build me a one-off artifact to plan these meals, pulling recipes from Notion and updating my shopping cart on Waitrose. I don’t need an app. I don’t even need to build one - I just get Claude to create the UI as I need it, with MCPs handling the various backends. And if my process changes (I add some scanned recipes from a magazine etc), Claude can deal with that and integrate it trivially.

Charity Majors talks about software being the killer app for LLMs; and I think this is it - never before has it been possible for end users to build applications perfectly tailored to their task. Its a truism that developers got the best tools - because we were our own customers. As software product thinking has evolved, there have been some amazing products created. But the best products are ones perfectly suited to the task you’re carrying out. Instead of a product team having to guess, measure, test & refine the user interface, we’re moving into a world where end users will specify them, live.

This creates a whole new type of application: an application without a defined interface. Startups offering just an MCP service. No website. No app. No UI at all. Just MCPs. The user’s AI will build the interface they need - we’re entering the era of headless software.

Intelligent operation

As MCP tools become more granular, it also allows a degree of intelligence to be applied that applications rarely, if ever, implement. Going back to the meal planning app - if Notion is down, I don’t need to code in retry logic, Claude will do it automatically. If it stays down, it will offer alternatives - perhaps it still has records of prior recipes earlier in the chat; maybe we can pull some new ones from the web. This type of intelligent retry would be way beyond what any sensible app developer would build - but, by unbundling the application, we get it for “free” (token cost excluded!)

This suggests a new type of more intelligent-seeming software. Instead of systems with fixed retry logic and systems that don’t tolerate unanticipated failures, MCP tools invoked by LLMs will be more able to deal with novel situations and suggest alternative approaches. Could this finally mean that we’re approaching the end of shit software? Because, let’s be honest, most people’s experience of most software is that its crap! Or does this just mean we’re going to start getting a whole new class of even more exotic failure?