Table of Contents

Conceptual documentation

Welcome to the conceptual documentation for the Model Context Protocol SDK. Here you'll find high-level overviews, explanations, and guides to help you understand how the SDK implements the Model Context Protocol.

Contents

Getting Started

Install the SDK and build your first MCP client and server.

Base Protocol

Title Description
Capabilities Learn how client and server capabilities are negotiated during initialization, including protocol version negotiation.
Transports Learn how to configure stdio, Streamable HTTP, and SSE transports for client-server communication.
Ping Learn how to verify connection health using the ping mechanism.
Progress tracking Learn how to track progress for long-running operations through notification messages.
Cancellation Learn how to cancel in-flight MCP requests using cancellation tokens and notifications.
Pagination Learn how to use cursor-based pagination when listing tools, prompts, and resources.

Client Features

Title Description
Sampling Learn how servers request LLM completions from the client using the sampling feature.
Roots Learn how clients provide filesystem roots to servers for context-aware operations.
Elicitation Learn how to request additional information from users during interactions.

Server Features

Title Description
Tools Learn how to implement and consume tools that return text, images, audio, and embedded resources.
Resources Learn how to expose and consume data through MCP resources, including templates and subscriptions.
Prompts Learn how to implement and consume reusable prompt templates with rich content types.
Completions Learn how to implement argument auto-completion for prompts and resource templates.
Logging Learn how to implement logging in MCP servers and how clients can consume log messages.
HTTP Context Learn how to access the underlying HttpContext for a request.
MCP Server Handler Filters Learn how to add filters to the handler pipeline. Filters let you wrap the original handler with additional functionality.