Serveur MCP pour Delphi
Construis des serveurs Model Context Protocol (MCP) en Delphi. Expose des outils, ressources et prompts aux applications IA.
Construis des serveurs Model Context Protocol (MCP) en Delphi. Expose des outils, ressources et prompts aux applications IA.
Expose tes propres outils, prompts et ressources à n'importe quel client LLM compatible MCP. Héberge un endpoint JSON-RPC avec transports HTTP et HTTP Streamable au-dessus d'un serveur HTTP sgcWebSockets.
TsgcWSAPIServer_MCP
Model Context Protocol serveur, spec 2026-07-28 avec compatibilité descendante 2025-11-25
Windows, macOS, Linux, iOS, Android
Enterprise (module IA)
Attache-toi à un serveur HTTP, remplis ServerInfo, branche les gestionnaires OnMCPRequest*, configure Active := True.
uses
sgcAI_MCP_Server, sgcAI_MCP_Classes;
var
MCP: TsgcWSAPIServer_MCP;
begin
MCP := TsgcWSAPIServer_MCP.Create(nil);
MCP.MCPOptions.HttpOptions.Port := 8080;
MCP.MCPOptions.ServerInfo.Name := 'sgc-mcp-server';
MCP.MCPOptions.ServerInfo.Title := 'Weather MCP';
MCP.MCPOptions.ServerInfo.Version := '1.0.0';
// Lifecycle + incoming request handlers
MCP.OnMCPInitialize := SrvInitialize;
MCP.OnMCPSessionNew := SrvSessionNew;
MCP.OnMCPRequestTool := SrvCallTool;
MCP.OnMCPRequestPrompt := SrvGetPrompt;
MCP.OnMCPRequestResource := SrvReadResource;
MCP.Active := True;
// Push a notification to every connected session
MCP.SendNotificationToolsListChanged;
end;
5 propriétés publiées, 9 méthodes, 12 événements — extraits de la référence du composant.
Méthodes : KeepAlive.
Événements : OnMCPHTTPRequest, OnMCPHTTPResponse.
Propriétés publiées : MCPOptions, EndpointOptions, TransportOptions.
Propriétés publiées : Version.
Propriétés : Server.
Méthodes : RequestRootsList, RequestSamplingCreateMessage, RequestElicitationCreate.
Requêtes sans état avec _meta par requête, server/discover, validation des en-têtes Mcp-Method / Mcp-Name / Mcp-Param et indices de cache (MCPOptions.Cache). Les clients en 2025-11-25 continuent d'utiliser initialize et les sessions sur le même serveur.
subscriptions/listen diffuse les changements de liste et les mises à jour de ressources. Options : MCPOptions.Subscriptions. Méthode : CloseSubscriptions.
Demande au client une elicitation (formulaire ou URL), un sampling ou des roots depuis un outil avec aResponse.InputRequired. Le requestState est signé HMAC (MCPOptions.MRTR).
io.modelcontextprotocol/tasks pour les outils de longue durée. Méthode : CreateTask. Options : MCPOptions.Tasks.
Sources de référence pour les protocoles implémentés par ce composant.
Lien direct vers la référence du composant, projet de démo prêt à l'emploi et téléchargement de l'essai.
| Projet de démo — Demos\AI\MCP\Server Projet d'exemple prêt à l'emploi. Livré dans le package sgcWebSockets — télécharge l'essai ci-dessous. | Ouvrir | |
| Document technique (PDF) Fonctionnalités, démarrage rapide, exemples de code Delphi et C++ Builder et références primaires — ce composant uniquement. | Ouvrir | |
| Manuel utilisateur (PDF) Manuel complet couvrant tous les composants de la bibliothèque. | Ouvrir |
TsgcWSAPIServer_MCP, configure MCPOptions.HttpOptions.Port et MCPOptions.ServerInfo, accroche les gestionnaires OnMCPRequest*, puis définis Active := True. Il héberge un endpoint JSON-RPC au-dessus d'un serveur HTTP sgcWebSockets.
TransportOptions et EndpointOptions.
OnMCPRequestTool pour les appels d'outils, OnMCPRequestPrompt pour les prompts et OnMCPRequestResource pour les ressources. Tu peux aussi pousser des mises à jour vers chaque session connectée, par exemple avec SendNotificationToolsListChanged.
RequestRootsList, RequestSamplingCreateMessage et RequestElicitationCreate, afin que le serveur puisse demander au client MCP connecté des roots, des complétions de sampling ou une saisie utilisateur. En MCP 2026-07-28, les mêmes questions transitent comme des Multi Round-Trip Requests : le gestionnaire d'outil remplit aResponse.InputRequired, par exemple avec AddElicitation, et lit les réponses sur l'appel réessayé avec InputResponse.
server/discover, subscriptions/listen, Multi Round-Trip Requests et l'extension Tasks) tout en gardant une compatibilité descendante complète avec les clients 2025-11-25 qui utilisent initialize et les sessions. Les deux ères sont servies par le même composant, l'ère est détectée à chaque requête. Disponible dans sgcWebSockets 2026.10.0 pour Delphi 7 à Delphi 13 et dans le package .NET.