Composant client MCP — sgcAI | eSeGeCe

Client MCP

TsgcWSAPIClient_MCP est la moitié cliente du Model Context Protocol. Il se connecte à n'importe quel serveur MCP, via HTTP, HTTP Streamable ou un sous-processus stdio local, liste les outils, prompts et ressources qu'il propose, et les appelle depuis ton code.

TsgcWSAPIClient_MCP

Un client MCP JSON-RPC avec trois transports. Il effectue la poignée de main d'initialisation, suit la session, émet les requêtes et répond à celles que le serveur initie, parmi celles que ton application choisit de prendre en charge.

Classe du composant

TsgcWSAPIClient_MCP

Rôle

Consommer des serveurs MCP

Plateformes

Windows, macOS, Linux, iOS et Android

sgcAI est autonome. Ce composant est livré dans sgcAI avec le runtime sgcWebSockets Core sur lequel il repose, il n'y a donc aucune licence de base à acheter.

Appeler un outil sur un serveur MCP

Règle le transport et ses options, initialise, puis liste et appelle les outils, prompts et ressources.

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();

Propriétés et méthodes clés

Les membres que tu utilises le plus souvent.

Transport

MCPOptions.Transport choisit aimcptrHttp pour du JSON-RPC simple en POST, aimcptrHttpStreamable pour du keep-alive plus un flux de notifications SSE, ou aimcptrStdio pour lancer un serveur local en sous-processus.

HttpOptions et StdioOptions

HttpOptions porte l'URL, les options TLS et la journalisation. StdioOptions porte Command, Arguments, WorkingDir, Environment et Timeout pour le sous-processus.

Authentification

AuthenticationOptions prend en charge une clé API, un en-tête personnalisé, ou un flux OAuth 2.0 complet avec assertion d'identité, ce que les serveurs MCP publics exigent de plus en plus.

Session

Initialize effectue la poignée de main et Ping vérifie que la session est vivante. HeartBeat envoie des pings périodiques pour qu'une session inactive ne soit pas coupée, et Session expose l'état négocié de la session.

Outils, prompts et ressources

ListTools et RequestTool, ListPrompts et RequestPrompt, ListResources, ListResourceTemplates et RequestResource. Les listes acceptent un argument de curseur pour la pagination.

Abonnements et journalisation

SubscribeResource et UnsubscribeResource suivent les changements d'une ressource, SetLoggingLevel ajuste la verbosité côté serveur, et Complete demande des complétions d'arguments.

Répondre au serveur

OnMCPListRoots, OnMCPSamplingCreateMessage et OnMCPElicitationCreate se déclenchent quand le serveur demande au client des racines de système de fichiers, une complétion de modèle ou une saisie utilisateur, pour que ton application fournisse la réponse.

Événements

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

Spécifications et références

Les sources faisant autorité pour les services et protocoles utilisés par ce composant.

Pour aller plus loin

Aide en ligneRéférence complète de l'API et guide d'utilisation des composants sgcAI.
Tous les composants sgcAIParcours la matrice complète des fonctionnalités des 15 composants.
Télécharger l'essai gratuitConnecte-toi à un serveur MCP public ou local depuis ton propre code.
TarifsLicences Single, Team et Site, code source complet, aucun produit de base requis.
Meilleur rapport qualité-prix : All-AccessTous les produits eSeGeCe, Support Premium inclus, à partir de €1,059/an.
Voir les tarifs All-Access

Prêt à te lancer ?

Télécharge l'essai gratuit et appelle un serveur MCP depuis Delphi ou C++ Builder.