Componentes MCP Delphi | Cliente y servidor Model Context Protocol | eSeGeCe

Componentes MCP para Delphi — Cliente y servidor Model Context Protocol

Conecta aplicaciones Delphi al ecosistema de IA mediante el Model Context Protocol: TsgcWSAPIServer_MCP expone las herramientas, prompts y recursos de tu aplicación a los modelos de IA, y TsgcWSAPIClient_MCP consume cualquier servidor compatible con MCP. La misma biblioteca incluye clientes de APIs de IA para OpenAI, Anthropic Claude y Google Gemini.

El puente entre los modelos de IA y tu aplicación

MCP es el estándar emergente para conectar grandes modelos de lenguaje con herramientas y datos externos. En lugar de una integración a medida por cada proveedor de IA, implementas un solo protocolo.

Model Context Protocol en Delphi significa que tu aplicación VCL o FMX existente puede convertirse en un servicio accesible para la IA. El protocolo se basa en JSON-RPC y define tres primitivas: tools (funciones invocables con parámetros tipados), prompts (plantillas reutilizables con argumentos) y resources (datos expuestos mediante direccionamiento por URI). Un servidor MCP los publica; un cliente MCP (Claude Desktop, Cursor o tu propia aplicación Delphi) los descubre y los invoca.

El componente servidor se acopla a un servidor HTTP de sgcWebSockets y soporta los transportes stdio y HTTP, así que el mismo código sirve tanto a un asistente de IA de escritorio que lo lanza como subproceso como a un agente remoto que lo llama por la red. El componente cliente habla JSON-RPC sobre HTTP o HTTP Streamable y cubre toda la superficie del catálogo: initialize, listar y llamar tools, recuperar prompts, leer resources, además de sampling y elicitation para flujos de IA interactivos.

Servidor MCP

TsgcWSAPIServer_MCP: tools, prompts, resources, transportes stdio y HTTP

Cliente MCP

TsgcWSAPIClient_MCP: descubre y llama a cualquier servidor compatible con MCP

Clientes de APIs de IA

TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic, TsgcHTTP_API_Gemini

Compiladores

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

Los dos lados del protocolo

Servidor, cliente y los clientes de proveedores de IA que consumen lo que MCP expone.

Tools con esquemas tipados

Tools.AddTool registra una función invocable y sus propiedades InputSchema; las llamadas llegan al evento OnMCPRequestTool con los argumentos parseados y un objeto de respuesta estructurado.

Prompts y resources

Plantillas de prompt reutilizables con argumentos y recursos direccionados por URI, servidos a través de OnMCPRequestPrompt y OnMCPRequestResource.

Superficie de catálogo del cliente

Initialize, ListTools, ListPrompts, ListResources, ListResourceTemplates, y después RequestTool / RequestPrompt / RequestResource con respuestas dirigidas por eventos.

Sampling y elicitation

El cliente soporta el sampling de MCP (interacción con el modelo de IA solicitada por el servidor) y la elicitation (recogida de entrada del usuario a mitad de flujo), las dos extensiones interactivas del protocolo.

Autenticación

Las opciones de autenticación del lado cliente incluyen claves API vía AuthenticationOptions.ApiKey; consulta el blog para servidores MCP protegidos con OAuth2.

Dos transportes

Stdio para servidores lanzados como subproceso (el modelo de Claude Desktop) y HTTP para despliegues en red. Un componente, ambos canales.

Familia de clientes de IA

Habla también directamente con los modelos: chat, streaming y function calling contra OpenAI, Anthropic Claude y Google Gemini, más DeepSeek, Grok, Mistral y Ollama en la misma familia de IA.

Multiplataforma

Windows 32/64, Linux 64, macOS (Intel y ARM), iOS y Android. VCL y FireMonkey, con componentes en tiempo de diseño.

Edición

El servidor MCP, el cliente MCP y los clientes de APIs de IA son características de la edición Enterprise de sgcWebSockets.

Un servidor MCP y un cliente MCP en Delphi

Registra una tool con un argumento tipado en el servidor; descúbrela y llámala desde el cliente.

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;

Qué construyen los equipos Delphi con MCP

Agentes de base de datos

Deja que un modelo de IA consulte los datos de tu aplicación mediante tools controladas y tipadas. Sólo lectura o lectura-escritura, tu handler decide en cada llamada.

Automatización de negocio

Expón operaciones de CRM, ERP o ticketing como tools MCP para que instrucciones en lenguaje natural dirijan la lógica de negocio Delphi existente.

Herramientas de escritorio con IA

Da a asistentes como Claude Desktop acceso a la funcionalidad de una aplicación heredada envolviéndola en un servidor MCP stdio.

Flujos de IA multi-paso

Encadena tools y resources para recuperación, procesado y acción en un único pipeline dirigido por IA, orquestado desde el lado Delphi.

Más sobre MCP e IA en sgcWebSockets

Visión general de MCP

Qué es el Model Context Protocol y cómo se reparten el trabajo los componentes servidor y cliente.

Componente Servidor MCP

Referencia completa de TsgcWSAPIServer_MCP: propiedades, métodos, eventos.

Componente Cliente MCP

Referencia completa de TsgcWSAPIClient_MCP: métodos de catálogo y eventos de respuesta.

Blog: Construir un servidor MCP

Recorrido paso a paso por un servidor MCP funcional en Delphi.

Blog: El cliente MCP

Conectar un cliente Delphi a servidores MCP y llamar a sus tools.

Blog: Autenticación MCP

Proteger endpoints MCP: claves API y flujos autenticados desde Delphi.

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

Empieza a construir con MCP hoy mismo

Descarga la versión de prueba y ejecuta las demos de servidor y cliente MCP contra tu asistente de IA favorito.