MCP Server para DMVCFramework: Conecte Suas Aplicações Delphi à Inteligência Artificial
🇬🇧 English • 🇮🇹 Italiano • 🇪🇸 Español • 🇩🇪 Deutsch
Imagine poder perguntar ao seu assistente de IA: “Qual foi o produto que gerou mais faturamento em março?” — e a resposta vem diretamente do seu sistema de gestão, com dados reais, atualizados, sem inventar nada. Ou então dizer: “Crie um pedido de compra de 200 unidades do produto XYZ do fornecedor Rossi” — e o pedido é efetivamente criado no sistema, com todas as validações necessárias. Nenhuma integração complexa, nenhum middleware para configurar, nenhuma API REST para expor manualmente.
Hoje isso é possível graças ao MCP Server para DMVCFramework: uma biblioteca open source que transforma qualquer aplicação Delphi em um servidor MCP, o protocolo padrão com o qual assistentes de IA como Claude, Gemini e ChatGPT se comunicam com software externo.
O que é o Model Context Protocol?
O Model Context Protocol (MCP) é um padrão aberto criado pela Anthropic que define como um assistente de IA pode interagir com software externo. Pense nele como uma tomada universal: um único protocolo que funciona com qualquer cliente de IA compatível — Claude Desktop, Claude Code, Google Gemini CLI, Continue, Cursor, e muitos outros.
O protocolo define três tipos de capability que um servidor pode expor:
- Tool — funções que a IA pode chamar: consultar um banco de dados, gerar um relatório, enviar um e-mail, executar um cálculo
- Resource — dados que a IA pode ler: configurações, documentos, métricas
- Prompt — templates de conversa reutilizáveis que orientam o comportamento da IA
O servidor MCP cuida de todo o resto: sessões, JSON-RPC, schema JSON dos parâmetros, tratamento de erros. Você se concentra apenas na lógica de negócio.
Por que DMVCFramework? Porque Já Tem Tudo
A escolha do DMVCFramework como plataforma para um servidor MCP não é por acaso — é a escolha natural. O protocolo MCP se baseia em JSON-RPC 2.0 para comunicação e em HTTPS para segurança na rede. O DMVCFramework já oferece ambos, há anos, em produção, com uma infraestrutura battle-tested:
- JSON-RPC 2.0 nativo — o DMVCFramework implementa JSON-RPC como first-class citizen, com
PublishObject, roteamento automático e serialização completa dos tipos Delphi - HTTPS integrado — suporte TLS completo via TaurusTLS, com gerenciamento de certificados e configuração via
.env - Sessões e segurança — middleware para autenticação, gerenciamento de sessões thread-safe, JWT
Na prática, tudo o que é necessário para implementar um servidor MCP já estava presente no DMVCFramework. Esta biblioteca é simplesmente a ponte que conecta essa infraestrutura ao protocolo MCP, adicionando a descoberta automática via RTTI e os atributos que tornam tudo tão imediato.
De Semanas a Minutos
Até hoje, integrar um sistema existente com um assistente de IA significava construir adapters REST, escrever plugins específicos para cada plataforma, gerenciar autenticação e formatos diferentes. Com o MCP Server para DMVCFramework, bastam poucas linhas de código Delphi para expor funcionalidades que qualquer cliente de IA pode utilizar imediatamente.
O que antes exigia semanas de trabalho, agora se faz em poucos minutos.
A simplicidade é impressionante
Quer expor uma função do seu sistema de gestão para a IA? Aqui está todo o código necessário:
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);
Isso é tudo. Nenhum arquivo de configuração, nenhum XML, nenhum JSON para escrever manualmente. A biblioteca descobre o tool via RTTI, gera automaticamente o schema JSON dos parâmetros e o disponibiliza para qualquer IA que se conectar.
💡 Cenários de Uso: As Possibilidades São Infinitas
A beleza do MCP é que ele não se limita a um único caso de uso. Qualquer sistema que hoje expõe dados ou funcionalidades pode se tornar um servidor MCP. Aqui estão alguns cenários concretos:
ERP e Sistemas de Gestão
A IA se torna uma interface conversacional para o seu sistema de gestão:
- “Mostre os clientes com faturas vencidas há mais de 30 dias”
- “Qual é a margem média nos produtos da categoria X?”
- “Crie um pedido de compra de 500 unidades do produto ABC do fornecedor Rossi”
Não são necessários novos dashboards. Não são necessários relatórios adicionais. O usuário pergunta, a IA consulta o sistema de gestão e responde.
Sistemas de Monitoramento e Automação Industrial
- “Qual é a temperatura média do forno 3 nas últimas 24 horas?”
- “Houve algum alarme no setor de embalagem hoje?”
- “Compare a produção desta semana com a da semana passada”
A IA acessa os dados SCADA/MES por meio dos tools MCP, tornando a análise imediata.
Saúde e Gestão Clínica
- “Quantos pacientes o Dr. Bianchi tem na agenda amanhã?”
- “Mostre os resultados dos exames do paciente Rossi do último mês”
- “Quais medicamentos estão em falta no estoque da farmácia?”
Acesso natural aos dados clínicos, com todas as garantias de segurança que seu sistema já implementa.
Documentação e Knowledge Base
Exponha a documentação do seu produto como recursos MCP. A IA poderá buscar, navegar e citar diretamente seus manuais, suas FAQs, seus procedimentos operacionais.
DevOps e Tooling Interno
- “Qual é o status do deploy no servidor de produção?”
- “Mostre os erros no log do último quarto de hora”
- “Quantas requisições por segundo a API de pagamento está processando?”
Cada ferramenta interna, cada script, cada procedimento operacional se torna um tool MCP que a IA pode orquestrar.
Autenticação e Autorização: Não Muda Nada
Uma pergunta natural que surge é: “Mas se a IA pode chamar meus tools, quem controla quem pode fazer o quê?”
A resposta é simples: sua aplicação, como sempre fez. O servidor MCP vive dentro da sua aplicação DMVCFramework, então toda a infraestrutura de segurança que você já tem continua funcionando exatamente como antes.
Na prática, o endpoint /mcp é um endpoint DMVCFramework como todos os outros. Isso significa que você pode protegê-lo com os mesmos mecanismos que já usa para suas APIs REST:
- Middleware de autenticação — JWT, Basic Auth, API Key, OAuth2, ou qualquer middleware customizado que você já tenha
- Controle de acesso — verifique as permissões do usuário dentro dos seus tools, exatamente como faz nos seus controllers REST
- HTTPS — o transporte HTTP suporta TLS, então a comunicação é criptografada
Não existe nenhum sistema de segurança “paralelo” para aprender ou configurar. Se o seu sistema de gestão hoje verifica que o usuário X pode ver apenas os pedidos do departamento Y, essa mesma lógica se aplica de forma idêntica quando a IA chama o tool MCP em nome desse usuário. O tool é código Delphi na sua aplicação — pode acessar o contexto de sessão, verificar os papéis, aplicar filtros nos dados, exatamente como qualquer outro ponto do seu sistema.
E se o seu sistema não é baseado em DMVCFramework? Sem problema. Mesmo usando o transporte stdio — onde não existe um servidor HTTP — seus tools continuam sendo código Delphi que roda dentro da sua aplicação. Você pode consultar o mesmo banco de dados de usuários, chamar as mesmas stored procedures de verificação de permissões, aplicar a mesma lógica de autorização que seu sistema já implementa. O tool MCP é simplesmente um novo ponto de entrada, mas a lógica de negócio de segurança é e continua sendo a sua.
Dois Transportes, Zero Compromissos
A biblioteca suporta duas modalidades de transporte:
Streamable HTTP
Seu servidor fica escutando na rede. Os clientes de IA se conectam via HTTP — ideal para ambientes de produção, servidores centralizados, acesso de múltiplas estações de trabalho.
QuickStart.exe --transport http
# Servidor escutando em http://localhost:8080/mcp
stdio
O cliente de IA (ex.: Claude Desktop) executa diretamente o seu executável e se comunica via stdin/stdout. Nenhuma dependência HTTP — não são necessários TaurusTLS, Indy, nem WebBroker. O binário é leve e autônomo.
{
"mcpServers": {
"mio-erp": {
"command": "C:\\MioGestionale\\MCPServer.exe"
}
}
}
Ambos os transportes compartilham o mesmo código dos providers — escreva os tools uma única vez e eles funcionam em qualquer lugar.
🚀 Quick Start: Do Zero ao MCP Server em 5 Minutos
O repositório inclui projetos Quick Start prontos para uso. Copie a pasta, personalize os providers, compile, e seu servidor MCP estará operacional.
samples/
├── shared/ ★ Seus tools, recursos e prompts
│ ├── ToolProviderU.pas
│ ├── ResourceProviderU.pas
│ └── PromptProviderU.pas
├── quickstart/ Projeto HTTP + stdio
└── quickstart_stdio/ Projeto somente stdio (sem TaurusTLS)
Cada arquivo provider é rico em comentários que explicam exatamente como adicionar novos tools, recursos e prompts. Você não precisa ler um manual de 200 páginas — abra o arquivo, leia os comentários, modifique, compile.
O projeto está no GitHub com licença Apache 2.0: github.com/danieleteti/mcp-server-delphi
Adicione MCP a uma Aplicação DMVCFramework Existente
Se você já tem uma aplicação DMVCFramework em produção, adicionar MCP é questão de duas linhas no seu Web Module:
fMVC.AddController(TMCPSessionController);
fMVC.PublishObject(
function: TObject
begin
Result := TMCPServer.Instance.CreatePublishedEndpoint;
end, '/mcp');
Seus endpoints REST, os WebSockets, tudo continua funcionando exatamente como antes. O MCP é simplesmente um endpoint adicional que coexiste com tudo o que você já tem.
🎤 ITDevCon 2026 SE: Aprofundamento Ao Vivo
Vou falar detalhadamente sobre este projeto na próxima ITDevCon 2026 Special Edition, que acontecerá presencialmente no dia 8 de maio de 2026, em Roma.
Veremos juntos:
- Como projetar tools MCP eficazes para sistemas reais
- Patterns e boas práticas para expor lógica de negócio complexa
- Demo ao vivo de integração com Claude Desktop e outros clientes de IA
- Como estruturar um projeto MCP para aplicações enterprise
- Arquitetura dual-transport e cenários de deployment
Se você está pensando em integrar IA nos seus sistemas Delphi, esta sessão vai te dar todas as ferramentas para começar. Inscreva-se em itdevcon.it.
📚 Cursos em Breve
Para quem quiser se aprofundar e disponibilizar para uma IA os dados e a lógica de negócio do seu sistema, em breve estarão disponíveis cursos dedicados sobre este projeto.
Os cursos cobrirão:
- Fundamentos do protocolo MCP
- Projeto de tool providers para sistemas de gestão
- Resource e Prompt providers para knowledge bases corporativas
- Deployment e segurança em ambientes de produção
- Cenários avançados: multi-content, serialização, tratamento de erros
Mais detalhes serão anunciados nas próximas semanas. Fiquem ligados e acompanhem a página de cursos!
As Possibilidades São Infinitas
Com o MCP Server para DMVCFramework, cada aplicação Delphi se torna um ponto de acesso para a inteligência artificial. Não estamos falando de um proof-of-concept ou de um experimento: estamos falando de um protocolo padrão, suportado por todos os principais assistentes de IA, com uma biblioteca production-ready construída sobre a infraestrutura battle-tested do DMVCFramework.
Pense no que isso significa:
- O seu sistema de gestão que responde a perguntas em linguagem natural
- Os seus dados que alimentam análises de IA sofisticadas
- A sua lógica de negócio que se torna acessível sem construir novas interfaces
- Os seus serviços que se integram ao ecossistema global de IA
E tudo isso com a linguagem e o framework que você já conhece e usa todos os dias.
O futuro da integração com IA está aqui, e está escrito em Delphi.
Photo by
Comments
comments powered by Disqus