MCP Client

TsgcWSAPIClient_MCP ist die Client-Hälfte des Model Context Protocol. Die Komponente verbindet sich mit jedem MCP-Server, über HTTP, HTTP Streamable oder einen lokalen stdio-Subprozess, listet die angebotenen Tools, Prompts und Ressourcen auf und ruft sie aus deinem Code heraus auf.

TsgcWSAPIClient_MCP

Ein JSON-RPC-MCP-Client mit drei Transporten. Er führt den Initialize-Handshake durch, verfolgt die Sitzung, stellt Anfragen und beantwortet die vom Server ausgehenden Anfragen, die deine Anwendung unterstützen möchte.

Komponentenklasse

TsgcWSAPIClient_MCP

Zweck

MCP-Server nutzen

Plattformen

Windows, macOS, Linux, iOS und Android

sgcAI ist eigenständig. Diese Komponente wird in sgcAI zusammen mit der sgcWebSockets Core Runtime ausgeliefert, auf der sie aufbaut.

Ein Tool auf einem MCP-Server aufrufen

Setze den Transport und seine Optionen, initialisiere, liste dann Tools, Prompts und Ressourcen auf und rufe sie auf.

uses
  sgcAI, sgcAI_MCP_Classes, sgcAI_MCP_Types;

var
  oMCP: TsgcWSAPIClient_MCP;
begin
  oMCP := TsgcWSAPIClient_MCP.Create(nil);

  // Remote server over streamable HTTP.
  oMCP.MCPOptions.Transport      := aimcptrHttpStreamable;
  oMCP.MCPOptions.HttpOptions.URL := 'https://mcp.example.com/mcp';
  oMCP.MCPOptions.ClientInfo.Name    := 'sgc-mcp-client';
  oMCP.MCPOptions.ClientInfo.Version := '1.0.0';
  oMCP.MCPOptions.AuthenticationOptions.ApiKey.Enabled := True;
  oMCP.MCPOptions.AuthenticationOptions.ApiKey.Value   := 'mcp-...';

  oMCP.OnMCPListTools    := MCPListTools;
  oMCP.OnMCPResponseTool := MCPToolResponse;

  oMCP.Initialize;
  oMCP.ListTools;
  oMCP.RequestTool('GetTemperature', vArguments);   // vArguments: IsgcJSON
end;

// Or spawn a local MCP server as a subprocess instead:
oMCP.MCPOptions.Transport := aimcptrStdio;
oMCP.MCPOptions.StdioOptions.Command   := 'C:\tools\my-mcp-server.exe';
oMCP.MCPOptions.StdioOptions.Arguments := '--stdio';
// includes: sgcAI.hpp, sgcAI_MCP_Classes.hpp, sgcAI_MCP_Types.hpp

TsgcWSAPIClient_MCP *oMCP = new TsgcWSAPIClient_MCP(NULL);
oMCP->MCPOptions->Transport = aimcptrHttpStreamable;
oMCP->MCPOptions->HttpOptions->URL = "https://mcp.example.com/mcp";
oMCP->MCPOptions->ClientInfo->Name = "sgc-mcp-client";

oMCP->OnMCPListTools    = MCPListTools;
oMCP->OnMCPResponseTool = MCPToolResponse;

oMCP->Initialize();
oMCP->ListTools();

Wichtige Eigenschaften & Methoden

Die Member, zu denen du am häufigsten greifst.

Transport

MCPOptions.Transport wählt aimcptrHttp für einfaches JSON-RPC über POST, aimcptrHttpStreamable für Keep-Alive plus einen SSE-Benachrichtigungsstrom, oder aimcptrStdio, um einen lokalen Server als Subprozess zu starten.

HttpOptions und StdioOptions

HttpOptions trägt URL, TLS-Optionen und Protokollierung. StdioOptions trägt Command, Arguments, WorkingDir, Environment und Timeout für den Subprozess.

Authentifizierung

AuthenticationOptions unterstützt einen API-Schlüssel, einen eigenen Header oder einen vollständigen OAuth-2.0-Ablauf einschließlich Identity Assertion, was öffentliche MCP-Server zunehmend verlangen.

Sitzung

Initialize führt den Handshake durch und Ping prüft die Erreichbarkeit. HeartBeat sendet regelmäßige Pings, damit eine untätige Sitzung nicht abgebaut wird, und Session legt den ausgehandelten Sitzungszustand offen.

Tools, Prompts und Ressourcen

ListTools und RequestTool, ListPrompts und RequestPrompt, ListResources, ListResourceTemplates und RequestResource. Die Listen nehmen ein Cursor-Argument zur Seitenaufteilung entgegen.

Abonnements und Protokollierung

SubscribeResource und UnsubscribeResource verfolgen Änderungen an einer Ressource, SetLoggingLevel stellt die Ausführlichkeit auf Serverseite ein und Complete fragt Argumentvervollständigungen an.

Dem Server antworten

OnMCPListRoots, OnMCPSamplingCreateMessage und OnMCPElicitationCreate feuern, wenn der Server den Client nach Dateisystem-Roots, einer Modellantwort oder einer Benutzereingabe fragt, sodass deine Anwendung die Antwort liefert. Ein Legacy-Server (2025-11-25 oder älter), der diese Anfragen direkt sendet, außerhalb von Multi Round-Trip Requests, erhält seine Antwort automatisch zurückgesendet, sobald der Handler zurückkehrt.

Ereignisse

OnMCPInitialize, OnMCPPing, OnMCPListTools, OnMCPResponseTool, OnMCPListPrompts, OnMCPResponsePrompt, OnMCPListResources, OnMCPResponseResource und OnMCPStreamMessage.

MCP 2026-07-28

MCPOptions.ProtocolEra wählt Auto, Modern oder Legacy. Im Auto-Modus ruft der Client server/discover auf und fällt auf den 2025-11-25-initialize-Handshake zurück, wenn der Server älter ist. Discover, NegotiatedEra und OnMCPDiscover geben das Ergebnis preis.

Multi Round-Trip Requests

Wenn ein Server Elicitation, Sampling oder Roots braucht, um einen Aufruf abzuschließen, feuert OnMCPInputRequired mit den Anfragen. Befülle die Antworten, und der Client wiederholt den Aufruf mit dem signierten requestState, bis zu MCPOptions.MRTR.MaxRounds.

subscriptions/listen

SubscriptionsListen öffnet einen Stream für Listenänderungen und Ressourcen-Updates, zugestellt über OnMCPListChanged und OnMCPResourcesUpdated. SubscriptionsCancel schließt ihn.

Tasks-Erweiterung

MCPOptions.Tasks.Enabled deklariert die Erweiterung; AutoPoll fragt einen laufenden Task automatisch ab. TasksGet, TasksUpdate und TasksCancel sind die manuellen Methoden, und OnMCPTaskCreated, OnMCPTaskStatus und OnMCPTaskCompleted melden den Fortschritt.

OAuth für MCP-Server

MCPOptions.Authorization entdeckt Protected-Resource-Metadaten, registriert über Client ID Metadata Documents oder dynamische Registrierung mit application_type, nutzt PKCE und Resource Indicators, validiert iss (RFC 9207) und verwaltet Anmeldedaten pro Issuer.

Spezifikationen & Referenzen

Maßgebliche Quellen zu den Diensten und Protokollen, die diese Komponente nutzt.

Weiter entdecken

Online-HilfeVollständige API-Referenz und Anwendungsleitfaden für die sgcAI-Komponenten.
Alle sgcAI-KomponentenDurchstöbere die vollständige Funktionsmatrix aller 15 Komponenten.
Kostenlose Testversion herunterladenVerbinde dich aus deinem eigenen Code mit einem öffentlichen oder lokalen MCP-Server.
PreiseSingle-, Team- und Site-Lizenzen, vollständiger Quellcode.
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Bereit loszulegen?

Lade die kostenlose Testversion herunter und rufe einen MCP-Server aus Delphi oder C++ Builder auf.