MCP: the 11-Step Guide to the Protocol That Connects Agent to Everything

Before USB, every device had its own cable. MCP is USB for AI agents. 400M+ monthly SDK downloads. 10,000+ servers. Adopted by every major AI lab.
Before USB, every device had its own cable. Printers, scanners, keyboards, cameras. A drawer full of proprietary connectors that worked with exactly one device.
Then USB arrived and one port handled everything. MCP is that moment for AI agents. One protocol to connect Claude to any tool, any database, any API.
Follow my Substack to get fresh AI alpha: movez.substack.com
No more custom wrappers per service.No more rebuilding integrations per project.No more hardcoding tool calls in every agent. Anthropic open-sourced it in November 2024. By 2026: OpenAI, Google, Microsoft, and AWS all adopted it. 10,000+ servers in production. This is the complete guide.
Before MCP, a company that wanted its internal database, its ticketing system, and its CI pipeline all reachable by an AI agent had to write separate glue code for every combination of model and tool.
Different API shapes, different auth flows, different error handling. Every integration was custom. Every migration was a rewrite.
MCP replaces that with a single open standard. Build one server, any MCP-compatible client uses it. Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, Amazon Bedrock, custom agents.
One integration, every client. On July 28, 2026, the biggest spec revision in MCP's history shipped: stateless core, extensions system, enterprise-grade auth. This guide covers all of it.
Before MCP: one integration per model per tool. After MCP: one server, every client.
01. What MCP actually is
MCP (Model Context Protocol) is an open standard that lets AI models connect to external tools, files, and data sources through a single interface.
Instead of writing custom glue code for every combination of model and service, you build one MCP server and any MCP client can use it.
The analogy: USB standardized how devices talk to computers. MCP standardizes how AI agents talk to the world. Before USB, every printer needed its own driver and its own cable.
After USB, one port handles everything. Before MCP, every agent needed custom code for every integration. After MCP, one server handles every client.
02. The timeline
03. The architecture
MCP has three roles: host, client, and server.
A Postgres MCP server exposes run_query as a tool and database tables as resources. A GitHub MCP server exposes create_pr, list_issues, read_file as tools.
04. Three primitives
MCP servers expose three types of capabilities:
# A minimal MCP server exposes tools, resources, or both
# Tool: a function the model can call
{
"name": "run_query",
"description": "Execute a read-only SQL query",
"inputSchema": {
"type": "object",
"properties": {"query": {"type": "string"}},
"required": ["query"]
}
}
# Resource: data the model can read
{
"uri": "postgres://mydb/schema",
"name": "Database Schema",
"mimeType": "application/json"
}05. Build your first server
An MCP server is a program that exposes tools, resources, or both over a standard protocol. You can build one in TypeScript or Python using Anthropic's official SDKs.
The server below exposes one tool (run a SQL query) and one resource (the database schema).
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
const server = new McpServer({
name: "postgres-mcp",
version: "1.0.0"
});
// Tool: run a read-only query
server.tool(
"run_query",
"Execute a read-only SQL SELECT query",
{ query: { type: "string", description: "SQL SELECT query" } },
async ({ query }) => {
const rows = await db.query(query);
return { content: [{ type: "text", text: JSON.stringify(rows) }] };
}
);
// Resource: database schema
server.resource(
"schema",
"postgres://mydb/schema",
async () => ({
contents: [{ uri: "postgres://mydb/schema",
text: await getSchemaJSON() }]
})
);
server.listen();That is a working MCP server. Claude Code, Claude Desktop, Cursor, or any MCP client can connect to it and use both the tool and the resource. One server, every client.
06. Connect to Claude
Three ways to connect your server to Claude:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["tsx", "server.ts"],
"env": {"DATABASE_URL": "postgres://..."}
}
}
}07. The 2026-07-28 spec
On July 28, 2026, MCP shipped its biggest revision since launch. The core change: MCP went stateless. The old spec required a persistent bidirectional connection with session management.
The new spec uses a lightweight request/response model. No sessions, no handshakes, no persistent connections.
Why this matters: stateless servers can run behind load balancers, scale horizontally, cache responses, and deploy on standard cloud infrastructure. The old spec worked on laptops. The new spec works at enterprise scale.
Extensions replace what used to be baked into the core spec. Tasks (for long-running operations), Enterprise Managed Authorization, and other capabilities are now opt-in extensions. Your server includes what it needs and nothing more.
Enterprise Managed Authorization (EMA) is now stable. Organizations can centrally manage auth for all their MCP servers. End users log in once and access every connected server. Adopted by Anthropic, Microsoft, and Okta.
If you built MCP servers before July 2026, they will still work for at least 12 months (deprecation guarantee).
But new servers should target the 2026-07-28 spec. The stateless core is simpler to implement and deploy.
08. Security
MCP's rapid growth came with security problems. Independent scans found exploitable flaws in a large share of public servers. NSA and CISA issued formal guidance. Security is not optional.
# MCP Server Security Checklist
1. Auth on every endpoint (OAuth 2.1 for remote)
2. Validate all tool inputs (SQL injection, path traversal)
3. Read-only by default. Write access only when needed.
4. Rate limiting on tool calls
5. Log every tool invocation for audit
6. Pin SDK versions. Check changelogs before upgrading.
7. Never expose secrets in tool descriptions or error messages09. Finding existing servers
Before you build a server, check if one already exists. 10,000+ public MCP servers are available. Most common services already have community or official servers.
Evaluation checklist for community servers: Does it implement auth? Does it validate inputs? Is it actively maintained (commits in last 30 days)?
Does it target the 2026-07-28 spec or an older revision? Does it follow least-privilege (read-only where appropriate)?
10. MCP in production
Running MCP locally on your laptop is step one. Running it in production with real users, real data, and real security requirements is step two.
11. What comes next
MCP started as a way to connect AI to tools. It is becoming the infrastructure layer for the entire agentic ecosystem.
MCP's position in 2026 is similar to HTTP's position in 1995. The protocol is young, fast-growing, and not fully standardized.
But the adoption curve is steep enough that betting against it is harder than betting on it. Every major AI lab is building on it. The question is not whether MCP wins. The question is how fast.
#
6 MCP servers to build or connect this week
Five MCP mistakes
Conclusion:
Before USB, a drawer full of cables. Before MCP, a codebase full of wrappers.
Every time you hardcode a tool call, you are writing a proprietary cable. It works for one model, one service, one project. When the model changes, the cable breaks. When the service updates its API, the cable breaks. When you move to a new project, you write the cable again.
MCP replaces the drawer with one port. Build the server once. Every client gets it. Add a new model? Zero new integrations. Add a new tool? One new server. N+M instead of NxM.
The protocol is 18 months old. It already has 400 million monthly downloads, 10,000+ servers, and adoption from every major AI lab. The question is not whether to learn MCP. The question is how long you wait.
One server. Every client. That is the entire pitch. That is why it won.











