Componenti MCP Delphi | Client e server Model Context Protocol | eSeGeCe

Componenti MCP Delphi — client e server Model Context Protocol

Collega le applicazioni Delphi all'ecosistema AI attraverso il Model Context Protocol: TsgcWSAPIServer_MCP espone i tool, i prompt e le risorse della tua applicazione ai modelli AI, e TsgcWSAPIClient_MCP consuma qualunque server compatibile MCP. La stessa libreria include client API AI per OpenAI, Anthropic Claude e Google Gemini.

Il ponte tra i modelli AI e la tua applicazione

MCP è lo standard emergente per collegare i large language model a strumenti e dati esterni. Invece di un'integrazione custom per ogni provider AI, implementi un solo protocollo.

Model Context Protocol in Delphi significa che la tua applicazione VCL o FMX esistente può diventare un servizio accessibile all'AI. Il protocollo è basato su JSON-RPC e definisce tre primitive: tools (funzioni richiamabili con parametri tipizzati), prompts (template riutilizzabili con argomenti) e resources (dati esposti tramite indirizzamento URI). Un server MCP li pubblica; un client MCP (Claude Desktop, Cursor o la tua stessa applicazione Delphi) li scopre e li chiama.

Il componente server si aggancia a un server HTTP sgcWebSockets e supporta entrambi i trasporti, stdio e HTTP, così lo stesso codice serve un assistente AI desktop che lo lancia come sottoprocesso e un agente remoto che lo chiama in rete. Il componente client parla JSON-RPC su HTTP o HTTP Streamable e copre l'intera superficie del catalogo: initialize, elenco e chiamata dei tool, recupero dei prompt, lettura delle risorse, più sampling ed elicitation per i workflow AI interattivi.

MCP Server

TsgcWSAPIServer_MCP: tool, prompt, risorse, trasporti stdio e HTTP

MCP Client

TsgcWSAPIClient_MCP: scopri e chiama qualunque server compatibile MCP

Client API AI

TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic, TsgcHTTP_API_Gemini

Compilatori

Da Delphi 7 a RAD Studio 13, C++Builder da 10.1 Berlin a 13, Lazarus 4.4.0

Entrambi i lati del protocollo

Server, client e i client dei provider AI che consumano ciò che MCP espone.

Tool con schemi tipizzati

Tools.AddTool registra una funzione richiamabile e le proprietà del suo InputSchema; le chiamate arrivano nell'evento OnMCPRequestTool con argomenti già parsati e un oggetto risposta strutturato.

Prompt & risorse

Template di prompt riutilizzabili con argomenti e risorse indirizzate tramite URI, servite attraverso OnMCPRequestPrompt e OnMCPRequestResource.

Superficie del catalogo lato client

Initialize, ListTools, ListPrompts, ListResources, ListResourceTemplates, poi RequestTool / RequestPrompt / RequestResource con risposte guidate dagli eventi.

Sampling & elicitation

Il client supporta il sampling MCP (interazione con il modello AI richiesta dal server) e l'elicitation (raccolta di input utente a metà workflow), le due estensioni interattive del protocollo.

Autenticazione

Le opzioni di autenticazione lato client includono le API key via AuthenticationOptions.ApiKey; vedi il blog per i server MCP protetti con OAuth2.

Due trasporti

Stdio per i server lanciati come sottoprocesso (il modello Claude Desktop) e HTTP per i deployment in rete. Un solo componente, entrambi i canali.

Famiglia di client AI

Parla anche direttamente con i modelli: chat, streaming e function calling verso OpenAI, Anthropic Claude e Google Gemini, più DeepSeek, Grok, Mistral e Ollama nella stessa famiglia AI.

Multipiattaforma

Windows 32/64, Linux 64, macOS (Intel e ARM), iOS e Android. VCL e FireMonkey, con componenti design-time.

Edizione

Il server MCP, il client MCP e i client API AI sono funzionalità dell'edizione Enterprise di sgcWebSockets.

Un server MCP e un client MCP in Delphi

Registra sul server un tool con un argomento tipizzato; scoprilo e chiamalo dal 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;

Cosa costruiscono i team Delphi con MCP

Agenti per database

Lascia che un modello AI interroghi i dati della tua applicazione attraverso tool controllati e tipizzati. In sola lettura o in lettura-scrittura, lo decide il tuo handler a ogni chiamata.

Automazione aziendale

Esponi le operazioni di CRM, ERP o ticketing come tool MCP, così le istruzioni in linguaggio naturale pilotano la logica di business Delphi esistente.

Strumenti desktop potenziati dall'AI

Dai ad assistenti come Claude Desktop l'accesso alle funzionalità di un'applicazione legacy incapsulandola in un server MCP stdio.

Workflow AI multi-step

Concatena tool e risorse per recupero, elaborazione e azione in un'unica pipeline guidata dall'AI, orchestrata dal lato Delphi.

Altro su MCP e AI in sgcWebSockets

Panoramica MCP

Cos'è il Model Context Protocol e come i componenti server e client si dividono il lavoro.

Componente MCP Server

Riferimento completo per TsgcWSAPIServer_MCP: proprietà, metodi, eventi.

Componente MCP Client

Riferimento completo per TsgcWSAPIClient_MCP: metodi di catalogo ed eventi di risposta.

Blog: costruire un server MCP

Guida passo passo a un server MCP Delphi funzionante.

Blog: il client MCP

Collegare un client Delphi ai server MCP e chiamare i loro tool.

Blog: autenticazione MCP

Proteggere gli endpoint MCP: API key e flussi autenticati da Delphi.

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

Inizia a costruire con MCP oggi stesso

Scarica la trial ed esegui le demo del server e del client MCP con il tuo assistente AI preferito.