Escolhendo um MCP para o Firebird
Data da última atualização: 19/07/2026
Se você já tentou pedir para o ChatGPT, Claude ou Cursor criar uma query complexa para o seu banco de dados, provavelmente já sofreu com as famosas "alucinações": a IA inventa tabelas que não existem, usa nomes de colunas incorretos ou sugere sintaxes que o Firebird não suporta. Para resolver definitivamente esse problema, a indústria criou o MCP (Model Context Protocol).
De forma simples, um servidor MCP para bancos de dados atua como uma ponte padronizada. Ele permite que o seu assistente de IA "enxergue" o seu banco de dados, leia os metadados e entenda exatamente com o que está lidando antes de escrever uma linha de código sequer. A boa notícia é que já existem implementações nativas de MCP para o Firebird!
Neste artigo, analisaremos duas opções ativas na comunidade: o mcp-firebird (de Daniele Teti) e o mcpFirebird (do usuário PuroDelphi). Apesar dos nomes quase idênticos, a arquitetura interna e a filosofia por trás de cada um são bem difrentes.
A Abordagem Arquitetural: stdio vs HTTP/SSE
A primeira grande diferença entre os projetos está em como eles se comunicam com a sua IA e com o servidor Firebird.
O mcp-firebird (Daniele Teti) é um executável nativo (Windows x64) escrito em Delphi. Ele utiliza o protocolo de transporte stdio (standard input/output). Na prática, isso significa que o cliente MCP (como o Cursor IDE) "spawna" (inicia) o executável localmente como um processo filho invisível. Não há portas de rede abertas, nem configuração de firewall, nem necessidade de gerenciar sessões. Ele conecta-se ao banco de dados utilizando a própria fbclient.dll. Isso garante total compatibilidade com os tipos de dados introduzidos no Firebird 4.0 e 5.0 (como INT128, DECFLOAT e suporte a TimeZones), comportando-se exatamente como uma aplicação nativa faria.
O mcpFirebird (PuroDelphi), por sua vez, é escrito em Node.js (TypeScript) e roda através do NPM (npx mcp-firebird). Diferente do stdio, ele sobe um servidor web (via SSE - Server-Sent Events ou HTTP Unificado). Isso o torna a escolha óbvia se a sua IA e o seu servidor MCP não estiverem na mesma máquina (como em agentes rodando isolados no Docker na nuvem). Para falar com o banco, ele delega o trabalho pesado por padrão ao driver javascript node-firebird. O uso da plataforma Node.js traz muita versatilidade para a web, mas cobra o seu preço na hora do setup de conexão avançada, conforme veremos mais adiante.
mcp-firebird (Daniele Teti): O "AI DBA" e Especialista em Tuning
Este projeto tem um foco muito forte em diagnósticos e performance. A ferramenta nunca irá alterar seus dados; sua filosofia é estritamente Read-Only (somente leitura).
Para entender o grau de inteligência embarcada, imagine a seguinte situação: você pede para a IA investigar a lentidão de uma consulta. Usando as ferramentas do "Teti", a IA aciona o fb_analyze_query e lê que o Firebird está executando um PLAN (CUSTOMERS NATURAL). Em uma ferramenta superficial, a IA sugeriria imediatamente um CREATE INDEX. No mcp-firebird, a IA percebe — através de chamadas adicionais de auditoria — que o índice já existe, mas está inativo (INACTIVE). A sugestão devolvida à IA então será o script: ALTER INDEX IDX_CUST_CITY ACTIVE;. Isso evita sobrecarga de I/O em futuras operações de INSERT causadas por índices duplicados.
fb_evaluate_goal. Com ele, a sua IA pode medir matematicamente o tempo de resposta em milissegundos *antes* e *depois* da aplicação do script sugerido, provando empiricamente que a "solução" da IA realmente removeu o gargalo do SGBD.
Outro detalhe vital: as baterias de testes desta versão rodam explicitamente no FB 2.5, 3.0, 4.0 e 5.0 antes de qualquer release, garantindo que o MCP envie o SQL adequado para a versão com a qual ele está conversando.
mcpFirebird (PuroDelphi): "Canivete Suíço"
Se a ferramenta do Teti tem o perfil de um consultor de performance especialista e focado, o mcpFirebird (escrito em camelCase) é o autêntico canivete suíço.
Não se engane: o mcpFirebird também possui excelentes ferramentas dedicadas para análise de performance, como analyze-query-performance, get-execution-plan e analyze-missing-indexes. A grande diferença é que ele não se restringe à leitura. Por permitir operações de escrita (DML/DDL através do execute-query), a sua IA pode fazer um ciclo completo de otimização de forma autônoma: ela lê que a query está lenta com o analyze-query-performance, cria o índice necessário sozinha rodando o script no banco e, em seguida, mede a performance novamente para te provar que o tempo caiu. Ou seja, ela atinge o mesmo efeito prático de "metrificação antes/depois" do Teti, só que agindo no banco por conta própria em vez de pedir para você intervir.
Além disso, ele estende os poderes do agente para tarefas de manutenção pesada: rodar operações em lote paralelas (execute-batch-queries), gerar backups completos/incrementais (via API), realizar restores e validar a integridade do banco.
Um "plus" desta implementação é o subscribe_to_event. O Firebird tem nativamente o comando POST_EVENT, um recurso muito útil que avisa os clientes conectados quando algo ocorreu (ex: "NOVO_PEDIDO"). Como este MCP roda em um servidor persistente usando Server-Sent Events, a sua aplicação de IA pode ficar em estado de dormência (sem consumir CPU com polling via selects). Quando algum trigger no banco de dados ou aplicaçãodispara o evento, a conexão nativa avisa o MCP, que desperta o seu Agente de IA instantaneamente. Para sistemas de IA automatizados que processam filas de backoffice, isso é um grande diferencial.
mcpFirebird usa a biblioteca JS pura node-firebird, que não suporta a criptografia de rede (WireCrypt) do Firebird 3.0+. Se você usar o padrão, será obrigado a configurar WireCrypt = Disabled no servidor, rebaixando a segurança da rede.
Porém, há uma saída: O projeto permite que você force o uso de um driver nativo em C++ (usando a flag
--use-native-driver). Ao fazer isso, o WireCrypt funcionará perfeitamente. O custo? O seu ambiente Node.js precisará de uma toolchain de compilação em C++ completa (como o Visual Studio Build Tools de 7GB no Windows ou build-essential no Linux), além de Python e bibliotecas de desenvolvimento do Firebird para compilar o node-gyp localmente. É possível ter segurança, mas o setup é bastante oneroso comparado à versão pré-compilada do Teti.
Licenciamento
Em relação a licenciamento, a diferença também dita o público alvo:
- O mcp-firebird (Daniele Teti) baseia-se na licença PolyForm Internal Use 1.0.0 para a versão base. Na prática, é gratuito para todas as operações internas da sua empresa, não importa o tamanho do seu servidor. Mas, se você quiser redistribuir ou embutir isso em um produto comercial de IA, precisará adquirir licenças. Há também uma versão Enterprise (paga) que adiciona leituras do
firebird.loge Trace API. - O mcpFirebird (PuroDelphi) é inteiramente Open Source, disponibilizado sob a Licença MIT. Não há custo para uso interno, distribuição ou incorporação em soluções comerciais como SaaS.
Comparativo Lado a Lado
| Característica | mcp-firebird (Daniele Teti) | mcpFirebird (PuroDelphi) |
|---|---|---|
| Base Arquitetural | Executável Nativo Windows (Delphi) + fbclient.dll |
Node.js / TypeScript + npm package |
| Protocolo MCP | stdio (Isolamento de processo local) |
SSE e HTTP Streamable (API de rede contínua) |
| Foco Técnico da IA | Diagnóstico DBA. Inteligência para evitar redundâncias (ex: detectar índices INACTIVE em vez de duplicá-los). Metrificação empírica (fb_evaluate_goal). |
Também analisa performance (planos e índices ausentes). Além disso, possui acesso irrestrito (DML/DDL), processamento em lotes (execute-batch-queries) e APIs para gerir backups/validação de banco. |
| Capacidade Reativa | Inexistente (a IA toma a iniciativa). | Avançada (Suporte a subscribe_to_event escutando POST_EVENT do banco). |
| Filosofia de Segurança | Totalmente Read-Only (Audita mas não altera dados). | Read e Write (A IA pode destruir seus dados se mal instruída ou comprometida). |
| Criptografia WireCrypt (FB 3.0+) | Suporte garantido de fábrica (out-of-the-box). | Suportado apenas se o desenvolvedor compilar o driver C++ manualmente (via node-gyp); caso contrário, não suporta. |
| Licenciamento | Grátis para Uso Interno (PolyForm) / Edição Enterprise Paga | Totalmente Gratuito e Aberto (Licença MIT) |
Uso com o Embarcadero KAI
A Embarcadero lançou o KAI, uma solução de Inteligência Artificial baseada em agentes e integrada diretamente ao RAD Studio (Delphi e C++Builder). Eles adotaram oficialmente o padrão MCP como forma de comunicação entre o LLM e a IDE.
O que isso significa para você? Sendo o KAI um Client MCP construído sobre esse ecossistema aberto, abre-se a possibilidade de "plugar" servidores como o do Teti ou do PuroDelphi diretamente no seu Delphi.
Imagine a seguinte situação no seu dia a dia: você abre um projeto legado no RAD Studio, seleciona um FDQuery com um SQL enorme e diz para o KAI: "Essa consulta de vendas está travando o cliente. Descubra o gargalo e gere uma nova tela em VCL para exibir esses dados de forma paginada".
Em um cenário sem MCP, a IA apenas tentaria adivinhar o problema lendo o texto do SQL. Mas, com o MCP plugado, o KAI entra no seu Firebird, roda um get-execution-plan , descobre que o índice de datas está inativo e entende aestrutura exata de todas as tabelas envolvidas. Ele volta para você com a solução completa: te entrega o script para corrigir o índice no banco e já cospe o código Pascal da nova tela de relatório na sua IDE, com todos os campos mapeados perfeitamente (sem inventar colunas que não existem).
Conclusão
Fica evidente que, apesar de ambos servirem para conectar o Firebird com oas clientes de IA, os dois MCPs nasceram com propósitos diferentes.
A escolha pelo mcp-firebird (Daniele Teti) é o caminho natural se o seu objetivo primário for diagnóstico rigoroso, tuning e auditoria de performance. Por ser estritamente "Read-Only" e nativo, você não corre o risco de uma IA mal instruída apagar seus dados, e você não sofre com requisitos de infraestrutura: basta plugar e usar, aproveitando 100% da segurança do WireCrypt de fábrica e deixando a tomada de decisão final na mão de um humano.
Por outro lado, o mcpFirebird (PuroDelphi) é a escolha certa para quem deseja criar agentes autônomos e proativos. Sua permissão de escrita e a escuta nativa de POST_EVENT permitem que a IA não apenas diagnostique problemas, mas efetivamente atue aplicando os índices sozinha, além de comandar tarefas braçais (backups/restores/lotes). A ressalva fica por conta do ecossistema Node.js: se a segurança física de rede for inegociável para você (como costuma ser em produção), prepare-se para ter o trabalho extra de configurar todo um ambiente de compilação C++ para ter o WireCrypt funcionando através do driver nativo.
No final das contas, a decisão está intimamente atrelada ao grau de autonomia que você deseja dar ao seu "robô" e ao peso que a sua infraestrutura pode suportar. Ambas as ferramentas podem representar grandes saltos de produtividade.

