MCP (Model Context Protocol)
MCP (Model Context Protocol)
An open standard for connecting models to external tools and context sources. Originally created by Anthropic, MCP is now a Linux Foundation project under open governance. Think of it as a USB standard for AI integrations — a server exposes capabilities over MCP, and any MCP-compatible client can use them without custom integration work per tool.
The current spec version is 2025-11-25. The protocol uses JSON-RPC 2.0.
The Problem It Solves
Before MCP, every tool integration was bespoke: custom prompts, custom parsing, custom error handling. A Slack integration built for Claude needed to be rebuilt for GPT. A database tool built for one agent wasn't reusable in another.
MCP defines a standard protocol so tool servers can be written once and used by any compliant client. claude-code is a major MCP client. Growing number of MCP servers exist for common services.
Architecture
MCP uses a three-tier architecture:
MCP Host: The application embedding the model — for example, Claude Code or Claude.ai. The host manages one or more client connections and enforces permissions.
MCP Client: The connection manager that lives inside the host. Each client maintains a 1:1 connection with a single MCP server, handles the protocol handshake, and routes tool calls.
MCP Server: Exposes tools, resources, and prompts over a standard interface. Can be local (a process on your machine) or remote (an HTTP server).
Transports
- Stdio: Used for local processes. The host spawns the server as a subprocess and communicates over stdin/stdout.
- Streamable HTTP (with optional SSE): Used for remote servers. Replaces the older "HTTP+SSE" framing from earlier spec versions.
Tool Types
- Tools: Functions the model can call (search, database query, API call)
- Resources: Data the model can read (files, documentation, live data feeds)
- Prompts: Reusable prompt templates the client can discover and use
Using MCP in Claude Code
// .claude/settings.json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed"]
}
}
}
Common available servers: filesystem, GitHub, Slack, PostgreSQL, Brave search, memory/knowledge graph. The official modelcontextprotocol/servers repository (86.7k stars) is the primary collection.
Strengths
- Standard protocol reduces integration work
- Servers are reusable across clients
- Local transport means sensitive data can stay on-machine
- Active ecosystem — many servers available, more being built
- Open governance under Linux Foundation increases longevity and multi-vendor adoption
Weaknesses
- Still maturing — server quality varies significantly
- Remote MCP has auth/security complexity
- Discovery of available servers is not yet centralized well
- Client support outside Anthropic's own tools is inconsistent
Related
claude-code · agentic-workflows · rag