Table of Contents

MCP Transports

A transport is the pipe an MCP server and client talk through. The protocol is the same in every case — JSON-RPC 2.0 messages — but how those messages travel decides where the server can run, how many clients it can serve at once, whether it has sessions, and what securing it involves. TMS AI Studio ships four server transports (STDIO, Named Pipe, SSE, Streamable HTTP), four matching client transports, and a standalone HTTP server the HTTP transports build on.

Documentation

Start here Use when
Getting started You want a server reachable by a client.
User guide You want task-oriented chapters grouped by feature area.
API reference You want exact class, property, method, and event contracts.
Release notes You want the version history for this component.

Key classes

Class Role
TTMSMCPTransport Abstract base. Defines Start, Stop, Run, session enumeration, and notification delivery.
TTMSMCPStdioTransport Standard input/output. The default when no transport is assigned.
TTMSMCPNamedPipeTransport Windows named pipe, local or across machines.
TTMSMCPSseTransport HTTP with Server-Sent Events, using separate SSE and message endpoints.
TTMSMCPStreamableHTTPTransport The current HTTP transport: one endpoint, sessions, TLS, CORS, and OAuth 2.1.
TTMSMCPHTTPServer The HTTP server the two HTTP transports are built on.
TTMSMCPClientTransport Base class for the client-side transports.
TTMSMCPClientTransportSTDIO Client side of STDIO — launches a server process and talks to it.
TTMSMCPClientTransportHTTP Client side of Streamable HTTP.
TTMSMCPClientTransportSSE Client side of SSE.
TTMSMCPAccessTokenValidation The outcome of validating a bearer token: validity, subject, client, scopes, expiry, and error detail.

Minimal example

procedure TServerApp.Run;
var
  Server: TTMSMCPServer;
  Transport: TTMSMCPStdioTransport;
begin
  Server := TTMSMCPServer.Create(nil);
  try
    Server.ServerName := 'InventoryServer';
    Server.ServerVersion := '1.0.0';
    RegisterTools(Server);

    Transport := TTMSMCPStdioTransport.Create(Server);
    Server.Transport := Transport;

    Server.Start;

    { Blocks, pumping messages until stdin closes. }
    Transport.Run;
  finally
    Server.Free;
  end;
end;

Choosing one

Transport Reach Sessions Typical use
STDIO The process that launched the server No A desktop AI assistant launching your executable.
Named Pipe Local machine, or a named machine No A running desktop application exposed to a local client.
SSE Network Limited Clients that expect the earlier two-endpoint HTTP shape.
Streamable HTTP Network Yes A hosted, multi-client server. The current HTTP choice.

API map

Role Types
Server transports TTMSMCPTransport, TTMSMCPStdioTransport, TTMSMCPNamedPipeTransport, TTMSMCPSseTransport, TTMSMCPStreamableHTTPTransport
Client transports TTMSMCPClientTransport, TTMSMCPClientTransportSTDIO, TTMSMCPClientTransportHTTP, TTMSMCPClientTransportSSE
HTTP plumbing TTMSMCPHTTPServer, TTMSMCPHTTPServerRequest, TTMSMCPHTTPServerResponse, TTMSMCPHTTPServerConnection, TTMSMCPHTTPServerHeaders, TTMSMCPHTTPServerMethod
Authentication TTMSMCPAccessTokenValidation, TTMSMCPValidateAccessTokenEvent
Message events TTMSMCPTransportProcessMessageEvent, TTMSMCPTransportSessionCreatedEvent, TTMSMCPTransportSessionRemovedEvent
HTTP header events TTMSMCPGetCustomHeaderEvent, TTMSMCPSetCustomHeaderEvent
Stream payloads TTMSMCPSSEMessage, TTMSMCPStreamableHTTPMessage

Guides

Guide Covers
Choosing a transport What each transport can and cannot do, STDIO and Named Pipe in detail, the client side, and error reporting and diagnostics.
HTTP transports Streamable HTTP and SSE: endpoints, TLS, sessions, CORS, public host, custom headers, and bearer authentication.

See Also