ClientCapabilities
Capabilities that a client may support.
Known capabilities are defined here, but this is not a closed set: any client can define its own additional capabilities through the experimental field.
The presence of a capability object (non-null value) indicates that the client supports that capability.
Constructors
Source-compatibility constructor retaining the older sampling: JsonObject? / elicitation: JsonObject? shapes. Any non-null sampling is converted to an empty Sampling, and any non-null elicitation is converted to an empty Elicitation (sub-capabilities cannot be recovered from the old opaque JsonObject).
Types
Sub-capabilities for elicitation.
Indicates that the client supports listing roots.
sub-capabilities for sampling.
Sub-capabilities for tasks (client side).
Properties
Present if the client supports elicitation from the server. Use ClientCapabilities.Elicitation to configure form/url mode sub-capabilities.
Experimental, non-standard capabilities that the client supports. Keys are capability names, values are capability-specific configuration objects.
Optional extensions that the client supports. Keys are extension identifiers (e.g., "io.modelcontextprotocol/ui"), values are extension-specific settings objects.
Present if the client supports listing roots.
Present if the client supports sampling from an LLM. Use ClientCapabilities.Sampling to configure tools/context sub-capabilities.
Present if the client supports task-augmented requests, listing, or cancellation.