What is MCP?
The Model Context Protocol (MCP) is Anthropic's open standard for connecting AI models to external tools, data sources, and services. Think of it as the "USB-C of AI" — one universal standard connector that works with any MCP-compatible host and server.
Instead of building custom integrations for each tool (web search, databases, file systems), you use MCP to expose those capabilities in a standardised way. Claude — or any MCP-compatible application — can then seamlessly access them.
Why it matters
Without it
One-off integrations for every tool. GitHub integration here, Slack there, database plugin elsewhere. No standard. Fragile, hard to maintain, locked to one application.
With it
One standard for everything. Write an MCP server once, use it with Claude Desktop, Claude Code, custom apps, or any future MCP-compatible host. Reusable, composable, and open.
MCP eliminates the friction of tool integration and lets you focus on what your AI should do, not how to wire it up.
How MCP works at a glance
MCP follows a simple client-server pattern with three layers:
Host
Your application (Claude Desktop, Claude Code, or a custom app). It runs MCP and makes tools/data available to the AI model.
Client
The protocol layer inside the Host. It knows how to speak MCP — listing tools, calling them, handling results. You rarely interact with it directly.
Server
The bridge to your tool or data. Write a server in Python or JavaScript, expose tools/resources/prompts, and the Host automatically makes them available to Claude.
Prerequisites
- Basic Python — you can write functions and install packages with pip (needed from Page 6)
- Familiarity with APIs and HTTP requests
- General understanding of what an LLM is (ChatGPT, Claude, etc.)
- Claude Desktop App (for testing MCP servers locally) — free to download from claude.ai
Note: The first five pages are conceptual — no code required. You'll need Python and Claude Desktop from Page 6 onward.
What you will learn
By the end of this series you will be able to:
- Explain what MCP is and why it matters for AI development
- Understand the three-layer MCP architecture (Host, Client, Server)
- Know the three MCP primitives: Tools, Resources, and Prompts
- Set up and use official MCP servers with Claude Desktop
- Build and run your own MCP server in Python from scratch
- Master tool design: input schemas, error handling, best practices
- Expose data with Resources and standardise workflows with Prompts
- Apply MCP to real-world problems across multiple domains
Series overview
Here is everything covered across the 23 pages:
Introduction ← You are here
Overview, prerequisites, and what you will build.
How MCP Works: The Architecture
The three key layers: Host, Client, Server. How they communicate and why the separation matters.
JSON-RPC 2.0 Fundamentals
Requests, responses, notifications, error codes — the message format that powers every MCP interaction.
Lifecycle & Capability Negotiation
Initialize handshake, version negotiation, capabilities, and graceful shutdown.
Transport Layer (stdio, SSE, Streamable HTTP)
How MCP messages travel: stdio for local, HTTP+SSE and Streamable HTTP for remote servers.
The Three MCP Primitives
Tools, Resources, and Prompts — the three building blocks every MCP server exposes.
MCP Tools: Input Schemas and Error Handling
Master tool design: JSON Schema, naming, annotations, result formatting, and error handling.
MCP Resources and Prompts
Expose data with Resources, templates with ResourceTemplate, and standardise workflows with Prompts.
Sampling: Servers Asking the LLM
Let servers request LLM completions through the client — agentic loops without model lock-in.
Roots & Elicitation
Scoping with Roots, gathering user input with Elicitation (form + URL modes).
Utilities: Logging, Progress, Cancellation, Completion
Cross-cutting features every server should support — logs, progress tokens, cancel, autocomplete.
Tasks: Long-Running Operations
The experimental task primitive — durable state, polling, deferred results, batch processing.
Authorization with OAuth 2.1
Securing remote servers: OAuth 2.1, Dynamic Client Registration, Client ID Metadata Documents.
Security Model & Threats
Trust boundaries, confused deputy, SSRF, token theft — and how MCP defends against them.
JSON Schema in MCP
Schema dialect, PrimitiveSchemaDefinition, EnumSchema, validation across tool and elicitation params.
Official MCP Servers: The Ecosystem
Tour of Anthropic's official servers: Filesystem, GitHub, Slack, PostgreSQL, web search, and more.
Connecting MCP to Claude Desktop
Step-by-step guide to configure MCP servers and test them in Claude Desktop.
Build Your First MCP Server (Python)
Write a minimal MCP server in Python and connect it to Claude Desktop.
Debugging with MCP Inspector
Inspector, Claude Desktop logs, common errors, and the patterns that save you hours.
MCP SDKs: Python, TypeScript, Kotlin, Go
Side-by-side comparison of official SDKs, tiering system, and choosing the right one.
MCP Apps: Interactive UIs in Conversations
The MCP Apps extension — embed interactive HTML UIs that run inside AI clients.
Real-World MCP Use Cases
Five real-world scenarios: code assistant, research agent, support bot, DevOps automation, content creation.
What's Next: Ecosystem and Best Practices
Series recap, SEPs, publishing your server, and recommended next tutorials.
Quick summary
- MCP is an open standard for connecting AI to tools and data
- It solves the problem of fragmented, one-off integrations
- 23 chapters covering protocol, primitives, security, SDKs, and real-world use cases
- Start with Page 2 to understand the three-layer architecture