MCP Server para DMVCFramework: Conecta Tus Aplicaciones Delphi a la Inteligencia Artificial
🇬🇧 English • 🇮🇹 Italiano • 🇩🇪 Deutsch • 🇧🇷 Português
Imaginen poder preguntar a su asistente de IA: "¿Cuál es el producto que generó más facturación en marzo?" — y la respuesta llega directamente desde su sistema de gestión, con datos reales, actualizados, sin inventar nada. O decir: “Crea una orden de compra de 200 unidades del producto XYZ del proveedor Rossi” — y la orden se crea efectivamente en el sistema, con todas las validaciones correspondientes. Sin integración compleja, sin middleware que configurar, sin API REST que exponer manualmente.
Hoy esto es posible gracias a MCP Server para DMVCFramework: una biblioteca open source que transforma cualquier aplicación Delphi en un servidor MCP, el protocolo estándar con el que los asistentes de IA como Claude, Gemini y ChatGPT se comunican con el software externo.
¿Qué es el Model Context Protocol?
El Model Context Protocol (MCP) es un estándar abierto creado por Anthropic que define cómo un asistente de IA puede interactuar con el software externo. Piénsenlo como un enchufe universal: un único protocolo que funciona con cualquier cliente de IA compatible — Claude Desktop, Claude Code, Google Gemini CLI, Continue, Cursor, y muchos otros.
El protocolo define tres tipos de capacidades que un servidor puede exponer:
- Tool — funciones que la IA puede invocar: consultar una base de datos, generar un informe, enviar un correo electrónico, ejecutar un cálculo
- Resource — datos que la IA puede leer: configuraciones, documentos, métricas
- Prompt — plantillas de conversación reutilizables que guían el comportamiento de la IA
El servidor MCP se encarga de todo lo demás: sesiones, JSON-RPC, esquema JSON de los parámetros, gestión de errores. Ustedes se concentran solo en la lógica de negocio.
¿Por Qué DMVCFramework? Porque Ya Lo Tiene Todo
La elección de DMVCFramework como plataforma para un servidor MCP no es casual — es la elección natural. El protocolo MCP se basa en JSON-RPC 2.0 para la comunicación y en HTTPS para la seguridad en red. DMVCFramework ya ofrece ambos, desde hace años, en producción, con una infraestructura battle-tested:
- JSON-RPC 2.0 nativo — DMVCFramework implementa JSON-RPC como first-class citizen, con
PublishObject, enrutamiento automático, y serialización completa de los tipos Delphi - HTTPS integrado — soporte TLS completo mediante TaurusTLS, con gestión de certificados y configuración vía
.env - Sesiones y seguridad — middleware para autenticación, gestión de sesiones thread-safe, JWT
En la práctica, todo lo necesario para implementar un servidor MCP ya estaba presente en DMVCFramework. Esta biblioteca es simplemente el puente que conecta esa infraestructura al protocolo MCP, añadiendo el descubrimiento automático vía RTTI y los atributos que hacen que todo sea tan inmediato.
De Semanas a Minutos
Hasta hoy, integrar un sistema existente con un asistente de IA significaba construir adaptadores REST, escribir plugins específicos para cada plataforma, gestionar autenticación y formatos diferentes. Con MCP Server para DMVCFramework, bastan pocas líneas de código Delphi para exponer funcionalidades que cualquier cliente de IA puede utilizar inmediatamente.
Lo que antes requería semanas de trabajo, ahora se hace en pocos minutos.
La simplicidad es abrumadora
¿Quieren exponer una función de su sistema de gestión a la IA? Aquí está todo el código necesario:
type
TERPTools = class(TMCPToolProvider)
public
[MCPTool('fatturato_prodotto', 'Restituisce il fatturato di un prodotto per mese')]
function FatturatoProdotto(
[MCPParam('Codice prodotto')] const CodiceProdotto: string;
[MCPParam('Mese (1-12)')] const Mese: Integer;
[MCPParam('Anno')] const Anno: Integer
): TMCPToolResult;
end;
function TERPTools.FatturatoProdotto(
const CodiceProdotto: string; const Mese, Anno: Integer): TMCPToolResult;
var
LQuery: TFDQuery;
begin
LQuery := TFDQuery.Create(nil);
try
LQuery.Connection := GetERPConnection;
LQuery.SQL.Text :=
'SELECT SUM(Quantita * PrezzoUnitario) as Fatturato ' +
'FROM DettaglioOrdini d JOIN Ordini o ON d.IDOrdine = o.IDOrdine ' +
'WHERE d.CodiceProdotto = :codice ' +
'AND MONTH(o.DataOrdine) = :mese AND YEAR(o.DataOrdine) = :anno';
LQuery.ParamByName('codice').AsString := CodiceProdotto;
LQuery.ParamByName('mese').AsInteger := Mese;
LQuery.ParamByName('anno').AsInteger := Anno;
LQuery.Open;
Result := TMCPToolResult.FromDataSet(LQuery);
finally
LQuery.Free;
end;
end;
initialization
TMCPServer.Instance.RegisterToolProvider(TERPTools);
Esto es todo. Ningún archivo de configuración, ningún XML, ningún JSON que escribir a mano. La biblioteca descubre el tool vía RTTI, genera automáticamente el esquema JSON de los parámetros, y lo pone a disposición de cualquier IA que se conecte.
💡 Escenarios de Uso: Las Posibilidades Son Infinitas
La belleza de MCP es que no se limita a un solo caso de uso. Cualquier sistema que hoy expone datos o funcionalidades puede convertirse en un servidor MCP. Aquí van algunos escenarios concretos:
ERP y Sistemas de Gestión
La IA se convierte en una interfaz conversacional para su sistema de gestión:
- “Muéstrame los clientes con facturas vencidas hace más de 30 días”
- "¿Cuál es la rentabilidad promedio de los productos de la categoría X?"
- “Crea una orden de compra de 500 unidades del producto ABC del proveedor Rossi”
No hacen falta dashboards nuevos. No hacen falta informes adicionales. El usuario pregunta, la IA consulta el sistema de gestión y responde.
Sistemas de Monitoreo y Automatización Industrial
- "¿Cuál es la temperatura promedio del horno 3 en las últimas 24 horas?"
- "¿Hubo alarmas en el departamento de empaque hoy?"
- “Compara la producción de esta semana con la semana pasada”
La IA accede a los datos SCADA/MES a través de los tools MCP, haciendo que el análisis sea inmediato.
Salud y Gestión Clínica
- "¿Cuántos pacientes tiene en agenda el Dr. Bianchi mañana?"
- “Muéstrame los resultados de los exámenes del paciente Rossi del último mes”
- "¿Qué medicamentos están por agotarse en el almacén de la farmacia?"
Acceso natural a los datos clínicos, con todas las garantías de seguridad que su sistema ya implementa.
Documentación y Knowledge Base
Expongan la documentación de su producto como recursos MCP. La IA podrá buscar, navegar y citar directamente sus manuales, sus FAQ, sus procedimientos operativos.
DevOps y Tooling Interno
- "¿Cuál es el estado del deploy en el servidor de producción?"
- “Muéstrame los errores en el log del último cuarto de hora”
- "¿Cuántas solicitudes por segundo está gestionando la API de pagos?"
Cada herramienta interna, cada script, cada procedimiento operativo se convierte en un tool MCP que la IA puede orquestar.
Autenticación y Autorización: No Cambia Nada
Una pregunta que surge naturalmente es: “Pero si la IA puede llamar a mis tools, ¿quién controla quién puede hacer qué?”
La respuesta es simple: su aplicación, como siempre lo ha hecho. El servidor MCP vive dentro de su aplicación DMVCFramework, por lo que toda la infraestructura de seguridad que ya tienen sigue funcionando exactamente como antes.
En la práctica, el endpoint /mcp es un endpoint DMVCFramework como todos los demás. Esto significa que pueden protegerlo con los mismos mecanismos que ya usan para sus API REST:
- Middleware de autenticación — JWT, Basic Auth, API Key, OAuth2, o cualquier middleware personalizado que ya tengan
- Control de acceso — verifiquen los permisos del usuario dentro de sus tools, exactamente como lo hacen en sus controladores REST
- HTTPS — el transporte HTTP soporta TLS, por lo que la comunicación está cifrada
No hay ningún sistema de seguridad “paralelo” que aprender o configurar. Si su sistema de gestión hoy verifica que el usuario X solo puede ver los pedidos del departamento Y, esa misma lógica se aplica de forma idéntica cuando la IA llama al tool MCP en nombre de ese usuario. El tool es código Delphi en su aplicación — puede acceder al contexto de sesión, verificar los roles, aplicar filtros sobre los datos, exactamente como cualquier otro punto de su sistema.
¿Y si su sistema no está basado en DMVCFramework? Sin problema. Incluso usando el transporte stdio — donde no hay un servidor HTTP — sus tools siguen siendo código Delphi que se ejecuta dentro de su aplicación. Pueden consultar la misma base de datos de usuarios, llamar a los mismos stored procedures de verificación de permisos, aplicar la misma lógica de autorización que su sistema ya implementa. El tool MCP es simplemente un nuevo punto de entrada, pero la lógica de negocio de seguridad es y sigue siendo la suya.
Dos Transportes, Cero Compromisos
La biblioteca soporta dos modalidades de transporte:
Streamable HTTP
Su servidor está escuchando en la red. Los clientes de IA se conectan vía HTTP — ideal para entornos de producción, servidores centralizados, acceso desde múltiples estaciones.
QuickStart.exe --transport http
# Servidor escuchando en http://localhost:8080/mcp
stdio
El cliente de IA (ej. Claude Desktop) ejecuta directamente su archivo ejecutable y se comunica vía stdin/stdout. Sin dependencia HTTP — no se necesita TaurusTLS, Indy, ni WebBroker. El binario es ligero y autónomo.
{
"mcpServers": {
"mio-erp": {
"command": "C:\\MioGestionale\\MCPServer.exe"
}
}
}
Ambos transportes comparten el mismo código de los providers — escriban los tools una sola vez y funcionan en cualquier lugar.
🚀 Quick Start: De Cero a MCP Server en 5 Minutos
El repositorio incluye proyectos Quick Start listos para usar. Copien la carpeta, personalicen los providers, compilen, y su servidor MCP está operativo.
samples/
├── shared/ ★ Sus tools, recursos y prompts
│ ├── ToolProviderU.pas
│ ├── ResourceProviderU.pas
│ └── PromptProviderU.pas
├── quickstart/ Proyecto HTTP + stdio
└── quickstart_stdio/ Proyecto solo stdio (sin TaurusTLS)
Cada archivo provider está lleno de comentarios que explican exactamente cómo agregar nuevos tools, recursos y prompts. No tienen que leer un manual de 200 páginas — abran el archivo, lean los comentarios, modifiquen, compilen.
El proyecto está en GitHub con licencia Apache 2.0: github.com/danieleteti/mcp-server-delphi
Agregar MCP a una Aplicación DMVCFramework Existente
Si ya tienen una aplicación DMVCFramework en producción, agregar MCP es cuestión de dos líneas en su Web Module:
fMVC.AddController(TMCPSessionController);
fMVC.PublishObject(
function: TObject
begin
Result := TMCPServer.Instance.CreatePublishedEndpoint;
end, '/mcp');
Sus endpoints REST, los WebSocket, todo lo demás sigue funcionando exactamente como antes. MCP es simplemente un endpoint adicional que coexiste con todo lo que ya tienen.
🎤 ITDevCon 2026 SE: Profundización en Vivo
Hablaré en profundidad sobre este proyecto en la próxima ITDevCon 2026 Special Edition, que se celebrará presencialmente el 8 de mayo de 2026 en Roma.
Veremos juntos:
- Cómo diseñar tools MCP eficaces para sistemas reales
- Patrones y mejores prácticas para exponer lógica de negocio compleja
- Demo en vivo de integración con Claude Desktop y otros clientes de IA
- Cómo estructurar un proyecto MCP para aplicaciones enterprise
- Arquitectura dual-transport y escenarios de despliegue
Si están pensando en integrar la IA en sus sistemas Delphi, esta sesión les dará todas las herramientas para comenzar. Regístrense en itdevcon.it.
📚 Cursos Próximamente
Para quienes deseen profundizar y poner a disposición de una IA los datos y la lógica de negocio de su sistema, pronto estarán disponibles cursos dedicados sobre este proyecto.
Los cursos cubrirán:
- Fundamentos del protocolo MCP
- Diseño de tool providers para sistemas de gestión
- Resource y Prompt providers para knowledge bases empresariales
- Despliegue y seguridad en entornos de producción
- Escenarios avanzados: multi-content, serialización, gestión de errores
Más detalles se anunciarán en las próximas semanas. ¡Estén atentos y visiten la página de cursos!
Las Posibilidades Son Infinitas
Con MCP Server para DMVCFramework, cada aplicación Delphi se convierte en un punto de acceso para la inteligencia artificial. No hablamos de un proof-of-concept ni de un experimento: hablamos de un protocolo estándar, soportado por todos los principales asistentes de IA, con una biblioteca production-ready construida sobre la infraestructura battle-tested de DMVCFramework.
Piensen en lo que esto significa:
- Su sistema de gestión que responde preguntas en lenguaje natural
- Sus datos que alimentan análisis de IA sofisticados
- Su lógica de negocio que se vuelve accesible sin construir nuevas interfaces
- Sus servicios que se integran con el ecosistema global de IA
Y todo esto con el lenguaje y el framework que ya conocen y usan cada día.
El futuro de la integración con IA está aquí, y está escrito en Delphi.
Photo by
Comments
comments powered by Disqus