Become a member!

MCP Server para DMVCFramework: Conecte Suas Aplicações Delphi à Inteligência Artificial

🌐
Este artigo também está disponível em outros idiomas:
🇬🇧 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.

MCP Server para DMVCFramework


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.

A Golden Gate Bridge na neblina — como o MCP Server para DMVCFramework, uma ponte que conecta o mundo das aplicações Delphi à inteligência artificial Photo by Rockwell on Unsplash


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.


Comments

comments powered by Disqus