Composants MCP Delphi — Client et serveur Model Context Protocol

Connectez vos applications Delphi à l'écosystème IA via le Model Context Protocol : TsgcWSAPIServer_MCP expose les outils, prompts et ressources de votre application aux modèles IA, et TsgcWSAPIClient_MCP consomme n'importe quel serveur compatible MCP. La même bibliothèque livre des clients d'API IA pour OpenAI, Anthropic Claude et Google Gemini.

Le pont entre les modèles IA et votre application

MCP est le standard émergent pour connecter les grands modèles de langage à des outils et données externes. Au lieu d'une intégration sur mesure par fournisseur IA, vous implémentez un seul protocole.

Le Model Context Protocol en Delphi signifie que votre application VCL ou FMX existante peut devenir un service accessible aux IA. Le protocole est basé sur JSON-RPC et définit trois primitives : les outils (fonctions appelables avec paramètres typés), les prompts (modèles réutilisables avec arguments) et les ressources (données exposées par adressage URI). Un serveur MCP les publie ; un client MCP (Claude Desktop, Cursor ou votre propre application Delphi) les découvre et les appelle.

Le composant serveur s'attache à un serveur HTTP sgcWebSockets et supporte les transports stdio et HTTP, le même code sert donc un assistant IA de bureau qui le lance comme sous-processus et un agent distant qui l'appelle par le réseau. Le composant client parle JSON-RPC sur HTTP ou HTTP Streamable et couvre toute la surface du catalogue : initialize, lister et appeler les outils, récupérer les prompts, lire les ressources, plus le sampling et l'elicitation pour les workflows IA interactifs.

Les deux composants implémentent la spécification MCP 2026-07-28 : requêtes sans état avec _meta par requête, server/discover, subscriptions/listen, Multi Round-Trip Requests et l'extension Tasks. Ils restent compatibles avec 2025-11-25. Le même serveur répond aux deux ères, et le client se replie automatiquement lorsqu'un serveur ne parle que l'ancien protocole.

Serveur MCP

TsgcWSAPIServer_MCP : outils, prompts, ressources, transports stdio et HTTP

Client MCP

TsgcWSAPIClient_MCP : découvrez et appelez n'importe quel serveur compatible MCP

Clients d'API IA

TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic, TsgcHTTP_API_Gemini

Compilateurs

De Delphi 7 à RAD Studio 13, C++Builder 10.1 Berlin à 13, Lazarus 4.4.0

Les deux côtés du protocole

Serveur, client et les clients de fournisseurs IA qui consomment ce que MCP expose.

Outils avec schémas typés

Tools.AddTool enregistre une fonction appelable et ses propriétés InputSchema ; les appels arrivent dans l'événement OnMCPRequestTool avec les arguments parsés et un objet de réponse structuré.

Prompts & ressources

Modèles de prompts réutilisables avec arguments et ressources adressées par URI, servis via OnMCPRequestPrompt et OnMCPRequestResource.

Surface catalogue du client

Initialize, ListTools, ListPrompts, ListResources, ListResourceTemplates, puis RequestTool / RequestPrompt / RequestResource avec réponses événementielles.

Sampling & elicitation

Le client supporte le sampling MCP (interaction avec le modèle IA demandée par le serveur) et l'elicitation (collecte d'une saisie utilisateur en cours de workflow), les deux extensions interactives du protocole.

Authentification

Les options d'authentification côté client incluent les clés API via AuthenticationOptions.ApiKey ; voir le blog pour les serveurs MCP protégés par OAuth2.

MCP 2026-07-28

Requêtes sans état, server/discover, en-têtes Mcp-Method / Mcp-Name / Mcp-Param avec validation, indices de cache (ttlMs, cacheScope) et les nouveaux codes d'erreur. MCPOptions.ProtocolEra côté client sélectionne Auto, Modern ou Legacy.

Multi Round-Trip Requests

Un outil demande une elicitation (formulaire ou URL), un sampling ou des roots via aResponse.InputRequired ; le client répond dans OnMCPInputRequired et relance l'appel avec le requestState signé HMAC.

Abonnements et tâches

subscriptions/listen diffuse les changements de liste et les mises à jour de ressources. L'extension io.modelcontextprotocol/tasks (CreateTask) exécute les outils longs en arrière-plan, et le composant client la scrute avec MCPOptions.Tasks.Enabled ou la récupère directement avec TasksGet.

OAuth client MCP

MCPOptions.Authorization : découverte des métadonnées de ressource protégée, Client ID Metadata Documents, repli sur l'enregistrement dynamique, PKCE avec indicateurs de ressource, validation iss RFC 9207 et identifiants par émetteur.

Deux transports

Stdio pour les serveurs lancés en sous-processus (le modèle Claude Desktop) et HTTP pour les déploiements réseau. Un composant, les deux canaux.

Famille de clients IA

Parlez aussi directement aux modèles : chat, streaming et function calling contre OpenAI, Anthropic Claude et Google Gemini, plus DeepSeek, Grok, Mistral et Ollama dans la même famille IA.

Multi-plateforme

Windows 32/64, Linux 64, macOS (Intel et ARM), iOS et Android. VCL et FireMonkey, avec composants design-time.

Édition

Le serveur MCP, le client MCP et les clients d'API IA sont des fonctionnalités de l'édition Enterprise de sgcWebSockets.

Un serveur MCP et un client MCP en Delphi

Enregistrez un outil avec un argument typé côté serveur ; découvrez-le et appelez-le depuis le client.

uses
  sgcWebSocket_Server, sgcAI, sgcAI_MCP_Classes, sgcAI_MCP_Server;

procedure TForm1.SetupMCPServer;
begin
  // Attach the MCP API component to a sgcWebSockets HTTP server
  MCPServer.Server := Server;
  MCPServer.EndpointOptions.Endpoint := '/mcp';
  MCPServer.MCPOptions.ServerInfo.Name    := 'sgc-mcp-server';
  MCPServer.MCPOptions.ServerInfo.Version := '1.0.0';

  // Register a callable tool with a typed argument
  with MCPServer.Tools.AddTool('GetTemperature',
    'Get the actual temperature in a city.') do
    InputSchema.Properties.AddProperty('city', True);

  MCPServer.OnMCPRequestTool := MCPRequestTool;
  Server.Port   := 8080;
  Server.Active := True;
end;

procedure TForm1.MCPRequestTool(Sender: TObject;
  const aSession: TsgcAI_MCP_Session;
  const aRequest: TsgcAI_MCP_Request_ToolsCall;
  const aResponse: TsgcAI_MCP_Response_ToolsCall);
begin
  if aRequest.Params.Name = 'GetTemperature' then
    aResponse.Result.Content.AddText('The current temperature in ' +
      aRequest.Params.Arguments.Item[0].Value + ' is 22 Celsius');
end;
uses
  sgcAI_MCP_Client, sgcAI_MCP_Classes;

var
  MCP: TsgcWSAPIClient_MCP;
begin
  MCP := TsgcWSAPIClient_MCP.Create(nil);
  MCP.MCPOptions.HttpOptions.URL        := 'https://mcp.example.com/';
  MCP.MCPOptions.ClientInfo.Name        := 'sgc-mcp-client';
  MCP.MCPOptions.ClientInfo.Title       := 'sgc MCP demo';
  MCP.MCPOptions.ClientInfo.Version     := '1.0.0';
  MCP.MCPOptions.AuthenticationOptions.ApiKey.Enabled := True;
  MCP.MCPOptions.AuthenticationOptions.ApiKey.Value   := 'sk-mcp-...';

  MCP.OnMCPInitialize    := MCPInit;
  MCP.OnMCPListPrompts   := MCPListPrompts;
  MCP.OnMCPListTools     := MCPListTools;
  MCP.OnMCPResponseTool  := MCPToolResponse;

  MCP.Initialize;
  MCP.ListPrompts;
  MCP.ListResources;
  MCP.ListTools;
  MCP.RequestTool('GetTemperature', '{"city":"Madrid"}');
end;

Ce que les équipes Delphi construisent avec MCP

Agents base de données

Laissez un modèle IA interroger les données de votre application via des outils contrôlés et typés. Lecture seule ou lecture-écriture, votre handler décide à chaque appel.

Automatisation métier

Exposez des opérations CRM, ERP ou de ticketing comme outils MCP pour que des instructions en langage naturel pilotent la logique métier Delphi existante.

Outils de bureau dopés à l'IA

Donnez aux assistants comme Claude Desktop l'accès aux fonctionnalités d'une application héritée en l'enveloppant dans un serveur MCP stdio.

Workflows IA multi-étapes

Chaînez outils et ressources pour la récupération, le traitement et l'action dans un seul pipeline piloté par l'IA, orchestré côté Delphi.

Plus sur MCP et l'IA dans sgcWebSockets

Vue d'ensemble MCP

Ce qu'est le Model Context Protocol et comment les composants serveur et client se répartissent le travail.

Composant Serveur MCP

Référence complète pour TsgcWSAPIServer_MCP : propriétés, méthodes, événements.

Composant Client MCP

Référence complète pour TsgcWSAPIClient_MCP : méthodes de catalogue et événements de réponse.

Blog : Construire un serveur MCP

Pas à pas d'un serveur MCP Delphi opérationnel.

Blog : Le client MCP

Connecter un client Delphi à des serveurs MCP et appeler leurs outils.

Blog : Authentification MCP

Sécuriser les endpoints MCP : clés API et flux authentifiés depuis Delphi.

Meilleur rapport qualité-prix : All-AccessTous les produits eSeGeCe, Support Premium inclus, à partir de €1,059/an.
Voir les tarifs All-Access

Commencez à construire avec MCP dès aujourd'hui

Téléchargez l'essai et lancez les démos serveur et client MCP contre votre assistant IA préféré.