No solo MCP. Un agente IA real, embebido en tu aplicación Delphi.
🇮🇹 Italiano • 🇬🇧 English • 🇩🇪 Deutsch • 🇧🇷 Português
Son las 8:30. El director comercial abre el ERP Agéntico. En la lista de correos entrantes ya hay una solicitud de Rossi:
“Hola, quisiera hacer un pedido urgente: 5 laptops y 3 webcams, con el descuento habitual. ¿Pueden confirmármelo hoy? Gracias, Rossi.”
Sin salir del ERP, abre el chat del agente y escribe: “Gestiona la solicitud.”
En menos de treinta segundos, el agente IA lo ha hecho todo:
- Leído el correo directamente desde el ERP
- Identificado al cliente por la dirección de email
- Consultado los cuatro pedidos anteriores en el historial
- Entendido que “el descuento habitual” es el 5% (nunca explicitado en ningún campo de la base de datos, deducido únicamente leyendo el historial)
- Creado el pedido en borrador, con los productos correctos y el descuento correcto
- Escrito el borrador del email de confirmación, listo para enviar
El agente IA no envió nada por su cuenta. Lo preparó todo y se detuvo a esperar. El director comercial lee el resumen: cliente correcto, productos correctos, descuento del 5% con la justificación (“historial de pedidos: siempre 5%”), borrador del email de confirmación ya escrito. Todo correcto. Hace clic en “Aprobar y enviar”. Solo entonces parte el correo y el pedido queda confirmado en el sistema.
El mismo flujo realizado a mano requiere cambiar al cliente de correo, abrir el registro del cliente en el ERP, navegar el historial de pedidos en varias pantallas para encontrar el descuento no especificado, abrir el formulario de pedido, añadir los productos uno a uno, aplicar el descuento, volver al cliente de correo y escribir la confirmación. Unos diez minutos en condiciones óptimas, con atención plena y cero interrupciones. El agente IA tardó treinta segundos.
Dijo una frase a su ERP. Y el ERP entendió. Y actuó.
mcp-server-delphi es una librería open source para Delphi (Apache 2.0) que permite construir aplicaciones agénticas con el Model Context Protocol (MCP). Incluye un bucle agéntico embebido escrito íntegramente en Delphi, un servidor MCP (transporte stdio y Streamable HTTP) y un cliente MCP. Se integra de forma nativa con DMVCFramework y soporta la API de OpenAI como motor de razonamiento.
De servidor a agente: el salto cualitativo
En el artículo anterior vimos cómo exponer las herramientas de tu ERP al protocolo MCP: la forma en que Claude, Gemini y otros asistentes IA se conectan al software externo. Un servidor MCP ya es potente: permite a un asistente externo consultar tu base de datos, crear pedidos, leer el estado de los clientes.
El proyecto mcp-server-delphi no es solo una librería para construir servidores MCP. Es una plataforma para construir agentes IA embebidos en tu aplicación Delphi.
La diferencia es sustancial:
| Servidor MCP (pasivo) | Agente embebido (activo) |
|---|---|
| Un cliente IA externo se conecta y llama a tools | El bucle IA corre dentro de tu app Delphi |
| La inteligencia está en el cliente (Claude, Gemini…) | La inteligencia orquesta tus tools desde dentro |
| El usuario trabaja fuera del ERP | El usuario habla con el ERP |
| Los datos pasan por un servicio externo | Los tools corren dentro de la app: control total sobre qué exponer al modelo |
Una aplicación que incorpora este bucle no es simplemente un software que “soporta MCP”: es una aplicación agéntica. La inteligencia no está alojada en otro lugar ni depende de un cliente externo: razona sobre tus datos, usa tus tools, respeta tus reglas.
Al mismo tiempo, tu aplicación también expone un servidor MCP: así Claude Desktop, Gemini CLI o cualquier otro cliente IA compatible puede conectarse igualmente desde fuera. No es una alternativa: son las dos cosas a la vez.
Cómo funciona el bucle agéntico
Cuando el usuario escribe un mensaje en el chat del ERP, no sucede una simple llamada a la API. El bucle agéntico (escrito íntegramente en Delphi) hace esto:
- Envía el mensaje al modelo IA (API de OpenAI) junto con la lista de todos los tools disponibles
- El modelo responde con una o más tool calls: solicita ejecutar funciones reales en el ERP
- El bucle ejecuta los tools y recoge los resultados
- Reenvía todo al modelo, que puede llamar más tools o responder al usuario
- Repite hasta que el modelo tiene una respuesta completa
Un mensaje como “Procesa este correo y crea el pedido” puede generar 10-15 tool calls en secuencia: búsqueda de cliente, verificación del límite de crédito, análisis del historial de descuentos, creación del pedido, adición de líneas, envío del email de confirmación. El agente IA ejecuta cada paso respetando las reglas de negocio ya presentes en el código, sin salir de la aplicación.
El modelo no “sabe” cómo funciona tu ERP. Sabe leer las descripciones de los tools que le expones. El resto lo hace tu código Delphi. Este es el núcleo del enfoque agéntico: no un chatbot que responde preguntas, sino un agente IA que planifica, actúa y completa tareas complejas de forma autónoma, pidiendo confirmación al humano solo cuando es necesario.
Aquí tienes un ejemplo concreto: una solicitud real enviada al chat del agente del ERP Agéntico. La captura de pantalla está en italiano, pero la solicitud traducida a continuación deja claro exactamente qué se le pidió al agente IA.
“Crea un pedido para Verdi Distribuzione: 3 proyectores y 2 tablets Android. Aplica descuento del 8% en todo, confirma el pedido y programa la entrega en 7 días a las 10:00.”

El agente IA procesó toda la solicitud de forma autónoma: buscó al cliente Verdi Distribuzione, creó el pedido con los productos solicitados, verificó el stock en almacén, aplicó el descuento del 8%, confirmó el pedido y programó la cita de entrega. Cada paso se basa en la lógica de negocio ya presente en la aplicación, expuesta al agente IA a través de los tools del servidor MCP. Ningún dato salió de la infraestructura de la empresa.
El momento más importante: cuando la IA se detiene
En las demos en vivo siempre muestro este escenario: el agente IA está procesando un pedido complejo, ya ha buscado al cliente, verificado el límite de crédito, seleccionado los productos. Luego, en lugar de seguir adelante solo, abre un popup modal Delphi con una pregunta:
“He encontrado tres variantes del producto solicitado. ¿Cuál prefiere? (A) Standard, (B) Pro, (C) Premium”
El hilo IA está suspendido. El bucle espera. El usuario responde. El agente IA retoma.
Este es el tool ask_user: una función que la IA puede llamar siempre que necesite una elección humana. No es una limitación, es el punto fuerte del sistema.
En la realidad empresarial, no todos los procesos están definidos de forma rígida. Hay excepciones, contextos particulares, relaciones comerciales que un algoritmo no puede conocer. El director comercial sabe que ese cliente debe tratarse de forma diferente esta semana. Sabe que ese descuento no aplica en ese contexto. Sabe que el pedido es urgente por una razón que no está escrita en ningún sitio. Esa discrecionalidad no es un defecto del proceso, es valor humano insustituible.
Con ask_user, el agente IA no intenta reemplazar ese juicio: se detiene, expone las opciones y espera. La IA aporta velocidad. El humano aporta contexto. El resultado es un proceso que no pierde flexibilidad respecto a antes, pero gana una velocidad que antes no era ni imaginable.
No estás automatizando las decisiones. Estás automatizando todo el trabajo de preparación que las rodea.
El ERP agéntico en acción: más escenarios
Email complejo: 2 emails + 1 pedido
Un único correo con dos solicitudes distintas: “Envíame el resumen de las facturas pendientes y añade también un pedido borrador para la línea de ropa.”
El agente IA analiza el correo, enumera explícitamente las dos solicitudes y las ejecuta en secuencia: 12-15 tool calls, dos emails de respuesta escritos y guardados, un pedido borrador creado. Todo visible en el registro de tools del chat, todo trazable, todo dentro del ERP. Un operador que gestiona el mismo correo a mano (abrir las facturas, escribir el resumen, crear el pedido, escribir dos emails separados) fácilmente invierte veinte o treinta minutos. Aquí estamos por debajo de dos minutos.
Gestión de cobros con razonamiento
“Para los clientes con facturas vencidas hace más de 30 días, calcula un índice de urgencia y programa las citas de seguimiento.”
El índice de urgencia (importe x días de retraso, con un factor diferente para clientes históricos) no existe en la base de datos. La IA lo calcula, ordena los clientes por prioridad y crea las citas con títulos diferenciados según el perfil de riesgo. Hecho en pocos segundos para todos los clientes morosos. A mano, extraer la lista, calcular el índice para cada uno, abrir la agenda y programar cada cita requiere al menos media hora, y rara vez se hace precisamente por eso.
DMVCFramework: la ventaja estructural
Definir un tool: anotación, implementación, registro
Definir un tool se reduce a anotar la firma de la función:
type
TMyTools = class(TMCPToolProvider)
public
[MCPTool('reverse_string', 'Reverses a string')]
function ReverseString(
[MCPParam('The string to reverse')] const Value: string
): TMCPToolResult;
[MCPTool('concat_strings', 'Concatenates two strings with a separator')]
function ConcatStrings(
[MCPParam('First string')] const A: string;
[MCPParam('Second string')] const B: string
): TMCPToolResult;
end;
El framework descubre todo via RTTI, genera el esquema JSON, registra los tools en el servidor MCP y los pone a disposición tanto del agente IA embebido como de cualquier cliente externo. Sin archivos de configuración, sin XML, sin registro manual.
Para un ERP real el patrón es idéntico, solo cambian los nombres y la lógica de negocio:
[MCPTool('create_order', 'Creates a new order for the specified customer')]
function CreateOrder(
[MCPParam('Customer ID')] const CustomerID: Integer;
[MCPParam('Discount percentage (0-100)')] const Discount: Double
): TMCPToolResult;
No necesitas aprender un nuevo framework. No necesitas reescribir la lógica de negocio. Solo debes decidir qué funcionalidades hacer accesibles a la IA y anotarlas.
El bridge: de REST a MCP sin tocar una línea
Si ya tienes una aplicación DMVCFramework con controladores REST en producción, hay un camino aún más directo: el bridge MCP, inspirado en el mecanismo análogo de FastMCP. Tienes un controlador como este:
[MVCPath('/api/books')]
TBooksController = class(TMVCController)
public
[MVCPath]
[MVCHTTPMethod([httpGET])]
[MVCDoc('Returns the list of all books')]
procedure GetBooks;
[MVCPath('/search')]
[MVCHTTPMethod([httpGET])]
[MVCDoc('Searches books by title keyword. Use limit to cap results (default 10)')]
procedure SearchBooks(
const [MVCFromQueryString('q')] q: string;
const [MVCFromQueryString('limit', '10')] limit: Integer
);
end;
Para exponerlo todo como servidor MCP basta una llamada en el Web Module:
TMCPServer.Instance.RegisterFromEngine(Engine, 'http://localhost:8080');
Cero cambios en el controlador. Cero código de wrapping. Tus APIs se convierten en tools del agente IA en el tiempo que se tarda en añadir una línea.
Esto también aplica en el mundo FastMCP: el bridge es una herramienta de arranque, no una solución definitiva para producción. Los modelos IA obtienen resultados significativamente mejores con tools diseñados y curados específicamente para ellos: descripciones pensadas para guiar el razonamiento del modelo, parámetros reducidos a lo esencial, nombres que reflejan la intención y no la estructura HTTP. El bridge te permite empezar de inmediato y evaluar las posibilidades en minutos; el paso siguiente es refinar los tools con intención.
Man-in-the-loop: no una limitación, una elección
Hay una conversación que escucho a menudo cuando presento estas demos:
“Pero si la IA puede crear pedidos, modificar la base de datos, enviar correos: ¿quién controla que no haga cosas incorrectas?”
La respuesta es: tú, by design.
Cada tool que expones es tu propio código Delphi. Puedes hacer que create_order cree siempre el pedido en borrador, requiriendo confirmación explícita antes de confirmar definitivamente. Puedes usar ask_user siempre que la IA deba elegir entre alternativas. Puedes aplicar todas las mismas reglas de autorización que ya tienes en el ERP, porque el tool se ejecuta en el contexto de la sesión del usuario actual.
La IA no evita tus reglas de negocio. Las ejecuta. La diferencia es que ahora puedes orquestarlas en lenguaje natural.
🎤 ITDevCon 2026 Spring Edition, 8 de mayo - Roma
Todo lo que has leído en este artículo (las demos, el código, la arquitectura) lo mostraré en vivo en la próxima ITDevCon 2026 Spring Edition, presencialmente el 8 de mayo de 2026 en Roma. La Spring Edition, a diferencia de la edición principal de otoño, se celebra solo en italiano.
Veremos juntos:
- El bucle agéntico en acción: del correo al pedido en tiempo real
- Cómo diseñar tools MCP que la IA use bien (descripciones, parámetros, resultados)
- El tool
ask_usery el patrón man-in-the-loop en la práctica - Cómo añadir el agente IA a una aplicación DMVCFramework existente
- Arquitectura dual-mode: agente embebido + servidor MCP para clientes externos
- Demos en vivo con el código fuente abierto
Si estás pensando en llevar la IA a tu ERP Delphi, esta sesión es el punto de partida más directo que puedes encontrar. Regístrate en itdevcon.it.
📚 Curso dedicado próximamente: MCP y Agentic AI con Delphi
Para quienes quieran profundizar con un itinerario estructurado, estoy preparando un curso dedicado sobre MCP y Agentic AI con Delphi. Estará disponible próximamente en bit Time Professionals.
El curso cubrirá:
- Fundamentos del protocolo MCP y del bucle agéntico
- Diseño de tool providers eficaces para sistemas de gestión reales
- Gestión del man-in-the-loop: cuándo la IA debe detenerse y preguntar
- Despliegue, seguridad y rendimiento en entornos de producción
- Escenarios avanzados: orquestación multi-tool, gestión de errores, logging
Además de la formación, bit Time Professionals ofrece también consultoría especializada para ayudar a las empresas a integrar la IA de forma concreta en sus sistemas. Ya estamos trabajando con empresas de todo el mundo para llevar las capacidades agénticas a sus aplicaciones existentes (Delphi, Python, C# y más), desde el análisis de oportunidades hasta la implementación en producción. Si tienes un proyecto específico en mente, contáctanos.
Estad atentos: los detalles del curso se anunciarán en las próximas semanas.
Añade un agente IA a tu ERP Delphi: empieza hoy
El proyecto es open source, licencia Apache 2.0.
Página del proyecto y documentación
Tu ERP Delphi ya tiene todo el valor. Los datos están ahí. La lógica de negocio está ahí. Las reglas están ahí.
Solo faltaba un agente IA que viviera dentro de él: capaz de entender el lenguaje natural, orquestar los tools, respetar las reglas de negocio y detenerse a preguntar cuando sea necesario. No un servidor MCP pasivo esperando instrucciones desde fuera. Una aplicación genuinamente agéntica.
Ya existe.
Comments
comments powered by Disqus