Outils du serveur MCP Delphi (2/4)

· Fonctionnalités

Avec la sortie de sgcWebSockets 2025.9.0, les développeurs peuvent désormais intégrer la fonctionnalité Model Context Protocol (MCP) directement dans leurs serveurs. Cela inclut la capacité à gérer les requêtes d'outils MCP, un composant clé pour permettre une communication dynamique et intelligente entre les modèles IA et les services backend.

Ce guide te montrera comment fonctionnent les requêtes d'outils MCP, comment les gérer dans ton serveur TsgcWSAPIServer_MCP et comment renvoyer des réponses structurées au client ou à l'agent IA. 

Comprendre les requêtes d'outils MCP

Dans l'écosystème MCP (Model Context Protocol), les outils représentent des capacités qu'un modèle IA peut invoquer — par exemple, interroger une base de données, envoyer un e-mail ou récupérer des données depuis une API.

Un serveur MCP expose ces outils via WebSockets, et les clients (comme les agents IA) peuvent émettre des requêtes d'outils pour déclencher des actions spécifiques. Le composant TsgcWSAPIServer_MCP dans sgcWebSockets simplifie tout le flux, décodant automatiquement les messages MCP et les routant vers les gestionnaires d'événements appropriés dans ton serveur. 

Comment fonctionnent les requêtes d'outils MCP

Le flux de communication ressemble généralement à ceci :

  1. Le client envoie une requête d'outil (message MCP au format JSON) au serveur MCP.
  2. sgcWebSockets analyse la requête et déclenche un événement comme OnToolRequest.
  3. Le serveur exécute l'action demandée — par exemple, lit depuis un CRM, interroge une base de données ou effectue un calcul.
  4. Le serveur construit une réponse au format MCP (incluant toutes les données de résultat ou erreurs).
  5. La réponse est renvoyée au client demandeur.

Chaque requête d'outil MCP est identifiée par :

Gérer les requêtes d'outils en Delphi

Une fois que tu as configuré ton serveur MCP avec TsgcWSAPIServer_MCP, tu peux gérer les requêtes d'outils entrantes via les gestionnaires d'événements.
Voici un exemple d'implémentation d'un gestionnaire pour les requêtes d'outils MCP entrantes. 

procedure TMainForm.MCPServerMCPRequestTool(Sender: TObject;
  const ASession: TsgcAI_MCP_Session;
  const ARequest: TsgcAI_MCP_Request_ToolsCall;
  const AResponse: TsgcAI_MCP_Response_ToolsCall);
var
  LA, LB: Double;
begin
  if ARequest.Params.Name = 'math.add' then
  begin
    LA := ARequest.Params.Arguments.Node['a'].AsNumber;
    LB := ARequest.Params.Arguments.Node['b'].AsNumber;
    AResponse.Result.Content.AddText(Format('Sum = %.2f', [LA + LB]));
  end
  else
    AResponse.Result.IsError := True;
end; 

Utiliser les métadonnées d'outils MCP

Tu peux aussi enregistrer et exposer des métadonnées sur les outils disponibles via l'API MCP.
Cela permet aux modèles IA de découvrir tes outils disponibles dynamiquement et de comprendre leurs paramètres attendus.

Par exemple, tu peux déclarer : 

procedure TMainForm.FormCreate(Sender: TObject);
var
  oTool: TsgcAI_MCP_Tool;
begin
  oTool := MCPServer.Tools.AddTool('math.add', 'Adds two numbers');
  oTool.InputSchema.Properties.AddProperty('a', True, aimcpjtNumber, 'Left operand');
  oTool.InputSchema.Properties.AddProperty('b', True, aimcpjtNumber, 'Right operand');
end; 

Ces informations aident les clients IA à comprendre automatiquement comment appeler tes outils, ce qui facilite la création d'intégrations IA auto-documentées

Résumé

Les requêtes d'outils MCP dans sgcWebSockets 2025.9.0 offrent un moyen simple mais puissant de connecter tes modèles IA aux systèmes du monde réel.
En utilisant le composant TsgcWSAPIServer_MCP et sa gestion intégrée des requêtes d'outils, tu peux :

En savoir plus

Pour un regard plus approfondi sur l'API MCP et les composants serveur disponibles, visite la documentation officielle :


👉 Référence du serveur d'outils MCP sgcWebSockets 


Tu trouveras ci-dessous une démo de serveur MCP Delphi pour Windows.