Open any kitchen drawer from 2012. You'll find a Nokia charger, a Motorola charger, a Samsung charger, an iPhone 4 cable, and a micro-USB that fits three of your seven devices. Every phone had its own connector. You traveled with a bag of cables. Then USB-C happened. One cable. Every device. The devices didn't change. The connection did.

MCP is USB-C for agents.

Right now, connecting an agent to your database means writing Claude-specific code. Want OpenAI to do the same thing? Write it again. Gemini? Again. Every combination of agent and tool needs its own wiring. MCP says: write your tool once. Any agent uses it.

Three players, that's it

The entire architecture has three roles:

PlayerWhat It IsAnalogy
Host The agent application (Claude Desktop, an IDE, your custom agent) The person holding the cable
Client Lives inside the host, manages connections to servers The USB-C port
Server Exposes your tools and data over the protocol The device you're plugging into
MCP three-player architecture: Host sends requests through Client which routes to Server, with responses flowing back

Host asks a question. Client routes it to the right server. Server answers. No model-specific code anywhere in the chain.

A complete MCP server in 10 lines

This exposes a weather tool any MCP-compatible agent can call:

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({ name: "weather", version: "1.0.0" });

server.tool("get-weather", { city: z.string() }, async ({ city }) => ({
  content: [{ type: "text", text: `72°F and sunny in ${city}` }]
}));

await server.connect(new StdioServerTransport());

Claude Code, Cursor, Codex, your custom build. Any of them can call this. You wrote it once.

Before and after

Before MCPAfter MCP
Adding a new model Rewrite every tool integration Change nothing
Adding a new tool Write N integrations (one per model) Write one MCP server
Switching frameworks Migrate all tool code MCP servers are framework-independent
Testing tools Need the actual model running Test the MCP server independently
Sharing tools Copy-paste code, hope it works Install the MCP server, done

Models are getting commoditized. The lasting advantage isn't which model your agent uses. It's the connections you build to your data, your tools, your workflows. MCP standardizes those connections. They survive the next model swap, the next framework migration, the next "everything changed" moment.

If you're writing model-specific integrations in 2026, you're filling that kitchen drawer with chargers again. One standard. Any agent. Build once.

MCP specification / Anthropic MCP docs