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

Sources