Delphi MCP-componenten | Model Context Protocol client & server | eSeGeCe

Delphi MCP-componenten — Model Context Protocol client en server

Verbind Delphi-applicaties met het AI-ecosysteem via het Model Context Protocol: TsgcWSAPIServer_MCP stelt de tools, prompts en resources van je applicatie beschikbaar aan AI-modellen, en TsgcWSAPIClient_MCP consumeert elke MCP-compatibele server. Dezelfde bibliotheek levert AI-API-clients voor OpenAI, Anthropic Claude en Google Gemini.

De brug tussen AI-modellen en je applicatie

MCP is de opkomende standaard om large language models te verbinden met externe tools en data. In plaats van een custom integratie per AI-provider implementeer je een protocol.

Model Context Protocol in Delphi betekent dat je bestaande VCL- of FMX-applicatie een AI-toegankelijke service kan worden. Het protocol is JSON-RPC-gebaseerd en definieert drie primitieven: tools (aanroepbare functies met getypeerde parameters), prompts (herbruikbare templates met argumenten) en resources (data blootgesteld via URI-adressering). Een MCP-server publiceert ze; een MCP-client (Claude Desktop, Cursor, of je eigen Delphi-applicatie) ontdekt en roept ze aan.

Het servercomponent koppelt aan een sgcWebSockets HTTP-server en ondersteunt zowel stdio- als HTTP-transporten, dus dezelfde code bedient een desktop-AI-assistent die hem als subprocess start en een remote agent die hem over het netwerk aanroept. Het clientcomponent spreekt JSON-RPC over HTTP of HTTP Streamable en dekt het volledige catalogusoppervlak: initialize, tools opsommen en aanroepen, prompts ophalen, resources lezen, plus sampling en elicitation voor interactieve AI-workflows.

MCP-server

TsgcWSAPIServer_MCP: tools, prompts, resources, stdio- en HTTP-transporten

MCP-client

TsgcWSAPIClient_MCP: ontdek en roep elke MCP-compatibele server aan

AI-API-clients

TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic, TsgcHTTP_API_Gemini

Compilers

Delphi 7 t/m RAD Studio 13, C++Builder 10.1 Berlin t/m 13, Lazarus 4.4.0

Beide kanten van het protocol

Server, client en de AI-provider-clients die consumeren wat MCP blootstelt.

Tools met getypeerde schema’s

Tools.AddTool registreert een aanroepbare functie en zijn InputSchema-properties; aanroepen arriveren in het OnMCPRequestTool-event met geparste argumenten en een gestructureerd response-object.

Prompts & resources

Herbruikbare prompt-templates met argumenten en URI-geadresseerde resources, geserveerd via OnMCPRequestPrompt en OnMCPRequestResource.

Client-catalogusoppervlak

Initialize, ListTools, ListPrompts, ListResources, ListResourceTemplates, daarna RequestTool / RequestPrompt / RequestResource met event-driven responses.

Sampling & elicitation

De client ondersteunt MCP-sampling (door de server gevraagde AI-model-interactie) en elicitation (gebruikersinput verzamelen midden in een workflow), de twee interactieve extensies van het protocol.

Authenticatie

Client-side authenticatie-opties omvatten API-keys via AuthenticationOptions.ApiKey; zie de blog voor OAuth2-beveiligde MCP-servers.

Twee transporten

Stdio voor als subprocess gestarte servers (het Claude Desktop-model) en HTTP voor netwerk-deployments. Een component, beide kanalen.

AI-client-familie

Praat ook direct met de modellen: chat, streaming en function calling tegen OpenAI, Anthropic Claude en Google Gemini, plus DeepSeek, Grok, Mistral en Ollama in dezelfde AI-familie.

Cross-platform

Windows 32/64, Linux 64, macOS (Intel en ARM), iOS en Android. VCL en FireMonkey, met design-time-componenten.

Editie

De MCP-server, MCP-client en AI-API-clients zijn Enterprise-editie-features van sgcWebSockets.

Een MCP-server en een MCP-client in Delphi

Registreer een tool met een getypeerd argument op de server; ontdek en roep hem aan vanuit de 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;

Wat Delphi-teams bouwen met MCP

Database-agents

Laat een AI-model de data van je applicatie bevragen via gecontroleerde, getypeerde tools. Read-only of read-write, jouw handler beslist per aanroep.

Business-automatisering

Stel CRM-, ERP- of ticketing-operaties beschikbaar als MCP-tools zodat instructies in natuurlijke taal bestaande Delphi-businesslogica aansturen.

AI-gedreven desktop-tools

Geef assistenten zoals Claude Desktop toegang tot de functionaliteit van een legacy-applicatie door hem te verpakken in een stdio-MCP-server.

Meerstaps-AI-workflows

Schakel tools en resources aaneen voor retrieval, verwerking en actie in een AI-gedreven pipeline, georkestreerd vanaf de Delphi-kant.

Meer over MCP en AI in sgcWebSockets

MCP-overzicht

Wat het Model Context Protocol is en hoe de server- en clientcomponenten het werk verdelen.

MCP Server-component

Volledige referentie voor TsgcWSAPIServer_MCP: properties, methodes, events.

MCP Client-component

Volledige referentie voor TsgcWSAPIClient_MCP: catalogus-methodes en response-events.

Blog: Een MCP-server bouwen

Stap-voor-stap-doorloop van een werkende Delphi-MCP-server.

Blog: De MCP-client

Een Delphi-client verbinden met MCP-servers en hun tools aanroepen.

Blog: MCP-authenticatie

MCP-endpoints beveiligen: API-keys en geauthenticeerde flows vanuit Delphi.

Best value: All-AccessEvery eSeGeCe product, Premium Support included, from €1,059/year.
See All-Access pricing

Begin vandaag nog met MCP te bouwen

Download de proefversie en draai de MCP-server- en client-demo’s tegen je favoriete AI-assistent.