Delphi-MCP-Komponenten — Model-Context-Protocol-Client und -Server
Verbinde Delphi-Anwendungen über das Model Context Protocol mit dem KI-Ökosystem: TsgcWSAPIServer_MCP stellt die Tools, Prompts und Ressourcen deiner Anwendung KI-Modellen zur Verfügung, und TsgcWSAPIClient_MCP konsumiert jeden MCP-kompatiblen Server. Dieselbe Bibliothek liefert KI-API-Clients für OpenAI, Anthropic Claude und Google Gemini.
Die Brücke zwischen KI-Modellen und deiner Anwendung
MCP ist der aufstrebende Standard, um große Sprachmodelle mit externen Tools und Daten zu verbinden. Statt einer eigenen Integration pro KI-Anbieter implementierst du ein einziges Protokoll.
Model Context Protocol in Delphi heißt: Deine bestehende VCL- oder FMX-Anwendung kann ein KI-zugänglicher Dienst werden. Das Protokoll basiert auf JSON-RPC und definiert drei Primitive: Tools (aufrufbare Funktionen mit typisierten Parametern), Prompts (wiederverwendbare Vorlagen mit Argumenten) und Ressourcen (über URI-Adressierung bereitgestellte Daten). Ein MCP-Server veröffentlicht sie; ein MCP-Client (Claude Desktop, Cursor oder deine eigene Delphi-Anwendung) entdeckt sie und ruft sie auf.
Die Server-Komponente dockt an einen sgcWebSockets-HTTP-Server an und unterstützt sowohl stdio- als auch HTTP-Transport. Derselbe Code bedient also einen Desktop-KI-Assistenten, der ihn als Subprozess startet, und einen Remote-Agenten, der ihn über das Netzwerk aufruft. Die Client-Komponente spricht JSON-RPC über HTTP oder HTTP Streamable und deckt die volle Katalog-Oberfläche ab: Initialize, Tools auflisten und aufrufen, Prompts abrufen, Ressourcen lesen, dazu Sampling und Elicitation für interaktive KI-Workflows.
Beide Komponenten implementieren die MCP-2026-07-28-Spezifikation: zustandslose Anfragen mit _meta pro Anfrage, server/discover, subscriptions/listen, Multi Round-Trip Requests und die Tasks-Erweiterung. Sie bleiben abwärtskompatibel zu 2025-11-25. Derselbe Server beantwortet beide Epochen, und der Client fällt automatisch zurück, wenn ein Server nur das ältere Protokoll spricht.
MCP Server
TsgcWSAPIServer_MCP: Tools, Prompts, Ressourcen, stdio- und HTTP-Transport
MCP Client
TsgcWSAPIClient_MCP: jeden MCP-kompatiblen Server entdecken und aufrufen
Delphi 7 bis RAD Studio 13, C++Builder 10.1 Berlin bis 13, Lazarus 4.4.0
Funktionen
Beide Seiten des Protokolls
Server, Client und die KI-Anbieter-Clients, die konsumieren, was MCP bereitstellt.
Tools mit typisierten Schemas
Tools.AddTool registriert eine aufrufbare Funktion und ihre InputSchema-Properties; Aufrufe treffen im Event OnMCPRequestTool mit geparsten Argumenten und einem strukturierten Response-Objekt ein.
Prompts & Ressourcen
Wiederverwendbare Prompt-Vorlagen mit Argumenten und URI-adressierte Ressourcen, ausgeliefert über OnMCPRequestPrompt und OnMCPRequestResource.
Client-Katalog-Oberfläche
Initialize, ListTools, ListPrompts, ListResources, ListResourceTemplates, dann RequestTool / RequestPrompt / RequestResource mit Event-getriebenen Antworten.
Sampling & Elicitation
Der Client unterstützt MCP-Sampling (vom Server angeforderte KI-Modell-Interaktion) und Elicitation (Einholen von Benutzereingaben mitten im Workflow), die beiden interaktiven Erweiterungen des Protokolls.
Authentifizierung
Zu den Client-Authentifizierungsoptionen gehören API-Keys über AuthenticationOptions.ApiKey; für OAuth2-geschützte MCP-Server siehe den Blog.
MCP 2026-07-28
Zustandslose Anfragen, server/discover, Mcp-Method- / Mcp-Name- / Mcp-Param-Header mit Validierung, Cache-Hinweise (ttlMs, cacheScope) und die neuen Fehlercodes. MCPOptions.ProtocolEra auf dem Client wählt Auto, Modern oder Legacy.
Multi Round-Trip Requests
Ein Tool fordert Elicitation (Formular oder URL), Sampling oder Roots über aResponse.InputRequired an; der Client antwortet in OnMCPInputRequired und wiederholt den Aufruf mit dem HMAC-signierten requestState.
Subscriptions & Tasks
subscriptions/listen überträgt Listenänderungen und Ressourcen-Updates als Stream. Die io.modelcontextprotocol/tasks-Erweiterung (CreateTask) führt lang laufende Tools im Hintergrund aus, und die Client-Komponente fragt sie mit MCPOptions.Tasks.Enabled ab oder ruft sie direkt mit TasksGet ab.
MCP-Client-OAuth
MCPOptions.Authorization: Protected-Resource-Metadata-Discovery, Client ID Metadata Documents, Fallback auf dynamische Registrierung, PKCE mit Resource Indicators, RFC-9207-iss-Validierung und Anmeldedaten pro Issuer.
Zwei Transporte
Stdio für als Subprozess gestartete Server (das Claude-Desktop-Modell) und HTTP für Netzwerk-Deployments. Eine Komponente, beide Kanäle.
KI-Client-Familie
Sprich auch direkt mit den Modellen: Chat, Streaming und Function Calling gegen OpenAI, Anthropic Claude und Google Gemini, plus DeepSeek, Grok, Mistral und Ollama in derselben KI-Familie.
Cross-Plattform
Windows 32/64, Linux 64, macOS (Intel und ARM), iOS und Android. VCL und FireMonkey, mit Design-Time-Komponenten.
Edition
MCP-Server, MCP-Client und die KI-API-Clients sind Enterprise-Edition-Funktionen von sgcWebSockets.
Schnellstart
Ein MCP-Server und ein MCP-Client in Delphi
Registriere auf dem Server ein Tool mit typisiertem Argument; entdecke und rufe es vom Client aus auf.
uses
sgcWebSocket_Server, sgcAI, sgcAI_MCP_Classes, sgcAI_MCP_Server;
procedure TForm1.SetupMCPServer;
begin// Attach the MCP API component to a sgcWebSockets HTTP server
MCPServer.Server := Server;
MCPServer.EndpointOptions.Endpoint := '/mcp';
MCPServer.MCPOptions.ServerInfo.Name := 'sgc-mcp-server';
MCPServer.MCPOptions.ServerInfo.Version := '1.0.0';
// Register a callable tool with a typed argumentwith MCPServer.Tools.AddTool('GetTemperature',
'Get the actual temperature in a city.') do
InputSchema.Properties.AddProperty('city', True);
MCPServer.OnMCPRequestTool := MCPRequestTool;
Server.Port := 8080;
Server.Active := True;
end;
procedure TForm1.MCPRequestTool(Sender: TObject;
const aSession: TsgcAI_MCP_Session;
const aRequest: TsgcAI_MCP_Request_ToolsCall;
const aResponse: TsgcAI_MCP_Response_ToolsCall);
beginif aRequest.Params.Name = 'GetTemperature'then
aResponse.Result.Content.AddText('The current temperature in ' +
aRequest.Params.Arguments.Item[0].Value + ' is 22 Celsius');
end;
Lass ein KI-Modell die Daten deiner Anwendung über kontrollierte, typisierte Tools abfragen. Read-only oder Read-write, dein Handler entscheidet pro Aufruf.
Business-Automatisierung
Stelle CRM-, ERP- oder Ticketing-Operationen als MCP-Tools bereit, damit Anweisungen in natürlicher Sprache bestehende Delphi-Geschäftslogik steuern.
KI-gestützte Desktop-Tools
Gib Assistenten wie Claude Desktop Zugriff auf die Funktionalität einer Legacy-Anwendung, indem du sie in einen stdio-MCP-Server verpackst.
Mehrstufige KI-Workflows
Verkette Tools und Ressourcen für Retrieval, Verarbeitung und Aktion in einer einzigen KI-getriebenen Pipeline, orchestriert von der Delphi-Seite aus.