MCP-Client-Komponente — sgcAI | eSeGeCe

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. Du musst also keine Basislizenz kaufen.

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.

Ereignisse

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

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, kein Basisprodukt erforderlich.
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.