Servidor MCP para Delphi
Crea servidores Model Context Protocol (MCP) en Delphi. Expón herramientas, recursos y prompts a aplicaciones de IA.
Crea servidores Model Context Protocol (MCP) en Delphi. Expón herramientas, recursos y prompts a aplicaciones de IA.
Expón tus propias tools, prompts y resources a cualquier cliente LLM compatible con MCP. Aloja un endpoint JSON-RPC con transportes HTTP y HTTP Streamable sobre un servidor HTTP de sgcWebSockets.
TsgcWSAPIServer_MCP
Servidor Model Context Protocol, especificación 2026-07-28 con retrocompatibilidad 2025-11-25
Windows, macOS, Linux, iOS, Android
Enterprise (add-on de IA)
Asocia a un servidor HTTP, rellena ServerInfo, conecta los handlers OnMCPRequest* y configura Active := True.
uses
sgcAI_MCP_Server, sgcAI_MCP_Classes;
var
MCP: TsgcWSAPIServer_MCP;
begin
MCP := TsgcWSAPIServer_MCP.Create(nil);
MCP.MCPOptions.HttpOptions.Port := 8080;
MCP.MCPOptions.ServerInfo.Name := 'sgc-mcp-server';
MCP.MCPOptions.ServerInfo.Title := 'Weather MCP';
MCP.MCPOptions.ServerInfo.Version := '1.0.0';
// Handlers de ciclo de vida y de peticiones entrantes
MCP.OnMCPInitialize := SrvInitialize;
MCP.OnMCPSessionNew := SrvSessionNew;
MCP.OnMCPRequestTool := SrvCallTool;
MCP.OnMCPRequestPrompt := SrvGetPrompt;
MCP.OnMCPRequestResource := SrvReadResource;
MCP.Active := True;
// Envía una notificación a cada sesión conectada
MCP.SendNotificationToolsListChanged;
end;
5 propiedades publicadas, 9 métodos y 12 eventos — tomados de la referencia del componente.
Métodos: KeepAlive.
Eventos: OnMCPHTTPRequest, OnMCPHTTPResponse.
Propiedades publicadas: MCPOptions, EndpointOptions, TransportOptions.
Propiedades publicadas: Version.
Propiedades: Server.
Métodos: RequestRootsList, RequestSamplingCreateMessage, RequestElicitationCreate.
Solicitudes sin estado con _meta por solicitud, server/discover, validación de cabeceras Mcp-Method / Mcp-Name / Mcp-Param y sugerencias de caché (MCPOptions.Cache). Los clientes en 2025-11-25 siguen usando initialize y sesiones en el mismo servidor.
subscriptions/listen transmite cambios de listas y actualizaciones de recursos. Opciones: MCPOptions.Subscriptions. Método: CloseSubscriptions.
Pide al cliente elicitation (formulario o URL), sampling o roots desde una herramienta con aResponse.InputRequired. El requestState se firma con HMAC (MCPOptions.MRTR).
io.modelcontextprotocol/tasks para herramientas de ejecución prolongada. Método: CreateTask. Opciones: MCPOptions.Tasks.
Fuentes autorizadas de los protocolos que implementa este componente.
Accede a la referencia del componente, descarga el proyecto demo listo para ejecutar y la versión de prueba.
| Proyecto demo — Demos\AI\MCP\Server Proyecto de ejemplo listo para ejecutar. Se incluye dentro del paquete sgcWebSockets — descarga la prueba abajo. | Abrir | |
| Documento técnico (PDF) Características, inicio rápido, ejemplos de código para Delphi y C++ Builder y referencias a fuentes primarias — solo este componente. | Abrir | |
| Manual de usuario (PDF) Manual completo que cubre cada componente de la biblioteca. | Abrir |
TsgcWSAPIServer_MCP, establece MCPOptions.HttpOptions.Port y MCPOptions.ServerInfo, engancha los manejadores OnMCPRequest* y luego establece Active := True. Aloja un endpoint JSON-RPC sobre un servidor HTTP de sgcWebSockets.
TransportOptions y EndpointOptions.
OnMCPRequestTool para llamadas a herramientas, OnMCPRequestPrompt para prompts y OnMCPRequestResource para recursos. También puedes enviar actualizaciones a cada sesión conectada, por ejemplo con SendNotificationToolsListChanged.
RequestRootsList, RequestSamplingCreateMessage y RequestElicitationCreate, de modo que el servidor puede pedir al cliente MCP conectado roots, completados de muestreo o entrada del usuario. En MCP 2026-07-28 las mismas preguntas viajan como Multi Round-Trip Requests (MRTR): el manejador de la herramienta rellena aResponse.InputRequired, por ejemplo con AddElicitation, y lee las respuestas en la llamada reintentada con InputResponse.
server/discover, subscriptions/listen, Multi Round-Trip Requests y la extensión Tasks) y mantiene retrocompatibilidad total con clientes 2025-11-25 que usan initialize y sesiones. Ambas eras las sirve el mismo componente, la era se detecta en cada solicitud. Disponible en sgcWebSockets 2026.10.0 para Delphi 7 a Delphi 13 y en el paquete .NET.