AgentEngineering
GlossaryProtocols & Standards

Model Context Protocol (MCP)

An open standard introduced by Anthropic that defines a uniform interface for connecting LLM-based agents to external tools, data sources, and services — replacing ad-hoc integrations with a single, reusable protocol.

Definition

Model Context Protocol (MCP) is an open protocol specification that standardizes how agents and AI applications discover and invoke external capabilities. Rather than each developer building bespoke integrations for every data source or tool, MCP defines a common transport and message format that any compliant client (an agent host) and server (a tool or data provider) can speak.

Announced by Anthropic in November 2024 and rapidly adopted across the ecosystem, MCP is conceptually analogous to what LSP (Language Server Protocol) did for code editors: it decoupled the client from the provider and created a thriving ecosystem of interoperable components.

Architecture

MCP follows a client-server model:

  • MCP Host — the agent application (Claude Desktop, an IDE, a custom agent runtime). The host manages one or more MCP client connections.
  • MCP Client — a protocol client embedded in the host, maintaining a 1:1 connection with an MCP server.
  • MCP Server — a lightweight process that exposes tools, resources, or prompts over the MCP protocol. Servers can wrap databases, file systems, REST APIs, or any other capability.
Agent Host
└── MCP Client ──(stdio / SSE / HTTP)──► MCP Server (e.g., GitHub, Postgres, filesystem)
└── MCP Client ──────────────────────► MCP Server (e.g., web search, Slack)

Core Primitives

PrimitiveDescription
ToolsCallable functions the agent can invoke (analogous to function calling).
ResourcesRead-only data the agent can access (files, database rows, API responses).
PromptsReusable prompt templates the server exposes to the host.
SamplingAllows MCP servers to request LLM completions from the host model.

Transport Options

MCP supports two transports:

  • stdio — server runs as a local subprocess; client communicates over stdin/stdout. Zero network overhead; used for local tools.
  • Server-Sent Events (SSE) over HTTP — server runs as a remote service; used for cloud-hosted tools and shared enterprise servers.

Why It Matters for Agent Engineering

Before MCP, connecting an agent to a new tool meant writing a custom wrapper: a JSON schema declaration, an execution handler, error handling, and authentication logic — repeated for every agent and every tool. MCP amortizes this effort:

  • A single MCP server can be reused by any MCP-compatible agent host.
  • Tool discovery is dynamic — agents can query a server for its capabilities at runtime.
  • Authentication and transport are handled by the protocol, not the application developer.

Ecosystem

Major integrations include GitHub, Google Drive, Slack, Postgres, Puppeteer, Stripe, and hundreds of community-built servers. The MCP specification is maintained at modelcontextprotocol.io and the reference SDKs are available in Python, TypeScript, Java, and Go.

ShareY