TL;DR
MCP (Model Context Protocol) is an open protocol open-sourced by Anthropic in November 2024 that standardizes connections between AI applications and tools/data sources — often called "USB-C for AI." Instead of building a custom integration per tool, you implement one MCP server and any MCP-compatible client (Claude Desktop, IDEs, agent frameworks) can use it.
Architecture
| Role | Purpose | Examples |
|---|---|---|
| MCP Host | The AI app initiating connections | Claude Desktop, IDEs, agent frameworks |
| MCP Server | Exposes tools, resources, and prompts | GitHub, databases, browsers, file systems |
| Transport | How the two connect | stdio (local subprocess), HTTP streaming |
Core primitives
- Tools: callable functions for the model (e.g., "query orders", "run SQL"), similar to function calling;
- Resources: readable data/documents injected as context (configs, READMEs);
- Prompts: reusable prompt templates that users or apps can invoke.
Why it matters
- One server implementation works across many hosts, cutting integration cost;
- Tool capabilities use standard JSON-RPC messages, so models don't need per-platform formats;
- Since 2025, major tools (GitHub, Slack, browsers, IDEs) ship official MCP servers.
FAQ
What's the difference between MCP and plugins/function calling?
Function calling is the model-side calling convention; MCP is the tool-side standard. MCP defines how tools are exposed; function calling defines how a model invokes them.
How do I deploy an MCP server?
Local tools typically run over stdio (launched as a subprocess); remote services expose a Streamable HTTP endpoint that clients discover and call per the MCP spec.
Which transports does MCP support?
stdio and HTTP-based streaming (Streamable HTTP with SSE) are the current main transports; the spec is maintained at modelcontextprotocol.io.
Sources
- modelcontextprotocol.io (MCP spec), accessed 2026-08-04
- Anthropic announcement (2024-11-25), accessed 2026-08-04