Table of Contents

TMCPCapabilityProfile Record

What the revision negotiated for a session permits, resolved once at negotiation time and then consulted wherever behaviour differs between revisions.

API unit family: TMS.MCP.ProtocolCapabilities

Syntax

TMCPCapabilityProfile = record

Remarks

A profile records only what the protocol allows, never what the server has switched on. An optional capability is advertised and acted upon only when the profile permits it and the matching switch in the server identity is enabled, so a capability turned on against an older revision stays silently inactive. Resolve a profile through ResolveCapabilityProfile rather than filling the fields by hand.

Fields and properties

Name Type Description
IsStateless Boolean Whether each request carries its own context rather than depending on state kept from an earlier handshake. True lets a request be served without a preceding handshake, so any node may answer it; False requires the session state established during initialization. Set for revision 2026-07-28 and cleared for every earlier revision.
ProtocolVersion string Revision string the session negotiated, kept verbatim as it was supplied.
SupportsCompletions Boolean Whether the client may ask for completion suggestions for the argument of a prompt or of a resource template. True lets the completions capability be published, so the client may issue a completion/complete request; False keeps that capability out of the handshake response even when the server has completions switched on. Set from revision 2025-03-26 onwards.
SupportsElicitation Boolean Whether the server may ask the connected client to collect additional input from its user while a request is running. True lets the elicitation capability be published, so an in-flight request may pause and ask for values; False keeps that capability out of the handshake response even when the server has elicitation switched on. Set from revision 2025-06-18 onwards.
SupportsProgressMessage Boolean Whether a progress notification may carry a human-readable message beside the numeric progress. True adds the message member to the notification parameters; False drops the text silently and sends the numeric progress alone. Set from revision 2025-03-26 onwards.
SupportsResourceSubscriptions Boolean Whether a client may subscribe to a resource and be notified when its content changes. True lets the resources capability be published with its subscribe member, so a client may issue a resources/subscribe request; False leaves that member out even when the server has subscriptions switched on. Set from revision 2025-06-18 onwards.
SupportsSamplingTools Boolean Whether tools may be offered to the model during a sampling request. True includes the tool list and the tool-choice member when the completion request is serialized, so the model may ask for a tool to be invoked; False leaves both members out and the model answers with content only. Set from revision 2025-11-25 onwards.
SupportsStructuredContent Boolean Whether a tool result may carry a machine-readable object beside its text content. True adds the structured member to the result when the tool has a structured handler assigned; False returns the text content alone and never runs that handler. Set from revision 2025-06-18 onwards.
SupportsTasks Boolean Whether a long-running request may be accepted as a task that the client polls or cancels afterwards. True lets the tasks capability be published and lets a request that asks for task handling be answered with a task identifier; False answers every request immediately, so a client asking for a task receives an ordinary response. Set from revision 2025-11-25 onwards.