Composant serveur MCP — sgcAI | eSeGeCe

Serveur MCP

TsgcWSAPIServer_MCP transforme un serveur HTTP ou WebSocket sgc en serveur Model Context Protocol. Publie tes propres outils, prompts et ressources, et n'importe quel client compatible MCP, un agent d'IDE, un assistant de bureau ou ton propre code, peut appeler ton application.

TsgcWSAPIServer_MCP

La moitié serveur de MCP. Il analyse le JSON-RPC sur ton endpoint, gère les sessions, déclenche un événement par requête d'outil, de prompt ou de ressource, et peut pousser des notifications et des requêtes initiées par le serveur vers le client.

Classe du composant

TsgcWSAPIServer_MCP

Rôle

Héberger des outils pour les clients d'IA

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.

Publier tes outils vers les clients d'IA

Rattache l'API à un serveur, renseigne ServerInfo, gère les événements de requête, passe Active à True.

uses
  sgcAI, sgcAI_MCP_Classes, sgcHTTP_Server;

var
  oMCP: TsgcWSAPIServer_MCP;
begin
  oMCP := TsgcWSAPIServer_MCP.Create(nil);
  oMCP.Server := sgcHTTPServer1;
  oMCP.EndpointOptions.Endpoint := '/mcp';

  oMCP.MCPOptions.ServerInfo.Name    := 'sgc-mcp-server';
  oMCP.MCPOptions.ServerInfo.Version := '1.0.0';
  oMCP.MCPOptions.SessionTimeout     := 300;

  // Streamable HTTP enables notifications and server to client requests.
  oMCP.TransportOptions.Http.Enabled           := True;
  oMCP.TransportOptions.HttpStreamable.Enabled := True;

  oMCP.OnMCPInitialize     := SrvInitialize;
  oMCP.OnMCPSessionNew     := SrvSessionNew;
  oMCP.OnMCPRequestTool    := SrvCallTool;
  oMCP.OnMCPRequestPrompt  := SrvGetPrompt;
  oMCP.OnMCPRequestResource := SrvReadResource;

  sgcHTTPServer1.Active := True;

  // Tell every connected session the tool list changed.
  oMCP.SendNotificationToolsListChanged;
end;
// includes: sgcAI.hpp, sgcAI_MCP_Classes.hpp, sgcHTTP_Server.hpp

TsgcWSAPIServer_MCP *oMCP = new TsgcWSAPIServer_MCP(NULL);
oMCP->Server = sgcHTTPServer1;
oMCP->EndpointOptions->Endpoint = "/mcp";

oMCP->MCPOptions->ServerInfo->Name    = "sgc-mcp-server";
oMCP->MCPOptions->ServerInfo->Version = "1.0.0";

oMCP->TransportOptions->HttpStreamable->Enabled = true;
oMCP->OnMCPRequestTool = SrvCallTool;

sgcHTTPServer1->Active = true;

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

Les membres que tu utilises le plus souvent.

Lien vers le serveur

Server désigne le serveur HTTP ou WebSocket qui écoute, et EndpointOptions.Endpoint est le chemin sur lequel arrivent les requêtes JSON-RPC.

MCPOptions

ServerInfo est ce que les clients voient pendant la poignée de main. SessionTimeout fait expirer les sessions inactives, TasksSupported annonce la capacité de tâches, et AuthenticationOptions couvre la clé API, l'en-tête personnalisé et OAuth 2.0.

TransportOptions

Http.Enabled sert du JSON-RPC simple en POST. HttpStreamable.Enabled ajoute le keep-alive et le flux de notifications SSE, ce qui rend possibles les notifications et les requêtes initiées par le serveur. HttpStreamable.ValidateOrigin attache une session à son en-tête Origin d'origine.

Catalogues

Tools, Prompts, Resources et ResourceTemplates contiennent ce que le serveur annonce. Remplis-les au démarrage ou modifie-les à l'exécution, puis envoie la notification de liste modifiée correspondante.

Événements de requête

OnMCPRequestTool, OnMCPRequestPrompt et OnMCPRequestResource sont l'endroit où ton code fait le travail. OnMCPInitialize, OnMCPSessionNew et OnMCPSessionEnd suivent le cycle de vie de la session, et OnMCPException signale les échecs.

Notifications

SendNotificationToolsListChanged, SendNotificationPromptsListChanged, SendNotificationResourcesListChanged, SendNotificationResourcesUpdated et SendLogMessage poussent les mises à jour vers les sessions connectées.

Requêtes initiées par le serveur

RequestRootsList, RequestSamplingCreateMessage et RequestElicitationCreate permettent au serveur de demander au client des racines de système de fichiers, une complétion de modèle ou une saisie utilisateur, la réponse arrivant sur l'événement OnMCPResponse* correspondant.

OAuth 2.0 intégré

Le composant implémente le côté serveur d'autorisation du flux d'authentification MCP, y compris l'enregistrement dynamique de client, une page de consentement, PKCE et les jetons de rafraîchissement, si bien qu'un agent peut s'autoriser auprès de ton serveur sans service d'identité séparé.

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 gratuitExpose la logique de ta propre application à un client d'IA.
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 laisse un agent d'IA appeler ton application via MCP.