Seu app LLM realmente precisa de MCP? MCP vs CLI vs function calling
Uma pergunta aparece cada vez mais entre desenvolvedores: meu recurso com LLM precisa consultar um banco ou executar um comando de deploy; devo criar um servidor MCP? Às vezes sim. Mais frequentemente, a resposta honesta é: ainda não.
MCP, o Model Context Protocol, é valioso porque oferece um padrão para apps de IA descobrirem ferramentas, recursos e prompts. Mas um padrão não deve virar a primeira abstração para todo caso.
Comece pela superfície de integração
Function calling, CLI e MCP resolvem o mesmo problema: o modelo precisa de capacidades seguras e estruturadas. A diferença é onde vive o contrato.
Com function calling nativo, o contrato vive no seu app. Você define esquemas, recebe chamadas de ferramenta, executa código no servidor e devolve resultados. É direto, depurável e geralmente o caminho mais rápido para produção.
Com uma camada CLI, o contrato é um comando executável. Testes, type checks, migrações, planos de infraestrutura e busca em repositório já são comandos. A arquitetura correta não é um shell aberto, mas um broker estreito com allowlist, timeouts, validação, limites de saída e logs.
Com MCP, o contrato vira um protocolo entre cliente e servidor. Ele faz sentido quando a mesma capacidade precisa sobreviver a um SDK, um host ou uma equipe.
Quando function calling basta
Para a primeira versão de um recurso de produto, function calling costuma ser o melhor padrão. Autenticação, logs, rate limits, multi-tenant e resposta a incidentes ficam dentro da fronteira do app que você já opera.
Se as ferramentas são específicas do produto — consultar pedidos, preparar reembolsos, resumir histórico de conta — MCP pode adicionar complexidade sem melhorar a experiência.
O problema aparece depois, quando várias equipes implementam a mesma ferramenta em vários hosts. Aí MCP começa a ser atraente.
Quando CLI é melhor
Para agentes de código e infraestrutura, CLI costuma ser a interface mais honesta. É reproduzível localmente, herda convenções do projeto, produz logs humanos e falha com códigos de saída.
Se o fluxo já é nativo de comandos, envolva a CLI primeiro. Retorne resumos estruturados ao modelo e guarde logs brutos para humanos.
Quando MCP vale a complexidade
MCP vale quando a mesma capacidade precisa estar disponível em vários ambientes de IA: busca em base de conhecimento, contexto de repositório, design system, metadados de banco ou logs de auditoria. Uma equipe pode possuir o servidor e várias apps consumi-lo.
Veja também nossos padrões MCP em produção e a estratégia de MCP para SaaS.
MCP não remove o trabalho operacional: autenticação, autorização, secrets, rate limits, telemetria, versionamento de schema e erros seguros continuam necessários.
A regra prática
Um cliente e lógica específica de produto: function calling. Um fluxo humano já baseado em comandos: broker CLI. Vários clientes de IA, ownership distribuído e ferramentas estáveis: MCP.
A melhor arquitetura não é a mais nova. É a que cria menos fronteiras e ainda entrega segurança, observabilidade e um caminho limpo para reutilização.