My Notes on MCP - Part 1

Why MCP?

Before MCP, every AI application had to build custom integrations for every data source or tool it wanted to use, creating the N × M integration problem.

MCP solves this by defining a single open standard for connecting AI applications to external systems.

Build an MCP server once, and any MCP-compatible host can use it.


 

MCP Does Not Standardize

  • Which AI model to be used, or how the model reasons
  • How the host application renders UI or manages conversations
  • The internal implementation of servers (any language, any backend)
  • Agent orchestration logic

Key Facts

  • MCP is open source and model-agnostic, meaning it works with any LLM.
  • MCP was introduced by Anthropic in November 2024.
  • In December 2025, Anthropic donated MCP to the Agentic AI Foundation (AAIF), part of the Linux Foundation.
  • The MCP specification changed significantly in the 2026-07-28 revision, introducing stateless requests and removing the initialize handshake.

There are 3 Participants in MCP:

1. Host

The AI application the user interacts with (e.g., Claude Desktop).

Responsibilities:

  • Manages clients
  • Enforces security policies and user consent
  • Coordinates the model

2. Client

A component inside the host that maintains a 1:1 relationship with exactly one server.

3. Server

A program that exposes capabilities to clients, including:

  • Tools
  • Resources
  • Prompts

Servers can run locally or remotely.

One host can run many clients, but each client connects to exactly one server.


Primitives

1. Server-Side Primitives

  • Tools - controlled By - Model
  • Resources - controlled By - Application
  • Prompts - controlled By - User

2. Client-Side Primitives

  • Elicitation: The server requests additional input from the user via the client.
  • Sampling: Deprecated in the new version.
  • Roots: Deprecated in the new version.

The 2026-07-28 specification revision deprecated Sampling and Roots, though they will remain in the specification for at least 12 months.


Layers

1. Data Layer

Defines the message format using JSON-RPC 2.0.

Examples:

  • Requests
  • Responses
  • Notifications

2. Transport Layer

Defines how data moves between client and server.

Supported transports include:

  • stdio
  • Streamable HTTP

Connection Model

1. Legacy MCP

Connection starts with an /initialize request.

  1. Client and server exchange protocol versions and capabilities.
  2. Client sends the notifications/initialized notification.

2. Latest MCP (2026-07-28)

MCP is now stateless and does not require a handshake.

Every client request carries:

  • Protocol version
  • Client information
  • Client capabilities

These are included in the _meta fields.

Server capabilities are discovered through:

/server/discover


Protocol Versioning

Protocol versions use a date-based format:

YYYY-MM-DD

Example:

2026-07-28

If a server does not support the protocol version declared in a request, it responds with:

-32022: UnsupportedProtocolVersionError


Popular Posts

JMeter Producing Error: Windows RegCreateKeyEx(...) returned error code 5

Understanding about Contract Testing