Insights

MCP Server: The new USB — more or less

7 min readReading time

Do you remember when USB arrived and quietly ended a decade of peripheral chaos? Before USB, connecting a printer meant IRQ conflicts, parallel port drivers, and a silent prayer. USB said: one port, one standard, the device explains itself, the host handles the rest. No magic — just a well-thought-out protocol that made the combinatorial explosion of device-host pairings manageable.

MCP (Model Context Protocol, released by Anthropic in late 2024) is making a similar bet for AI systems. One protocol, structured tool declarations, typed inputs and outputs — so that an AI client can connect to any MCP-compliant service without writing custom glue code for every pairing.

That is a really interesting architectural idea. However, it is also being oversold to such an extent that it becomes unclear where MCP actually helps and where it does not.

No headings found on page

Remember when USB came along and quietly ended a decade of peripheral chaos? Before USB, connecting a printer meant IRQ conflicts, parallel port drivers, and a silent prayer. USB said: one port, one standard, the device explains itself, the host handles the rest. No magic — just a well-thought-out protocol that made the combinatorial explosion of device-host pairs manageable.

MCP (Model Context Protocol, released by Anthropic in late 2024) is making a similar bet for AI systems. One protocol, structured tool declarations, typed inputs and outputs — so an AI client can connect to any MCP-compliant service without writing custom glue code for every pair.

This is a genuinely interesting architectural idea. However, it is also being oversold to the point where it becomes unclear where MCP actually helps and where it does not.

This post attempts to separate the two. MCP is not a silver bullet. For many developer workflows, a well-designed CLI remains the right answer. But for a specific and increasingly important use case — autonomously operating AI Agents — MCP is the right interface layer. And for anyone evaluating software in 2026, the question of whether a product provides an MCP server will become a meaningful signal of the architectural thinking behind it.

Let's take a closer look.

What MCP Actually Is

Model Context Protocol is an open standard that defines how AI clients (Claude Desktop, VS Code with GitHub Copilot, custom agent frameworks) connect to external tools and data sources. An MCP server provides a set of tools — each with a name, description, typed input schema, and typed output — that an AI client can discover and call.

The client asks: "What can you do?" The server responds with a manifest of its capabilities. The client then decides which tools to call, passes structured arguments, and receives structured responses. Errors are typed. Capabilities are introspectable. The entire interaction is designed to be consumed by a machine, not read by a human.

Anthropic published the specification, but it is not proprietary — it is an open protocol, and adoption has been rapid. Claude Desktop, VS Code's Copilot integration, Cursor, and a growing number of agent frameworks support MCP as clients. The server ecosystem is growing just as fast: file systems, databases, GitHub, Slack, and hundreds of third-party services are now shipping MCP servers.

The USB Analogy — and Where It Holds Up

The USB comparison is useful because it captures the combinatorial problem that MCP solves.

Before USB, N devices and M hosts potentially meant N×M individual driver implementations. USB reduced this to N device drivers and M host drivers — a shared protocol layer in the middle. The benefit grows with the ecosystem.

MCP does the same for AI integrations. Without such a standard, connecting Claude to the internal knowledge base, GitHub repos, and CRM required three separate custom integrations — each with its own auth flow, own error handling, and own maintenance overhead. With MCP, you build one server per service. Every MCP-compliant AI client automatically gets access.

This compounding effect is real. A company that ships an MCP server for its product today gets integration with Claude Desktop, VS Code Copilot, and every other MCP client — without having to write a single additional line of integration code for each individual one. As the client ecosystem grows, the value of that server increases.

The analogy has its limits. USB is a physical standard with hard hardware constraints. MCP is a software protocol, and software protocols drift, fork, and get replaced. The specification is young. There will be versioning pains. But the core architectural insight — a shared protocol layer that decouples clients from servers — is solid. The same insight made USB a success.

But First: CLIs Are Not Disappearing

Before we go any further, we should be honest about something the MCP hype tends to overlook: for a large class of developer workflows, a well-designed CLI is simply better than an MCP server.

CLIs can be composed. You pipe output from one command to the next, redirect to files, chain with &&, schedule with cron, run in CI/CD pipelines. They don't need a running server process, port management, or auth token rotation. They are debuggable with standard Unix tools — strace, grep, jq. A shell script calling a CLI is often more robust and maintainable than an equivalent MCP-based workflow.

The Unix philosophy — small tools that do one thing well, composable via standard interfaces — has survived fifty years because it works. If you are a developer automating a deployment pipeline, processing log files, or running batch operations, a CLI plus a shell-calling LLM is often the simpler and more traceable solution. You can read the commands. You can repeat them. You can version them.

There is also a practical point regarding LLMs and the shell: models like Claude and GPT-4 are exceptionally good at writing shell scripts. Give them a well-documented CLI, and they produce correct, composable automation. You don't need MCP for that.

So, no one should claim that MCP makes CLIs obsolete. They serve different use cases, and for developer-driven automation, the CLI often wins due to simplicity and debuggability. The interesting question is what changes when the operator is not a developer.

When MCP Wins: The Client Makes the Difference

The paradigm shift that MCP enables does not concern the tools — but who consumes them.

When a human developer runs a CLI, they bring an enormous amount of implicit context. They understand what the output means. They notice when something looks wrong. They recover from errors by reading the message, checking the docs, and adjusting the command. They operate in a feedback loop with the system.

When an AI agent is the client — running autonomously, chaining dozens of tool calls together without human supervision in the loop — this implicit context disappears. The agent needs an interface that makes everything explicit that a human would have inferred.

This is exactly where MCP's design choices pay off. Tools declare their capabilities in machine-readable form. Input schemas are typed, so the agent knows exactly what arguments to pass. Output schemas are structured, so the agent can parse results without guessing the format. Errors are typed and descriptive, so the agent can handle failure modes programmatically instead of parsing a human-readable error message.

Take VS Code with GitHub Copilot as an MCP client. When Copilot needs to query the codebase, review a PR, or look up a dependency, it doesn't run ad-hoc shell commands and hope the output is parseable. It calls typed MCP tools that return structured data. The agent can reliably chain these calls because the interface contract is explicit.

The same applies to Claude Desktop connecting to a database MCP server, or an autonomous agent interacting with a CRM via an MCP server. The agent does not need to understand the underlying system — it needs a clearly defined interface that tells it what is possible and what each operation returns.

MCP is the right interface when the consumer is an AI agent. CLIs are the right interface when the consumer is a human developer. These are not competing answers — they are answers to different questions.

MCP as an Architectural Bet

Providing an MCP server for a product is not just a feature. It is an architectural statement about how you expect your software to be consumed.

The bet is that AI agents will become first-class consumers of software interfaces. Not just AI-assisted humans using a GUI, but autonomous agents calling APIs, chaining operations, and completing tasks without human supervision at every step. If this is true — and the development of agent frameworks, Copilot integrations, and autonomous workflow tools suggests it is — then software that does not offer a machine-readable interface layer will become increasingly difficult to integrate.

Think of what happened with REST APIs and mobile. Companies that had well-documented REST APIs in 2012 could support mobile apps, third-party integrations, and partner ecosystems without rebuilding their backends. Companies that only had web UIs had to scramble to catch up. The interface layer they invested in grew in value as the client ecosystem diversified.

MCP is that interface layer for the AI-native era. Build once, and any AI client that supports the protocol gets access to your service. Today, that means Claude Desktop and VS Code Copilot. In two years, it could be a dozen dominant agent frameworks you haven't heard of yet. The investment pays compound interest.

Some platforms are already ahead of this curve. Branchly, for instance, ships MCP integration out of the box — AI agents can directly query, search, or interact with a website's AI layer programmatically, without custom integration work on either side. That is the kind of architectural thinking that makes a platform composable in an agent-driven world.

The alternative — waiting until AI agent adoption is undeniable before investing in MCP support — is the same mistake companies made waiting for REST APIs or mobile-responsive design. By the time it is obvious, you are already behind.

The Procurement Rule for 2026

A concrete recommendation for anyone evaluating software this year.

In 2026, companies evaluating new software should treat MCP support — or at least a documented, AI-accessible API with an OpenAPI spec — as a baseline procurement criterion. Just like you ask for GDPR compliance, SSO support, or audit logging. Not a nice-to-have. A baseline.

The question to vendors is simple: "How does an AI agent interact with your product?" If the answer is "not at all" or "via screen-scraping" or "we are thinking about it," that is a signal. Not necessarily a dealbreaker for every use case, but a signal of how the vendor thinks about the direction of the industry.

Software without AI-native interfaces is not just missing a feature. It is making an architectural bet against the direction the market is moving. That bet might pay off — standards fail, protocols get replaced, AI agent adoption might plateau. But the asymmetry is unfavorable. The cost of supporting MCP is low. The cost of being locked out of an agent-driven integration ecosystem is high.

Ask the question. Weigh the answer.

What This Means When Building Software

For anyone building a product or an internal platform, the practical consequence is clear: ship an MCP server alongside your existing interfaces, not instead of them.

Keep the CLI. Keep the REST API. Keep the webhooks. They serve real use cases and real users. Add an MCP server as an interface layer for AI clients. The implementation effort is lower than expected — the MCP SDK handles the protocol mechanics, and if you already have a well-structured API, you mostly need to provide good tool descriptions and schemas for the MCP tools.

The tool descriptions are more important than most developers expect. An AI agent decides which tools to call based on the description, not the implementation. Write them as you would write documentation for a junior developer who needs to understand not just what the tool does, but when to use it and what they get back. This investment in clarity pays off in agent reliability.

If you are building an internal platform for a larger organization, adding MCP support future-proofs your integrations — regardless of which AI tooling the organization adopts in the future. You are not betting on a specific AI vendor, but on the protocol layer. That is by far the safer bet.

Conclusion

MCP is not the new USB in the sense of being inevitable, universal, or without alternatives. It is a young protocol from a single vendor, and the history of software standards is full of well-designed protocols that failed to catch on.

But the architectural problem that MCP solves is real and will not go away. AI agents need structured, introspectable interfaces. The combinatorial explosion of client-service pairs needs a shared protocol layer. Something will fill this role — MCP is currently the best candidate, and it has palpable adoption momentum.

For developers: Keep your CLIs. They are not disappearing, and they are often the right tool for human-operated automation. But think through your MCP strategy for the agent use case.

For technical decision-makers: Start asking vendors about AI-native interfaces. Make it a procurement criterion. The vendors with a good answer are the ones thinking clearly about where software architecture is heading.

For anyone building software in 2026: The interface layer you invest in now is the one that pays interest. Build for the clients that are coming — not just the ones that are already here.