Client

Client capabilities cover the features your MCP client provides to servers and manages locally, including sampling, filesystem roots, and extension negotiation.

Overview

MCP clients offer several key capabilities:

  • Sampling - Allow servers to use your LLM for their own requests
  • Elicitation - Handle structured follow-up questions from servers
  • Roots - Provide filesystem access to servers within specified directories
  • Extensions - Advertise optional client capabilities such as MCP Apps

Client Capabilities

Sampling

Enable MCP servers to offload LLM requests to your client rather than making them directly. This allows servers to use your LLM connections and configurations while maintaining their own logic and workflows.

Elicitation

Handle server-initiated requests for additional structured input. This is useful for interactive workflows where the server needs clarifications, confirmations, or schema-validated user data.

Roots

Provide controlled filesystem access to MCP servers, allowing them to understand your project structure and access files within specified directories for more powerful and context-aware operations.

Transports

Handle the communication protocol between your client and MCP servers. Use built-in transports or create custom implementations for specialized communication needs.

Extensions

Advertise optional protocol capabilities and parse extension metadata consistently across tools, resources, and resource templates.

Getting Started

Explore each client interaction type to understand how to configure and use client-side features:

  • Sampling - Allow servers to use your LLM
  • Elicitation - Handle structured user input requests
  • Roots - Provide filesystem access to servers
  • Extensions - Configure and negotiate extension capabilities

Next Steps

Once you understand client interactions, explore:


Table of contents