Table of Contents

TMS AI Studio API Reference

Use this reference for exact Delphi API contracts. Start from the component pages for purpose, setup, and task guides; use the class and member pages here for signatures, defaults, behavior notes, and event contracts.

Entry Points

Route Use when
Components You want component purpose, screenshots, guide links, and the component API map.
Product guides You want cross-cutting workflows before drilling into component APIs.
Product overview You want frameworks, dependencies, IDE support, and release notes.

Component Summary

Component Use for
Attributes RTTI attributes that turn ordinary classes and methods into an MCP tool, resource, and prompt surface with no manual registration.
Cloud AI Direct access to cloud AI providers for chat, function calling, file submission, assistants, speech, and transcription.
Cloud AI Tool Sets Ready-made tool sets that give a cloud AI model access to the file system, a dataset, e-mail, and logging.
Cloud Image AI Image generation across OpenAI, Gemini, Black Forest Labs, Stability, and Reve through one API.
MCP Client Connects an application to an LLM service and to one or more MCP servers, with tool-call routing and a settings dialog.
MCP Server JSON-RPC 2.0 MCP server with sessions, sampling, elicitation, long-running tasks, pagination, and change notifications.
MCP Transports STDIO, Named Pipe, SSE, and Streamable HTTP transports for both server and client, plus a standalone HTTP server.
Prompts Reusable, argument-driven prompt templates a client can list and retrieve.
Resources Readable content exposed by URI, including multi-segment URI templates and subscription-based update notifications.
Tools Callable operations an agent can invoke, with typed input properties, structured output, and a fluent builder.

API By Component

Attributes

Component page

Classes And Records

Type Description
ITMSMCPBooleanAttribute Forces the declaration it is applied to to be published as a boolean.
ITMSMCPCompletionAttribute Carries the candidate values offered as completions for a prompt argument.
ITMSMCPCustomAttribute Marker interface implemented by every metadata attribute in this unit.
ITMSMCPCustomTypeAttribute Base interface for attributes that override the schema type inferred from RTTI.
ITMSMCPCustomValueAttribute Base interface for metadata attributes that carry a single text value.
ITMSMCPDescriptionAttribute Carries the human-readable description of a method or of a single parameter.
ITMSMCPDestructiveAttribute Sets the destructive behaviour hint of a tool to True.
ITMSMCPFloatAttribute Forces the declaration it is applied to to be published as a floating-point number.
ITMSMCPIconAttribute Carries one icon that a client may display for a tool, resource or prompt.
ITMSMCPIdempotentAttribute Sets the idempotent behaviour hint of a tool to True.
ITMSMCPIntegerAttribute Forces the declaration it is applied to to be published as an integer.
ITMSMCPMimeTypeAttribute Carries the media type of the content a resource returns, for example text/plain.
ITMSMCPNameAttribute Carries the published name of a method or of a single parameter.
ITMSMCPOpenworldAttribute Sets the open-world behaviour hint of a tool to True.
ITMSMCPOptionalAttribute Marks a parameter as optional and carries the value used when the caller omits it.
ITMSMCPOutputSchemaAttribute Carries the schema that describes the structured result of a tool.
ITMSMCPPromptAttribute Marks a method as the provider of a prompt.
ITMSMCPReadOnlyAttribute Sets the read-only behaviour hint of a tool to True.
ITMSMCPResourceAttribute Marks a method as the reader of a resource.
ITMSMCPStringAttribute Forces the declaration it is applied to to be published as a string.
ITMSMCPTaskSupportAttribute Declares whether a tool may or must be executed as a long-running task.
ITMSMCPTitleAttribute Carries the display title of a tool, resource or prompt.
ITMSMCPToolAttribute Marks a method as a callable tool.
ITMSMCPURIAttribute Carries the fixed URI a resource is published under.
ITMSMCPURITemplateAttribute Carries the URI template a parameterized resource is published under.
TTMSMCPBooleanAttribute Publishes the return value or the parameter as a boolean.
TTMSMCPCompletionAttribute Supplies the completion candidates offered for a prompt argument.
TTMSMCPCustomAttribute Base class for every metadata attribute in this unit.
TTMSMCPCustomTypeAttribute Base class for the attributes that override the schema type inferred from RTTI.
TTMSMCPCustomValueAttribute Base class for the metadata attributes that carry a single text value.
TTMSMCPDescriptionAttribute Describes a method or a parameter for the calling client.
TTMSMCPDestructiveAttribute Declares that the tool may perform updates that cannot be undone.
TTMSMCPFloatAttribute Publishes the return value or the parameter as a floating-point number.
TTMSMCPIconAttribute Supplies one icon a client may display for a tool, resource or prompt.
TTMSMCPIdempotentAttribute Declares that repeating the call with the same arguments has no further effect.
TTMSMCPIntegerAttribute Publishes the return value or the parameter as an integer.
TTMSMCPMimeTypeAttribute Supplies the media type of the content a resource returns, for example text/plain.
TTMSMCPNameAttribute Publishes a method or a parameter under an explicit name.
TTMSMCPOpenworldAttribute Declares that the tool reaches entities outside the host application.
TTMSMCPOptionalAttribute Marks a parameter as optional and supplies the value used when it is omitted.
TTMSMCPOutputSchemaAttribute Supplies the schema that describes the structured result of a tool.
TTMSMCPPromptAttribute Marks a method as the provider of a prompt.
TTMSMCPReadOnlyAttribute Declares that the tool does not modify the state of its environment.
TTMSMCPResourceAttribute Marks a method as the reader of a resource.
TTMSMCPStringAttribute Publishes the return value or the parameter as a string.
TTMSMCPTaskSupportAttribute Declares whether a tool may or must be executed as a long-running task.
TTMSMCPTitleAttribute Supplies a display title for a tool, resource or prompt.
TTMSMCPToolAttribute Marks a method as a callable tool.
TTMSMCPURIAttribute Publishes a resource under a fixed URI.
TTMSMCPURITemplateAttribute Publishes a parameterized resource under a URI template.
Type Kind Description
TTMSMCPAttrTaskSupport Enum Specifies how a tool may be executed: atsForbidden allows only a direct call and rejects task execution, atsOptional lets the caller choose between a direct call and a long-running task, and atsRequired forces execution as a long-running task.

Cloud AI

Component page

Classes And Records

Type Description
ETMSMCPCloudBaseException Exception raised when a cloud base operation fails, such as a network error, authentication failure, or invalid server response.
ETMSMCPCloudBasePromiseException Exception raised when a cloud base promise is rejected or times out without resolving.
ITMSMCPCloudBaseService Platform service interface that creates and destroys ITMSMCPCustomCloudBase instances; registered once per platform at unit initialization.
ITMSMCPCustomCloudBase Platform abstraction interface for cloud request execution; implemented per platform to handle HTTP transport, external browser OAuth flows, and browser lifecycle.
TTMSMCPCloudAI (undocumented)
TTMSMCPCloudAIAPIKeys (undocumented)
TTMSMCPCloudAIAssistant (undocumented)
TTMSMCPCloudAIAssistants (undocumented)
TTMSMCPCloudAIFile (undocumented)
TTMSMCPCloudAIFiles (undocumented)
TTMSMCPCloudAIParameter (undocumented)
TTMSMCPCloudAIParameters (undocumented)
TTMSMCPCloudAIResponse (undocumented)
TTMSMCPCloudAISettings (undocumented)
TTMSMCPCloudAITool (undocumented)
TTMSMCPCloudAIToolSet (undocumented)
TTMSMCPCloudAITools (undocumented)
TTMSMCPCloudAIUsage (undocumented)
TTMSMCPCloudBase Drop-in cloud base component that exposes HTTP request execution, logging, and event hooks for direct use in the IDE.
TTMSMCPCloudBaseRequest Encapsulates all parameters needed to describe and configure an HTTP request, including URL components, method, headers, post data, upload sources, and user data slots.
TTMSMCPCloudBaseRequestCurlParser Parses a curl command-line string and converts it into a TTMSMCPCloudBaseRequest object ready for execution.
TTMSMCPCloudBaseRequestCurlParserFile Represents a file entry referenced by a curl command-line argument, used by the curl request parser to track file uploads.
TTMSMCPCloudBaseRequestHeader Represents a single HTTP request header as a name-value pair.
TTMSMCPCloudBaseRequestHeaders Ordered list of HTTP request header entries associated with a cloud service request.
TTMSMCPCloudBaseRequestPostDataBuilder Builds multipart or URL-encoded HTTP POST body content by accumulating parts and producing the final payload string.
TTMSMCPCloudBaseRequestResult Extends TTMSMCPCloudBaseRequest with response data, execution state, progress tracking, and result callbacks for a completed or in-progress HTTP request.
TTMSMCPCloudBaseRequestResultEventWrapper Wraps multiple result callback delegates for a single cloud request, allowing the caller to supply a result, string, and stream callback simultaneously.
TTMSMCPCloudBaseRequests Ordered list of pending or completed cloud service request objects managed by a cloud base component.
TTMSMCPCloudBaseService Describes the cloud service endpoint used by a cloud base component, including the service name, base URL, and developer portal URL.
TTMSMCPCustomCloudBase Base class for cloud service components that manage HTTP request execution, authentication scopes, logging, and progress reporting.
TTMSMCPStellarDS Ready-made tool set that exposes a StellarDS backend - its projects, tables, fields and records - as tools a model can call.
Type Kind Description
TTMSMCPCloudAIAssistantTool Enum (undocumented)
TTMSMCPCloudAICacheControl Enum Defines the setting for Clause cache_control
TTMSMCPCloudAICreatedEvent Event type (undocumented)
TTMSMCPCloudAIFileEvent Event type (undocumented)
TTMSMCPCloudAIFileType Enum (undocumented)
TTMSMCPCloudAIFormat Enum (undocumented)
TTMSMCPCloudAILanguage Enum (undocumented)
TTMSMCPCloudAIParameterType Enum (undocumented)
TTMSMCPCloudAIReasoning Enum (undocumented)
TTMSMCPCloudAIResultEvent Event type (undocumented)
TTMSMCPCloudAIRunEvent Event type (undocumented)
TTMSMCPCloudAIService Enum (undocumented)
TTMSMCPCloudAISpeechEvent Event type (undocumented)
TTMSMCPCloudAIToolExecuteEvent Event type (undocumented)
TTMSMCPCloudAIToolType Enum (undocumented)
TTMSMCPCloudAITranscribeAudioEvent Event type (undocumented)
TTMSMCPCloudAIUploadProc Event type (undocumented)
TTMSMCPCloudBaseCancelledEvent Event type (undocumented)
TTMSMCPCloudBaseCompleteEvent Event type (undocumented)
TTMSMCPCloudBaseExternalBrowserCallBackEvent Event type (undocumented)
TTMSMCPCloudBaseLocale Enum (undocumented)
TTMSMCPCloudBaseLogEvent Event type (undocumented)
TTMSMCPCloudBaseProgressEvent Event type (undocumented)
TTMSMCPCloudBaseRequestCompleteEvent Event type (undocumented)
TTMSMCPCloudBaseRequestCurlParserMode Enum (undocumented)
TTMSMCPCloudBaseRequestEvent Event type (undocumented)
TTMSMCPCloudBaseRequestLogEvent Event type (undocumented)
TTMSMCPCloudBaseRequestMethod Enum HTTP method used when executing a cloud service request.
TTMSMCPCloudBaseRequestProgressEvent Event type (undocumented)
TTMSMCPCloudBaseRequestResultEvent Event type (undocumented)
TTMSMCPCloudBaseRequestResultProgressEvent Event type (undocumented)
TTMSMCPCloudBaseRequestResultStreamEvent Event type (undocumented)
TTMSMCPCloudBaseRequestResultStringEvent Event type (undocumented)
TTMSMCPCloudBaseRequestResultType Enum Format in which the cloud service request result is returned.
TTMSMCPCloudBaseRequestRunEvent Event type (undocumented)
TTMSMCPCloudBaseRequestScheme Enum Network scheme used for the request URL.
TTMSMCPCloudBaseStartedEvent Event type (undocumented)
TTMSMCPCloudMode Enum Selects how a call is executed and whether it hands its data back to the caller.
TTMSMCPCloudOpenAIServers Enum (undocumented)
TTMSMCPCloudOpenRouterServers Enum (undocumented)

Cloud AI Tool Sets

Component page

Classes And Records

Type Description
TTMSMCPCloudAIDataSet Class to use a TDataSet
TTMSMCPCloudAIEmail Class to use e-mail send and receive
TTMSMCPCloudAIFileSystem Class to access the local file system
TTMSMCPCloudAILogger Class to perform logging to console, messagebox or file

Cloud Image AI

Component page

Classes And Records

Type Description
ITMSMCPCloudImageAIService Factory that creates and releases the service implementation for one image service.
ITMSMCPCloudImageAIServiceBFL Factory that creates the service implementation targeting the Black Forest Labs image endpoints.
ITMSMCPCloudImageAIServiceGemini Factory that creates the service implementation targeting the Gemini image endpoints.
ITMSMCPCloudImageAIServiceOpenAI Factory that creates the service implementation targeting the OpenAI image endpoints.
ITMSMCPCloudImageAIServiceReve Factory that creates the service implementation targeting the Reve image endpoints.
ITMSMCPCloudImageAIServiceStability Factory that creates the service implementation targeting the Stability image endpoints.
ITMSMCPCustomCloudImageAI Contract every image service implementation fulfils: it builds the provider-specific request for each supported operation and interprets the provider-specific response.
ITMSMCPCustomCloudImageAIInstance Implemented by a service implementation that needs the component's settings injected after it has been created.
ITMSMCPCustomCloudImageAIProperties Read-only view of the request settings that a service implementation needs while it builds an outgoing request.
TTMSMCPCloudAIImage Holds one reference image in memory for use as input to an image generation, background removal or background replacement request.
TTMSMCPCloudAIImages Collection of reference images that are sent together with the prompt when generating an image.
TTMSMCPCloudImageAI Non-visual component that generates and edits images through a cloud image service.
TTMSMCPCustomCloudImageAI Base class for the non-visual component that generates and edits images through a cloud image service.
Type Kind Description
TTMSMCPCloudImageAIErrorEvent Event type Signature of the handler notified when an image request has failed.
TTMSMCPCloudImageAIGenerateImageResultEvent Event type Signature of the handler notified when an image request has produced an image.
TTMSMCPCloudImageAIService Enum Image service a component sends its requests to. Selecting a value swaps the implementation that builds the requests and reads the responses, so it also decides which endpoints are called, which model names and extra parameters are meaningful, and which operations are supported at all.

MCP Client

Component page

Classes And Records

Type Description
EMCPClientException Exception raised when a server connection is used in a way the protocol or its transport does not allow, for example changing the transport kind while the connection is running.
TTMSMCPClient Component that connects a model to one or more servers, so the model can call the tools those servers publish while answering a query.
TTMSMCPClientCapabilities Set of optional features a connection announces to its server during the handshake, so the server knows which requests it may raise.
TTMSMCPClientElicitationCapability Declares which kinds of user-input request a connection accepts from its server. A server may only raise a request whose kind is enabled here.
TTMSMCPClientRootCapability Declares whether a connection publishes local root folders to its server, and holds the folders it publishes.
TTMSMCPClientRootItem One local folder published to a server as a root, so that the server knows which part of the file system it may work with.
TTMSMCPClientRootItems Collection of the local folders published to a server as roots. Adding, removing or changing an entry notifies the server that the root list changed.
TTMSMCPClientServerItem One configured server inside a client's server list. It completes the base connection with the identity of the owning client, the shared request numbering, and the plumbing that lets a blocking tool call be released when its answer arrives.
TTMSMCPClientServers Collection of the servers a client talks to. Besides holding the entries it can load and save the whole list as a configuration file and find the entry that publishes a given tool.
TTMSMCPClientSettingsDialog Ready-made settings window for a client component. Attach it to a client, show it, and the user can manage that client's servers and enter the access keys of the model services.
TTMSMCPClientToolsDialog Ready-made window that lists the tools a server publishes and shows the description of the selected one. Supply the catalog through its initialisation event before showing it.
TTMSMCPCustomClient Base class of the client component. It holds the model connection, the list of servers it talks to, and the glue that turns the tools those servers publish into tool definitions the model can call, then routes each call the model makes to the server that owns the tool.
TTMSMCPCustomClientConnection Base class for a single configured server connection. It owns the transport that reaches the server, performs the handshake, caches the tool, resource and prompt catalogs the server publishes, and routes every response and notification to the matching event.
TTMSMCPCustomClientSettingsDialog Base class of the ready-made settings window for a client component. The window lets the user add, edit and remove the servers the client talks to, start and stop each one, inspect the tools it publishes, and enter the access keys and model names of the supported model services.
TTMSMCPCustomClientToolsDialog Base class of the ready-made tool window. It shows the tools of a server in a list and displays the name and description of the selected one beside it.
TTMSMCPCustomDialog (undocumented)
TTMSMCPDialogButton (undocumented)
TTMSMCPDialogComboBox (undocumented)
TTMSMCPDialogEdit (undocumented)
TTMSMCPDialogForm (undocumented)
TTMSMCPDialogLabel (undocumented)
TTMSMCPDialogListBox (undocumented)
TTMSMCPDialogMemo (undocumented)
TTMSMCPDialogTabs (undocumented)
Type Kind Description
TTMSMCPClientAIResultEvent Event type Delivers the model answer for a completed query.
TTMSMCPClientBeforeUseToolEvent Event type Asks whether one tool invocation requested by the model may go ahead.
TTMSMCPClientLoggingEvent Event type Delivers a log record produced by a client or by one of its server connections.
TTMSMCPClientNotificationType Enum Identifies an unsolicited message pushed by the server, so that the connection can route it to the matching handler. A notification carries no identifier and is never answered.
TTMSMCPClientRequestType Enum Identifies the protocol request a connection sends or has sent, so that an incoming response can be routed back to the handler that understands its payload.
TTMSMCPClientServerBeforeExposeRootEvent Event type Asks whether one local folder may be exposed to the server as a root.
TTMSMCPClientServerBeforeHTTPRequestEvent Event type Lets the application add headers to an outgoing HTTP request.
TTMSMCPClientServerChangeEvent Event type Reports that a server catalog changed and asks whether it should be fetched again.
TTMSMCPClientServerElicitationEvent Event type Asks the application to collect input the server requested.
TTMSMCPClientServerErrorEvent Event type Reports a protocol or transport error for a connection.
TTMSMCPClientServerHTTPResponseEvent Event type Reports an HTTP response before the connection interprets its payload.
TTMSMCPClientServerLoggingEvent Event type Delivers a log record pushed by the server.
TTMSMCPClientServerProc Event type Parameterless callback a connection runs once a paged catalog request has collected every page.
TTMSMCPClientServerPromptResponseEvent Event type Delivers the messages returned for a prompt retrieval.
TTMSMCPClientServerResourceChangeEvent Event type Reports that the content of one subscribed resource changed and asks whether it should be read again.
TTMSMCPClientServerToolResponseEvent Event type Delivers the content blocks returned for a tool call or a resource read.
TTMSMCPClientServerUserResponse Enum Outcome the user chose for a server-initiated elicitation request. The value is reported back to the server as the action field of the elicitation result.
TTMSMCPClientToolCallMode Enum Decides how a client treats a tool invocation the model requests, by setting the starting answer handed to the approval event.
TTMSMCPClientToolsDialogInitListboxEvent Event type Supplies the tool catalog a tool window should list.
TTMSMCPClientTransportType Enum Channel a connection uses to reach its server.
TTMSMCPLoggingLevel Enum Severity of a log record, ordered from least to most severe. The same values describe records written locally and records pushed by a server.

MCP Server

Component page

Classes And Records

Type Description
ETMSMCPReaderException Exception raised by the JSON reader when it encounters malformed or unexpected input during deserialization.
ITMSMCPBaseCollectionIO Interface for collection types that support item creation during JSON deserialization; the persistence engine calls AddItem to append new items to the collection.
ITMSMCPBaseListIO Base interface for list and dictionary types that participate in JSON persistence; exposes the item class for dynamic instantiation during deserialization.
ITMSMCPBasePersistenceIO Base interface for persistence I/O helpers that can create objects by class name; used by the JSON deserializer to reconstruct typed instances.
ITMSMCPCustomEditor Interface implemented by in-place editor controls embedded inside other components; provides uniform text content and selection access.
ITMSMCPCustomReadWriteIO Optional interface for objects that need to intercept individual property reads and writes during JSON persistence; implement to handle custom or non-RTTI properties.
ITMSMCPPersistence Interface implemented by components that support JSON-based settings persistence; provides save/load methods for files and streams and property-level filtering hooks.
ITMSMCPPersistenceIO Extended persistence I/O interface that adds object-reference tracking and owner repair to the base creation factory; implement when the persisted graph contains cross-references between objects.
ITMSMCPProductInfo Interface implemented by every registered component; exposes the component version string and links to its documentation and tips pages.
ITMSMCPSVGBitmap Interface implemented by bitmap-like objects that can store and expose SVG data; used to detect and extract SVG content from bitmaps during PDF and graphics export.
ITMSMCPServerAware Lets a target object receive a reference to the server that reflects over it.
TMCPCapabilityProfile What the revision negotiated for a session permits, resolved once at negotiation time and then consulted wherever behaviour differs between revisions.
TMCPServerIdentity How a server describes itself and which optional capabilities it has switched on, gathered into one value that the revision-specific builders read when they compose the handshake or discovery response.
TTMSMCPAttributedServer Server that publishes tools, resources and prompts declared with attributes.
TTMSMCPBitmap Cross-platform bitmap class that extends the framework bitmap with SVG loading, Base64 import/export, and uniform stream I/O across FMX, VCL, and web targets.
TTMSMCPBitmapHelper Extends the bitmap class with convenience methods for loading and creating bitmaps from SVG strings, Base64 data, URLs, and application resources.
TTMSMCPCursor Translates between a position inside a list of published entries and the opaque cursor string a client sends back to ask for the page that follows it.
TTMSMCPCustomComponent Invisible non-visual component base class with persistence, style adaptation, and DPI-scaling support.
TTMSMCPCustomServer Base implementation of a Model Context Protocol server: it hosts tools, resources and prompts, negotiates the protocol version with each client, dispatches inbound JSON-RPC requests, and drives the server-initiated round trips for sampling, elicitation and roots.
TTMSMCPDoubleList Generic list of Double values, used for JSON persistence serialization and deserialization.
TTMSMCPElicitField Describes a single value that a server asks the connected client application to supply.
TTMSMCPElicitFieldTypeHelper Converts a field type between its enumerated form and the type name used in the generated schema.
TTMSMCPElicitRequest Request with which a server asks the connected client application, and through it the person using that application, for additional input while an operation is running.
TTMSMCPElicitResult Answer returned by the client for an elicitation request.
TTMSMCPElicitSchema Set of fields describing the structured input a server asks the connected client to supply.
TTMSMCPIntegerBooleanDictionary Generic dictionary that maps integer keys to Boolean values, used for JSON persistence and data binding.
TTMSMCPIntegerDoubleDictionary Generic dictionary that maps integer keys to Double values, used for JSON persistence and data binding.
TTMSMCPIntegerIntegerDictionary Generic dictionary that maps integer keys to integer values, used for JSON persistence and data binding.
TTMSMCPIntegerList Generic list of integer values, used for JSON persistence serialization and deserialization.
TTMSMCPIntegerObjectDictionary Generic dictionary that maps integer keys to object values, used for JSON persistence and data binding.
TTMSMCPJSONArrayHelper Adds indexed item access and count helpers to JSON arrays.
TTMSMCPJSONToClass Generates Delphi class source from JSON text, files, or values.
TTMSMCPJSONToClassItem Represents a Delphi class generated from a JSON object.
TTMSMCPJSONToClassItems Stores generated Delphi class items detected from JSON data.
TTMSMCPJSONToClassOptions Defines options used when generating Delphi classes from JSON data.
TTMSMCPJSONToClassProperties Stores JSON properties detected for a generated Delphi class.
TTMSMCPJSONToClassProperty Represents a JSON property while Delphi class source is generated.
TTMSMCPJSONValueHelper Adds convenience accessors for reading typed values and nested data from a JSON value.
TTMSMCPMargins Stores left, top, right, and bottom inset values as floating-point singles, used to define padding or margin around a rectangle.
TTMSMCPMemoryStream Class helper that extends TCustomMemoryStream with web-specific file I/O operations for opening and saving stream data via the browser file API.
TTMSMCPNameLabel Design-time label that displays the owning component's name alongside its icon on the designer canvas.
TTMSMCPObjectHelper Extends TObject with convenience methods for JSON serialization, deserialization, file and stream persistence, and debug logging.
TTMSMCPObjectList Generic list of objects, used for JSON persistence serialization and deserialization.
TTMSMCPObjectPersistence Provides static helper methods for saving and loading objects as JSON strings.
TTMSMCPObjectReference Holds a deferred object reference encountered during JSON deserialization.
TTMSMCPOwnedCollection Typed collection base class that provides a generic enumerator and typed item accessor for component-owned collections.
TTMSMCPPendingClientRequest Bookkeeping entry for one request the server sent to a client while it waits for the matching response. The calling thread blocks on the entry's event until the response arrives over the transport or the wait times out.
TTMSMCPPersistence Provides static class methods for JSON-based serialization and deserialization of Delphi objects using RTTI.
TTMSMCPPersistent Persistent base class that combines TPersistent with interface-reference counting, used as the root for publishable and serializable component sub-objects.
TTMSMCPPoint Stores a 2D floating-point coordinate as a persistent X/Y pair with change notification.
TTMSMCPReader Deserializes Delphi objects from JSON streams using RTTI-based property mapping.
TTMSMCPRoot One filesystem or URI root that a client exposes to the server, as returned by RequestRootsList.
TTMSMCPRttiTool Tool that invokes a method discovered by reflection instead of a hand-written handler.
TTMSMCPRttiToolProperty Published parameter of a tool that was discovered by reflection.
TTMSMCPRttiTools Collection of the tools that were discovered by reflection.
TTMSMCPSVGBitmap Graphic class that loads, stores, and renders SVG content as a scalable bitmap, implementing the ITMSMCPSVGBitmap interface for consistent SVG access.
TTMSMCPSVGImageCollection Image collection component that stores SVG-based images and renders them at any target size by rasterizing the vector source on demand.
TTMSMCPSVGImageCollectionItem A named SVG image collection item that stores an SVG source with optional color, opacity, and rotation overrides applied at render time.
TTMSMCPSVGImageCollectionItems Ordered collection of TTMSMCPSVGImageCollectionItem entries belonging to an SVG image collection.
TTMSMCPSVGImport Abstract base class for SVG importers that parse and render scalable vector graphics into bitmaps or directly onto a canvas.
TTMSMCPSamplingContextIncludeTypeHelper Converts a context scope between its enumerated form and the name used on the wire.
TTMSMCPSamplingMessage Single turn of the conversation sent to the model, pairing a speaker with its payload.
TTMSMCPSamplingMessageContent Payload of one conversation turn: text, an image, an audio fragment, a request to invoke a tool, or the outcome of such an invocation.
TTMSMCPSamplingMessageContentTypeHelper Converts a payload kind between its enumerated form and the name used on the wire.
TTMSMCPSamplingMessageRoleHelper Converts a speaker between its enumerated form and the name used on the wire.
TTMSMCPSamplingMessages Ordered conversation that is sent with a completion request.
TTMSMCPSamplingModelHint Suggests a model, or a family of models, that the client should prefer when it serves a completion request.
TTMSMCPSamplingModelPreferences Guidance for the client on which model to pick for a completion request, combining name hints with the relative weight given to cost, speed and capability.
TTMSMCPSamplingRequest Request with which a server asks the connected client to run a model completion on its behalf and to return the generated reply.
TTMSMCPSamplingRequestBuilder Assembles a completion request through chained calls, each of which returns the builder so that a whole request can be written as one expression.
TTMSMCPSamplingResult Reply the client returns after running a completion on the server's behalf.
TTMSMCPSamplingStopReasonHelper Converts a stop reason between its enumerated form and the name used on the wire.
TTMSMCPScaledBitmap A collection item that pairs a bitmap with a display scale factor for use in high-DPI or retina-aware rendering.
TTMSMCPScaledBitmaps Collection of bitmaps keyed by display scale factor, enabling controls to serve the highest-resolution image available for the current DPI.
TTMSMCPServer Ready-to-use Model Context Protocol server component. It adds no behavior of its own to TTMSMCPCustomServer and only publishes the inherited settings and events so the server can be dropped on a form or data module and configured at design time.
TTMSMCPServerBuilder Fluent configuration helper that creates a server, applies settings step by step and hands over the finished instance.
TTMSMCPServerFactory Creates a ready-to-use attributed server for a single class or object.
TTMSMCPSessionState Per-connection state held by the server for one client session: the negotiated protocol version, the extensions the client declared, the resource and prompt collections scoped to that client, its resource subscriptions, and arbitrary application values stored against it.
TTMSMCPStringList Generic list of string values, used for JSON persistence serialization and deserialization.
TTMSMCPStringObjectDictionary Generic dictionary that maps string keys to object values, used for JSON persistence and data binding.
TTMSMCPTarget One class or object the server reflects over to discover tools, resources and prompts.
TTMSMCPTargets Collection of the classes and objects a server reflects over.
TTMSMCPTask Server-side record of a long-running operation that a client can poll for progress, fetch a result from, and ask to have cancelled.
TTMSMCPTaskRegistry Thread-safe store of the long-running operations a server is tracking.
TTMSMCPTaskStatusHelper Converts a task state between its enumerated form and the name used on the wire, and tells final states apart from states the operation can still move out of.
TTMSMCPWriter Serializes Delphi objects to JSON streams using RTTI-based property enumeration.
Type Kind Description
TMCPProtocolVersion Enum Dated revision of the wire protocol that a session speaks. The values are ordered oldest to newest, so an ordinary comparison answers whether one revision is at least as recent as another.
TTMSMCPAfterExecuteToolEvent Event type Signature of the notification raised after a tool method has returned, with both the native return value and the JSON encoding that will be sent back to the client.
TTMSMCPCompletionEvent Event type Signature of the handler that supplies argument auto-completion candidates for a completion/complete request. Without a handler the server answers with an empty candidate list.
TTMSMCPCustomComponentCanLoadPropertyEvent Event type Event handler used to decide whether a persisted property is applied while loading.
TTMSMCPCustomComponentCanSavePropertyEvent Event type Event handler used to decide whether a property is included in persistence output.
TTMSMCPElicitFieldType Enum Data type requested for one field of an elicitation schema. eftString asks for free-form text, eftNumber asks for a numeric value, eftBoolean asks for a yes/no value, and eftEnum asks for one choice out of a fixed list of values.
TTMSMCPElicitationCompleteEvent Event type Signature of the notification raised when a client reports that an out-of-band elicitation it was asked to run has finished, matching the result back to the original request through its identifier.
TTMSMCPElicitationEvent Event type Signature of the handler that answers an inbound elicitation/create request, that is, a request for user input that arrives at this server. The request is rejected with an error when no handler is assigned.
TTMSMCPElicitationHandler Event type Function invoked to answer an elicitation request.
TTMSMCPJSONToClassBaseClass Enum Specifies the base class used when generating classes from JSON data.
TTMSMCPJSONToClassExportEvent Event type (undocumented)
TTMSMCPJSONToClassPropertyType Enum Kind of value a JSON member holds, as inferred from sample data while Delphi class source is generated. It decides the declared type of the generated property.
TTMSMCPLogEvent Event type Signature of the local diagnostic-trace notification. It reports internal lifecycle activity such as protocol negotiation, transport start and stop, and inbound notifications.
TTMSMCPLogLevel Enum Severity levels defined by the protocol log specification, ordered from least to most severe: llDebug verbose tracing, llInfo routine progress, llNotice normal but significant events, llWarning conditions worth attention, llError failed operations, llCritical failures affecting a component, llAlert conditions requiring immediate action, and llEmergency a system that is unusable.
TTMSMCPLogLevelChangedEvent Event type Signature of the notification raised after a client has changed the requested log severity through a logging/setLevel request.
TTMSMCPOnBeforeExecuteToolEvent Event type Signature of the notification raised just before a tool method is invoked, after the raw request arguments have been resolved into typed values. Use it to inspect, log or validate a call; the handler cannot replace the arguments or suppress the invocation.
TTMSMCPPictureFormat Enum Specifies the image file format associated with picture data.
TTMSMCPPromptsListEvent Event type Signature of the notification raised while a prompts/list request is being answered, allowing the prompt collection to be adjusted before it is serialized.
TTMSMCPReaderCustomReadPropertyEvent Event type (undocumented)
TTMSMCPResourceListEvent Event type Signature of the notification raised while a resources/list request is being answered, allowing the resource collection to be adjusted before it is serialized.
TTMSMCPRootsChangedEvent Event type Signature of the notification raised when a client reports that its list of exposed roots has changed. Request the new list with RequestRootsList.
TTMSMCPSamplingContextIncludeType Enum Selects how much of the surrounding session the client should attach to a completion request. scitNone attaches nothing, scitThisServer attaches the context of the requesting server only, and scitAllServers attaches the context of every server the client is connected to.
TTMSMCPSamplingEvent Event type Signature of the handler that answers an inbound sampling/createMessage request, that is, a request for a model completion that arrives at this server rather than one this server sends to a client.
TTMSMCPSamplingHandler Event type Function invoked to serve a completion request.
TTMSMCPSamplingMessageContentType Enum Kind of payload a conversation turn carries. smctText is plain text, smctImage and smctAudio are binary data with a media type, smctToolUse is a request from the model to invoke a tool with a set of arguments, and smctToolResult is the outcome of such an invocation sent back to the model.
TTMSMCPSamplingMessageRole Enum Speaker a conversation turn is attributed to. smrUser marks input coming from the person or from the calling application, smrAssistant marks a reply produced by the model, and smrSystem marks instructions that steer the model rather than a turn of the conversation.
TTMSMCPSamplingStopReason Enum Reason the model stopped generating a reply.
TTMSMCPSessionEvent Event type Signature of the notification raised when a transport-level session is opened or torn down.
TTMSMCPStreamLoadedEvent Event type (undocumented)
TTMSMCPTaskCancelEvent Event type Signature of the notification raised when a client cancels a running task, giving the handler the opportunity to abort the work in progress.
TTMSMCPTaskCreateEvent Event type Signature of the notification raised immediately after a task has been created for a request that the client asked to run asynchronously, before execution starts.
TTMSMCPTaskExecuteEvent Event type Signature of the handler that takes over execution of a task instead of the built-in tool runner. When assigned, the handler is fully responsible for completing the task through SetTaskResult or SetTaskError.
TTMSMCPTaskStatus Enum Lifecycle state of a long-running operation. tsWorking means the operation is still running, tsInputRequired means it is paused until the client supplies additional input, tsCompleted means it finished and a result is available, tsFailed means it ended with an error, and tsCancelled means it was stopped before finishing.
TTMSMCPToolListEvent Event type Signature of the notification raised while a tools/list request is being answered, giving the handler a chance to add, remove or adjust entries before the list is serialized.
TTMSMCPWriterCustomIsAssignablePropertyEvent Event type (undocumented)
TTMSMCPWriterCustomWritePropertyEvent Event type (undocumented)

MCP Transports

Component page

Classes And Records

Type Description
ITMSMCPHTTPServer The listener behind the server component, as implemented for one platform.
ITMSMCPHTTPServerService Creates and releases the platform's listener on behalf of the server component.
TTMSMCPAccessTokenValidation Outcome an application reports after checking a bearer access token presented with a request.
TTMSMCPClientTransport Base class for the client side of a protocol connection: it carries JSON-RPC messages to a server and reports the messages that come back.
TTMSMCPClientTransportHTTP Client transport that talks to a server over a single streamable network endpoint, posting each protocol message as its own request and reading the answer from that request's reply.
TTMSMCPClientTransportSSE Client transport that receives protocol messages from a server over a long-lived server-sent event stream and sends its own messages back as separate posted requests.
TTMSMCPClientTransportSTDIO Client transport that launches a server as a child process and exchanges protocol messages with it over that process' standard input and output streams.
TTMSMCPCustomHTTPServer Base of the server component: it owns the platform listener and forwards the settings and handlers to it.
TTMSMCPHTTPServer Server component that listens for requests and hands each one to a handler.
TTMSMCPHTTPServerConnection One open connection, for writing to a client outside the normal request and answer.
TTMSMCPHTTPServerHeaderInfo One header of a request or a response, holding its name and value.
TTMSMCPHTTPServerHeaders The headers of one request or response, addressed by name.
TTMSMCPHTTPServerRequest One incoming request, as it is presented to a handler.
TTMSMCPHTTPServerResponse The answer to one request, which a handler fills in.
TTMSMCPNamedPipeTransport Message channel that serves clients on the same machine over a named pipe.
TTMSMCPSSEMessage One already-formatted event waiting in the channel's outbound queue.
TTMSMCPSseTransport Message channel that serves clients over HTTP using two endpoints: a long-lived event stream the server pushes answers down, and a separate address the client posts requests to.
TTMSMCPStdioTransport Message channel that talks to a single client over the process standard input and standard output streams.
TTMSMCPStreamableHTTPMessage One already-formatted event waiting in the channel's outbound queue.
TTMSMCPStreamableHTTPTransport Message channel that serves clients over HTTP on a single endpoint, with sessions and optional server-initiated streaming.
TTMSMCPTransport Base class for the server-side message channels: it owns the running state and the handlers that connect a channel to the server, and defines the contract a concrete channel implements.
Type Kind Description
TTMCMCPLogEvent Event type Reports one progress or diagnostic line produced by the channel.
TTMSMCPClientTransportCreateIOHandler Event type Lets the application supply the I/O handler a transport uses for a secure connection, instead of the default one the transport would create.
TTMSMCPClientTransportCustomHeaderEvent Event type Collects extra request headers to send with an outgoing request over a network channel.
TTMSMCPClientTransportHTTPMessageEvent Event type Reports the payload a request came back with, together with the media type that says how the payload has to be read.
TTMSMCPClientTransportHTTPOAuthNeededEvent Event type Reports that the server refused a request because it is not authorized, and passes on the challenge the server sent with the refusal.
TTMSMCPClientTransportHTTPResponseEvent Event type Reports an exchange over a network channel that did not complete successfully.
TTMSMCPClientTransportMessageEvent Event type Reports one protocol message that a client transport received from the connected server.
TTMSMCPClientTransportResponseEvent Event type Reports the status line and headers of a response as soon as they arrive, before its body is read, and lets the handler decide whether the body is still worth processing.
TTMSMCPGetCustomHeaderEvent Event type Inspects an incoming request and decides whether it may go on to be handled.
TTMSMCPHTTPServerCommandEvent Event type Handles one incoming request and fills in the answer.
TTMSMCPHTTPServerConnectionDisconnectEvent Event type Reports that one connection has been closed.
TTMSMCPHTTPServerMethod Enum Request method of an incoming request. hsmUnknown is a method the server did not recognize, hsmHEAD asks for headers only, hsmGET retrieves, hsmPOST submits, hsmDELETE removes, hsmPUT stores, hsmTRACE echoes the request back, and hsmOPTION asks which methods are available.
TTMSMCPHTTPServerStoppingEvent Event type Reports that the server is shutting down.
TTMSMCPSetCustomHeaderEvent Event type Adds headers to an answer before it is sent.
TTMSMCPTransportGetSessionProtocolVersionEvent Event type Asks the server which protocol version was negotiated for a session, so the transport can check a per-request version header against it.
TTMSMCPTransportProcessMessageContextEvent Event type Hands one inbound protocol message together with the session it arrived on to the server, and returns the message to send back.
TTMSMCPTransportProcessMessageEvent Event type Hands one inbound protocol message to the server and returns the message to send back.
TTMSMCPTransportSessionCreatedEvent Event type Reports that a session-aware transport has opened a new session.
TTMSMCPTransportSessionRemovedEvent Event type Reports that a session-aware transport has ended a session.
TTMSMCPValidateAccessTokenEvent Event type Asks the application to check one bearer access token and report what it grants.

Prompts

Component page

Classes And Records

Type Description
TTMSMCPPrompt A reusable, named conversation template that a client can ask for by name and expand with its own values.
TTMSMCPPromptArgument One value a prompt asks for before it can be expanded.
TTMSMCPPromptArgumentBuilder Describes one argument of a prompt through chained calls, then returns to the prompt being built.
TTMSMCPPromptArguments The ordered set of arguments a prompt declares.
TTMSMCPPromptBuilder Describes a prompt through chained calls and hands over the finished prompt.
TTMSMCPPromptMessage One turn of the conversation an expanded prompt hands back.
TTMSMCPPromptMessages The conversation an expanded prompt hands back, as an ordered list of messages.
TTMSMCPPrompts The set of prompts a server publishes.
Type Kind Description
TTMSMCPPromptMethod Event type Anonymous method that turns the arguments supplied for a prompt into the conversation that is handed back to the client.
TTMSMCPPromptMethodEvent Event type Method-of-object counterpart of the prompt handler, for wiring a handler that is implemented as a method of a form or data module rather than as an anonymous method.

Resources

Component page

Classes And Records

Type Description
TTMSMCPResource One piece of read-only context a server publishes for clients to fetch by address, either at one fixed address or through a template that covers a family of addresses.
TTMSMCPResourceBuilder Describes a resource through chained calls and hands over the finished entry.
TTMSMCPResourceContent The actual content read from a resource: the address it came from, its media type, and either text or binary data.
TTMSMCPResources The set of resources a server publishes, holding both fixed-address entries and templates.
Type Kind Description
TTMSMCPResourceMethod Event type Anonymous method that produces the content of a resource for the address that was requested.
TTMSMCPResourceMethodEvent Event type Method-of-object counterpart of the resource handler, for wiring a handler that is implemented as a method of a form or data module rather than as an anonymous method.

Tools

Component page

Classes And Records

Type Description
TTMSMCPArrayItemProperties Collection of the field descriptions that make up the item schema of an array-of-objects input property.
TTMSMCPArrayItemProperty Describes one field of the objects held by an array-of-objects input property. The set of these fields becomes the items object schema of that property.
TTMSMCPBase Base collection item for the named, described entries a server publishes, such as tools, resources and prompts. It supplies the identifying name and the description advertised to the client, and raises a change notification whenever either is assigned.
TTMSMCPContent Builds the content items that make up a tool result. Every entry point is a class function, so no instance is needed.
TTMSMCPJSONHelper Utility class with JSON building helpers shared by the entry builders.
TTMSMCPJSONSchemaGenerator Generates a draft-07 compatible JSON Schema from a class or record by reflecting its members at run time. It is what turns an object-typed tool parameter into a full nested schema instead of a bare object type, and it can also be used directly to describe a structured tool result.
TTMSMCPJSONSchemaOptions Settings that control how a JSON Schema is generated from a class or record: which members are reflected, whether the root object announces the schema dialect, and how deep nested object types are expanded.
TTMSMCPTool A single callable tool published by a server: its name and description, the input parameters it accepts, the behavioural hints and schemas advertised to the client, and the callback that runs when the client invokes it.
TTMSMCPToolBuilder Fluent builder that configures a tool step by step and hands back the finished instance, as an alternative to creating a tool and assigning its properties one by one.
TTMSMCPToolProperties The input parameters of a tool, in the order they are declared. The order is also the order in which a positional callback receives its arguments.
TTMSMCPToolProperty One input parameter of a tool. Each instance contributes one entry to the tool's input schema and, when required, one name to that schema's required array; at call time it also drives the conversion of the matching JSON parameter into a callback argument.
TTMSMCPToolPropertyBuilder Fluent builder for one input parameter of a tool. It is reached from the tool builder's add-property step and left again with its end step, which appends the finished parameter to the tool and hands control back to the tool builder.
TTMSMCPToolPropertyTypeHelper Record helper that translates a tool property type into the JSON Schema vocabulary used in tool input schemas.
TTMSMCPTools The tools a server publishes. The collection owns its tools and is the list a client sees when it asks which tools are available.
TTMSMCPValue One named argument passed to a tool callback: the name of the input property it belongs to, together with the value converted from the JSON call parameters.
TTMSMCPValueHelper Record helper that converts between loosely typed argument values and their JSON representation, using a declared property type as the conversion contract.
TTMSMCPValues Ordered list of named argument entries, used while converting the JSON call parameters of a tool into callback arguments. The list owns its entries and destroys them with itself. Entries keep the declaration order of the tool's input properties, which is the order a positional callback receives them in.
Type Kind Description
TTMSMCPDynamicMethod Event type Anonymous method implementing a tool that receives its arguments by name instead of by position. Keys are the declared property names, and optional properties that the caller omitted are absent from the dictionary.
TTMSMCPDynamicMethodEvent Event type Event-handler counterpart of the name-keyed tool method, for implementations that live on a component or form rather than in an anonymous method.
TTMSMCPDynamicStructuredMethod Event type Anonymous method implementing a tool that receives its arguments by name and returns a ready-made JSON object instead of a value to be converted. Use it when the result must match a declared output schema exactly.
TTMSMCPErrorCode Enum Error codes reported back to a caller when a request cannot be answered. The first five are the standard JSON-RPC codes; the remaining ones are application-defined codes in the range the specification reserves for server implementations.
TTMSMCPGenerateInputSchemaEvent Event type Occurs while a tool serializes itself, before its input schema is built. Assign a complete JSON Schema string to the variable parameter to publish a hand-written schema instead of the one derived from the tool's properties; leave it empty to keep the generated schema.
TTMSMCPMethod Event type Anonymous method implementing a tool. Arguments arrive positionally, in the order the tool's properties are declared, and the returned value is converted to JSON using the tool's return type.
TTMSMCPMethodEvent Event type Event-handler counterpart of the positional tool method, for implementations that live on a component or form rather than in an anonymous method.
TTMSMCPProcedure Event type Anonymous method that consumes positional arguments without producing a result.
TTMSMCPTaskSupport Enum Declares whether a tool may be invoked as a long-running task. tsForbidden publishes no task capability at all and the tool is only callable in the ordinary request/response way; tsOptional tells the client it may call the tool either way; and tsRequired tells the client it must start the tool as a task. The setting only advertises the capability in the tool descriptor - it does not by itself make execution asynchronous.
TTMSMCPToolPropertyType Enum Data type of a tool input property or of a tool return value. Each value maps onto the JSON Schema type emitted in the tool descriptor: ptInteger becomes integer, ptString becomes string, ptFloat becomes number, ptBoolean becomes boolean, ptDateTime becomes a string with format: date-time carrying an ISO 8601 timestamp, and ptJSON and ptObject both become object (ptObject can additionally expand into a full nested schema derived from the class the property names). ptArrayOfObjects, ptArrayOfStrings, ptArrayOfIntegers, ptArrayOfFloats and ptArrayOfBooleans all become array with an items type of object, string, integer, number and boolean respectively.

See Also