Model Context Protocol (MCP) Architecture
The open standard enabling AI models to securely connect to external tools, databases, APIs, and file repositories.
Architecture Overview
MCP establishes a client-server protocol (JSON-RPC over STDIO or Server-Sent Events) where AI hosts (clients like Claude, Cursor, AI agents) discover and invoke tools, resources, and prompts exposed by MCP servers.
Key Architecture Concepts
- ❖MCP Server: Exposes capabilities (tools, resources, prompts) via standardized JSON-RPC interface.
- ❖MCP Client: Maintains protocol lifecycle, passes tool calls to servers, and injects results into LLM prompt context.
- ❖Protocol Transport: STDIO (local CLI execution) or HTTP SSE (remote service communication).
- ❖Security Boundary: Server enforces permission limits before executing local filesystem commands or database queries.
Implementation Code Example
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
const server = new Server({ name: "db-tool", version: "1.0.0" }, { capabilities: { tools: {} } });
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [{ name: "query_users", description: "Execute SQL query", inputSchema: { type: "object" } }]
}));
const transport = new StdioServerTransport();
await server.connect(transport);Practical Engineering Takeaway
MCP standardizes context integration, replacing ad-hoc custom tool-calling implementations with a universal open spec.
