Strumenti del server MCP in Delphi (2/4)

· Funzionalità

Con il rilascio di sgcWebSockets 2025.9.0, gli sviluppatori possono integrare la funzionalità Model Context Protocol (MCP) direttamente nei loro server. Questo include la capacità di gestire le MCP Tool Request, un componente chiave per abilitare una comunicazione dinamica e intelligente tra modelli IA e servizi di backend.

Questa guida ti accompagnerà attraverso il funzionamento delle MCP Tool Request, come gestirle nel tuo server TsgcWSAPIServer_MCP e come inviare risposte strutturate al client o all'agente IA. 

Comprendere le MCP Tool Request

Nell'ecosistema MCP (Model Context Protocol), i Tool rappresentano capacità che un modello IA può invocare: ad esempio interrogare un database, inviare un'e-mail o recuperare dati da un'API.

Un server MCP espone questi tool tramite WebSocket e i client (come gli agenti IA) possono effettuare Tool Request per innescare azioni specifiche. Il componente TsgcWSAPIServer_MCP in sgcWebSockets semplifica l'intero flusso, decodificando automaticamente i messaggi MCP e instradandoli verso gli appropriati gestori di eventi nel tuo server. 

Come funzionano le MCP Tool Request

Il flusso di comunicazione tipicamente è così:

  1. Il client invia una Tool Request (messaggio MCP in formato JSON) al server MCP.
  2. sgcWebSockets analizza la richiesta e attiva un evento come OnToolRequest.
  3. Il server esegue l'azione richiesta: ad esempio legge da un CRM, interroga un database o esegue un calcolo.
  4. Il server costruisce una risposta in formato MCP (includendo eventuali dati di risultato o errori).
  5. La risposta viene rinviata al client richiedente.

Ogni MCP Tool Request è identificata da:

Gestire le Tool Request in Delphi

Una volta configurato il tuo server MCP usando TsgcWSAPIServer_MCP, puoi gestire le tool request in arrivo tramite gestori di eventi.
Qui sotto un esempio di come implementare un handler per le MCP Tool Request in arrivo. 

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; 

Usare i metadati dei MCP Tool

Puoi anche registrare ed esporre metadati sui tool disponibili usando l'API MCP.
Questo permette ai modelli IA di scoprire dinamicamente i tuoi tool disponibili e comprendere i parametri attesi.

Ad esempio puoi dichiarare: 

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; 

Queste informazioni aiutano i client IA a comprendere automaticamente come chiamare i tuoi tool, rendendo più semplice creare integrazioni IA auto-documentanti

Le MCP Tool Request in sgcWebSockets 2025.9.0 forniscono un modo semplice ma potente per collegare i tuoi modelli IA con sistemi del mondo reale.
Usando il componente TsgcWSAPIServer_MCP e la sua gestione integrata delle Tool Request, puoi:

Scopri di più

Per uno sguardo più approfondito sull'API MCP e sui componenti server disponibili, consulta la documentazione ufficiale:


👉 sgcWebSockets MCP Tools Server Reference 


Trovi qui sotto una demo Delphi MCP Server per Windows.