AI Model Context Protocol

backtoarrow Software Products

Python and TypeScript applications of client and server Model Context Protocol (MCP) implementations supporting tools, prompts and resources.
Download MCP Python
Download MCP TypeScript

GitHub Model Context Protocol (MCP) Supporting Repo
Model Context Protocol (MCP) Introduction
Model Context Protocol (MCP) Core Architecture

MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.

General Architecture At its core, MCP follows a client-server architecture where a host application can connect to multiple servers:

  • MCP Hosts Programs like Claude Desktop, IDEs, or AI tools that want to access data through MCP
  • MCP Clients Protocol clients that maintain 1:1 connections with servers
  • MCP Servers Lightweight programs that each expose specific capabilities through the standardized Model Context Protocol
  • Local Data Sources Your computer’s files, databases, and services that MCP servers can securely access
  • Remote Services External systems available over the internet (e.g., through APIs) that MCP servers can connect to

Understand how MCP connects clients, servers, and LLMs. The Model Context Protocol (MCP) is built on a flexible, extensible architecture that enables seamless communication between LLM applications and integrations. This document covers the core architectural components and concepts. All transports use JSON-RPC 2.0 to exchange messages.

  • Protocol Layer The protocol layer handles message framing, request/response linking, and high-level communication patterns.
  • Transport Layer The transport layer handles the actual communication between clients and servers. MCP supports multiple transport mechanisms
    • Stdio Transport Uses standard input/output for communication, ideal for local processes
    • Streamable HTTP Transport Uses HTTP with optional Server-Sent Events for streaming, HTTP POST for client-to-server messages
  • Local Communication
    • Use stdio transport for local processesy
    • Efficient for same-machine communication
    • Simple process management
  • Remote Communication
    • Use Streamable HTTP for scenarios requiring HTTP compatibility
    • Consider security implications including authentication and authorization