Servidor MCP en Delphi: Herramientas

· Características

Con la publicación de sgcWebSockets 2025.9.0, los desarrolladores pueden integrar funcionalidad de Model Context Protocol (MCP) directamente en sus servidores. Esto incluye la capacidad de gestionar peticiones de herramientas MCP, una pieza clave para habilitar una comunicación dinámica e inteligente entre los modelos de IA y los servicios de backend.

Esta guía te explicará cómo funcionan las peticiones de herramientas MCP, cómo gestionarlas en tu servidor TsgcWSAPIServer_MCP y cómo devolver respuestas estructuradas al cliente o al agente de IA. 

Entendiendo las peticiones de herramientas MCP

En el ecosistema MCP (Model Context Protocol), las herramientas representan capacidades que un modelo de IA puede invocar — por ejemplo, consultar una base de datos, enviar un correo o recuperar datos desde una API.

Un servidor MCP expone estas herramientas a través de WebSockets, y los clientes (como los agentes de IA) pueden lanzar peticiones de herramientas para disparar acciones concretas. El componente TsgcWSAPIServer_MCP de sgcWebSockets simplifica todo el flujo, decodificando automáticamente los mensajes MCP y enrutándolos a los manejadores de eventos correspondientes en tu servidor. 

Cómo funcionan las peticiones de herramientas MCP

El flujo de comunicación habitual es el siguiente:

  1. El cliente envía una petición de herramienta (mensaje MCP en formato JSON) al servidor MCP.
  2. sgcWebSockets parsea la petición y dispara un evento como OnToolRequest.
  3. El servidor ejecuta la acción solicitada — por ejemplo, lee de un CRM, consulta una base de datos o realiza un cálculo.
  4. El servidor construye una respuesta en formato MCP (incluyendo los datos del resultado o los errores).
  5. La respuesta se devuelve al cliente que la solicitó.

Cada petición de herramienta MCP se identifica por:

Gestión de peticiones de herramientas en Delphi

Una vez configurado tu servidor MCP con TsgcWSAPIServer_MCP, puedes gestionar las peticiones de herramientas entrantes mediante manejadores de eventos.
A continuación tienes un ejemplo de cómo implementar un manejador para las peticiones de herramientas MCP entrantes. 

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; 

Usando metadatos de herramientas MCP

También puedes registrar y exponer metadatos sobre las herramientas disponibles a través de la API MCP.
Esto permite que los modelos de IA descubran tus herramientas disponibles dinámicamente y entiendan los parámetros que esperan.

Por ejemplo, puedes declarar: 

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; 

Esta información ayuda a los clientes de IA a entender automáticamente cómo llamar a tus herramientas, lo que facilita crear integraciones de IA autodocumentadas

Resumen

Las peticiones de herramientas MCP en sgcWebSockets 2025.9.0 ofrecen una forma sencilla pero potente de conectar tus modelos de IA con sistemas del mundo real.
Usando el componente TsgcWSAPIServer_MCP y su gestión integrada de peticiones de herramientas, puedes:

Más información

Para profundizar en la API MCP y en los componentes de servidor disponibles, visita la documentación oficial:


👉 Referencia del servidor MCP Tools de sgcWebSockets 


A continuación tienes una demo del servidor MCP en Delphi para Windows.