CCDV-F Domain 3: Model Context Protocol (MCP) Architecture
The open standard architecture connecting Claude to local and remote data sources, tool registries, and prompt templates.
1. What is Model Context Protocol (MCP)?
Model Context Protocol is an open standard introduced by Anthropic that replaces fragmented custom connectors with a standardized JSON-RPC 2.0 interface. Rather than writing custom integration code for every database, file system, or GitHub repo, developers build or consume standard MCP servers.
2. The MCP Architectural Hierarchy
| Component | Role in the Ecosystem | Examples |
|---|---|---|
| MCP Host | The client application initiating AI interactions and managing client connections. | Claude Desktop, custom web app, IDE extension. |
| MCP Client | The protocol client that maintains a 1:1 connection with an MCP server. | Claude MCP client library in Python / TypeScript. |
| MCP Server | A lightweight service exposing specific capabilities (tools, data, templates). | PostgreSQL MCP server, GitHub MCP server, Slack MCP server. |
3. The Three MCP Server Primitives
- Tools: Executable functions that take input arguments and perform actions (e.g., executing a SQL query or sending a Slack message). Controlled by the LLM.
- Resources: Read-only data items and documents referenced via URIs (e.g.,
postgres://tables/usersorfile:///logs/app.log). Controlled by the user or application. - Prompts: Pre-packaged prompt templates and workflows provided by the server to guide user tasks.
4. Transport Protocols: `stdio` vs. `SSE`
Transport Comparison
- Standard I/O (`stdio`): For local sub-processes on the same machine (e.g., local file system, developer tools, SQLite). Communication happens via standard input/output streams.
- Server-Sent Events (`SSE`): For remote, networked microservices over HTTP. The server pushes updates via an SSE stream, and the client sends commands via standard HTTP POST.