MCP: por que a IA precisava de um protocolo

Compartilhar
MCP: por que a IA precisava de um protocolo
FIGURA 1 — "MCP: por que a IA precisava de um protocolo"

Arquitetura, funcionamento e diferenças para APIs, OpenAPI e Function Calling

Série MCP — Parte 1


Resumo

Modelos de linguagem deixaram de apenas gerar texto. Hoje eles consultam dados, escolhem ferramentas, executam ações e coordenam fluxos de trabalho — e essa mudança criou um problema de integração que ninguém tinha antes. Cada combinação entre uma aplicação de IA e um sistema externo tendia a virar um conector próprio, com seu esquema, sua autenticação e suas convenções. APIs, OpenAPI e function calling resolveram partes desse problema, mas nenhum deles estabeleceu uma camada comum para que uma aplicação de IA descubra capacidades, obtenha contexto e interaja de forma padronizada com sistemas que ela não conhecia de antemão.

O Model Context Protocol (MCP) ocupa esse espaço, adaptando ao domínio da IA conceitos do Language Server Protocol. Este artigo apresenta seus fundamentos, explica a arquitetura Host–Client–Server, detalha as primitivas de servidor (Tools, Resources, Prompts) e de cliente (Sampling, Elicitation, Roots), e o diferencia de REST, OpenAPI e function calling. Discute quatro implementações documentadas em literatura revisada por pares e analisa, com dados experimentais, a superfície de segurança que a padronização abre. A tese central é que o MCP não substitui APIs: ele é uma camada de integração orientada a agentes que consome as APIs existentes. (ANTHROPIC, 2024; FERRAG et al., 2026b).

Palavras-chave: Model Context Protocol; MCP; IA agentiva; agentes de IA; interoperabilidade; function calling; APIs; OpenAPI; JSON-RPC; segurança de agentes; LLM.


1. A IA aprendeu a falar. Depois precisou aprender a agir

FIGURA 2 — "A IA aprendeu a falar. Depois precisou aprender a agir"

Na primeira fase da popularização dos LLMs, a interação cabia em uma frase: o usuário fornecia texto, o modelo devolvia texto. O paradigma mudou quando esses modelos viraram componentes de agentes — sistemas que combinam percepção, raciocínio, planejamento, memória e ação sobre ambientes externos. Responder bem deixou de bastar. (FERRAG; TIHANYI; DEBBAH, 2026).

A distinção importa mais do que parece. Um LLM isolado tem o conhecimento que está em seus parâmetros e o que recebe no contexto da conversa. Ele não tem acesso ao estado atual do mundo nem aos sistemas que uma organização opera. A introdução do function calling estruturado, em 2023, permitiu que LLMs invocassem APIs externas de forma consistente e legível por máquina, viabilizando busca de dados em tempo real, computação e orquestração em múltiplas etapas. (FERRAG et al., 2026b).

O problema surgiu com a escala, e Ferrag et al. o descrevem sem rodeios: a expansão de plugins, conectores e protocolos ultrapassou as práticas de segurança, produzindo integrações frágeis — adaptadores escritos caso a caso para cada novo serviço, credenciais administradas manualmente, tratamento de erro reescrito toda vez, convenções específicas de plataforma a aprender. Fluxos de trabalho ficavam codificados de forma rígida, limitando a capacidade do agente de se adaptar em tempo de execução. E, crucialmente: "a ausência de um mecanismo de descoberta compartilhado ou de um vocabulário comum para capacidades de ferramentas aumenta o risco de lacunas de segurança". (FERRAG et al., 2026b, p. 353).

O MCP nasce dessa fricção.

FIGURA 3 — "Da conexão ponto a ponto à camada de protocolo"

2. O problema N × M já tinha acontecido antes

Vale uma pausa histórica que raramente aparece nos textos sobre MCP e que é a melhor forma de entender por que um protocolo era a resposta certa.

Em 2016, editores de código viviam uma versão idêntica do problema. Cada editor — VS Code, Vim, Emacs, Sublime — precisava suportar cada linguagem — Python, Go, Rust, TypeScript. Autocompletar, ir para a definição e detectar erros exigiam integração específica por par editor–linguagem. Com 10 editores e 20 linguagens, alguém teria que escrever e manter 200 integrações. A Microsoft, com Red Hat e Codenvy, respondeu com o Language Server Protocol (LSP): cada editor implementa o lado cliente uma vez, cada linguagem implementa um servidor uma vez, e as 200 integrações viram 30. (MICROSOFT, 2016).

Essa filiação não é analogia deste artigo. Ferrag et al. a registram explicitamente na literatura revisada por pares:

"O Model Context Protocol (MCP) adapta conceitos do Language Server Protocol para prover um framework orientado a descoberta, no qual agentes podem consultar serviços disponíveis, negociar formatos de dados e solicitar aprovação humana para operações sensíveis." (FERRAG et al., 2026b, p. 354, tradução nossa).

Trocando os termos: editores viram aplicações de IA, linguagens viram sistemas externos, e o mecanismo de redução do acoplamento é o mesmo.

A aritmética do acoplamento

Cenário 5 aplicações × 20 sistemas 10 × 50 20 × 100
Integrações ponto a ponto ($N \times M$) 100 500 2.000
Integrações com protocolo ($N + M$) 25 60 120
Redução 75% 88% 94%

Tabela 1 — Ordem de grandeza do acoplamento. Valores puramente combinatórios, ilustrativos do princípio arquitetural; não representam esforço real de implementação, que varia com a complexidade de cada integração.


3. APIs, OpenAPI e function calling: o que cada um já resolvia

Antes de dizer o que o MCP acrescenta, é preciso ser justo com o que já existia.

REST é um estilo arquitetural para sistemas distribuídos, formulado por Fielding em 2000, baseado em restrições que favorecem escalabilidade, interface uniforme e separação entre componentes. REST não é sinônimo de HTTP nem de API. Uma API REST resolve como um software acessa recursos e operações de outro software. (FIELDING, 2000; FIELDING; TAYLOR, 2002).

OpenAPI resolve a descrição: um contrato legível por máquina sobre uma API HTTP — endpoints, parâmetros, operações, estruturas de dados — sem exigir leitura do código-fonte. É documentação executável, não mecanismo de orquestração. (OPENAPI INITIATIVE, 2025).

Function calling resolve a decisão. A aplicação informa ao modelo quais funções existem e seus esquemas; o modelo escolhe uma e produz argumentos estruturados; a aplicação executa. Isso tornou previsível a ponte entre LLM e código, mas o conjunto de funções permanece atado àquela aplicação, àquele provedor e àquele momento. Li et al. observam o efeito colateral desse arranjo: ecossistemas de plugins como os da OpenAI, Coze e Yuanqi expandiram o alcance das ferramentas, mas permaneceram isolados, obrigando desenvolvedores a manter múltiplas versões da mesma ferramenta para plataformas diferentes — fragmentação que eleva risco de vulnerabilidade, produz controle de acesso inconsistente e limita auditabilidade. (OPENAI, 2026; LI et al., 2025).

O que faltava era permitir que aplicações de IA descobrissem capacidades de sistemas não registrados de antemão, de forma uniforme.


4. O que é, afinal, o Model Context Protocol

O MCP é um padrão aberto para conectar aplicações de IA a sistemas externos, apresentado publicamente pela Anthropic em 25 de novembro de 2024. A documentação usa a analogia do "USB-C para aplicações de IA": dispositivos diferentes continuam fazendo coisas diferentes, mas compartilham uma forma padronizada de conexão. (ANTHROPIC, 2024; MODEL CONTEXT PROTOCOL, 2026a).

A analogia ajuda e engana em partes iguais. O MCP não torna banco de dados, GitHub, ERP e sistema de arquivos a mesma coisa. Ele padroniza a interface pela qual uma aplicação de IA descobre e usa as capacidades que esses sistemas expõem. Por baixo, cada um continua com seu SQL, seu REST, seu SDK proprietário. Li et al. resumem a função: o protocolo "abstrai modularmente descrições de ferramentas, esquemas de entrada e saída e metadados de permissão", permitindo que LLMs descubram e invoquem ferramentas de forma autônoma. (LI et al., 2025; SABOIA; SWEET; SWEET, 2025).

Daí a definição que sustenta o resto do artigo:

O MCP é uma camada de integração orientada a agentes que consome APIs, bancos, arquivos e serviços como mecanismos subjacentes. Ele não os substitui.

4.1 O MCP não está sozinho: a família de protocolos agênticos

Um ponto que quase todo texto introdutório omite: o MCP resolve o eixo agente ↔ ferramenta. Ele não resolve o eixo agente ↔ agente. Sobre ele surgiram especificações complementares — o Agent-to-Agent (A2A) do Google, o Agent Network Protocol (ANP) e o Agent Communication Protocol (ACP) —, voltadas a colaboração ponto a ponto e orquestração multiagente. (FERRAG et al., 2026b; FERRAG; TIHANYI; DEBBAH, 2026). Estes serão tratados em artigos especificos.

A distinção não é acadêmica. O CoMAS-HPC, analisado adiante, usa os dois ao mesmo tempo: A2A para os agentes conversarem entre si, MCP para cada agente alcançar a infraestrutura. (VINAY P; SAURAV, 2025).

Eixo de comunicação Pergunta Protocolo típico
Agente ↔ ferramenta / dados Que capacidade eu invoco, e como? MCP
Agente ↔ agente A quem delego esta subtarefa, e com que contrato? A2A, ANP, ACP
Modelo ↔ aplicação Que função o modelo quer chamar agora? Function calling

Tabela 2 — Eixos de comunicação em sistemas agênticos. Fontes: Ferrag et al. (2026b); Ferrag, Tihanyi e Debbah (2026); Vinay P e Saurav (2025).


5. Por dentro: Host, Client e Server

Host é a aplicação onde a experiência de IA acontece — um assistente de desktop, uma IDE, um agente de pesquisa. Ele coordena o modelo, as políticas da aplicação, a interação com o usuário e um ou mais clientes MCP.

Client mantém a relação protocolar entre o Host e um servidor específico. É o intermediário entre o LLM e o Server: transmite as requisições de invocação e devolve os resultados. Um Host pode manter vários clientes simultâneos, um por servidor.

Server expõe capacidades — como serviços ampliados ao Client, na forma de ferramentas, recursos e templates de prompt. Pode implementá-las diretamente ou funcionar como fachada sobre sistemas existentes. O servidor não precisa conter um modelo de linguagem. (LI et al., 2025; MODEL CONTEXT PROTOCOL, 2026a).

Figura 4 — Organização Host–Client–Server. A padronização vive apenas nas setas do meio: à esquerda, cada Host é livre; à direita, cada sistema mantém sua tecnologia. Elaboração própria com base em Li et al. (2025) e na especificação.

5.1 A camada de mensagens

Detalhe quase sempre omitido nas explicações introdutórias: o MCP não inventou formato de mensagem. Ele usa JSON-RPC — a mesma base que o LSP adotou. Três fontes independentes registram isso. Guo et al. descrevem que o MCP "permite que LLMs chamem funções, como consultar APIs ou controlar dispositivos, com entradas e saídas estruturadas, usando interfaces como JSON-RPC via stdio ou HTTP". Vinay P e Saurav são igualmente diretos: o MCP "padroniza como agentes interagem com a infraestrutura por meio de uma interface JSON-RPC uniforme, desacoplando a lógica do agente de backends específicos". (GUO et al., 2025; VINAY P; SAURAV, 2025; LI et al., 2025).

Transporte Onde roda Uso típico Observação
stdio Servidor local, processo filho do Host Arquivos, ferramentas de linha de comando, bancos locais Sem rede; o isolamento é o do processo
HTTP Servidor remoto Serviços corporativos, servidores compartilhados Exige autenticação e autorização explícitas

Tabela 3 — Transportes. Confira o transporte e a versão vigente na especificação adotada; esta camada mudou mais de uma vez desde 2024.

Nota de versão — leia antes de implementar. A especificação do MCP é versionada por data. Trabalhos publicados ao longo de 2025 descrevem um fluxo em três estágios — Inicialização (conexão e Return Tool List), Execução da Tarefa e Integração do Resultado — que revisões posteriores alteraram. Os conceitos de Host, Client, Server, Tools, Resources e Prompts permanecem estáveis; detalhes de handshake, transporte e autorização, não. Todo trabalho técnico sobre MCP deve registrar a versão da especificação utilizada. (LI et al., 2025; MODEL CONTEXT PROTOCOL, 2026e).

6. As primitivas: o vocabulário do protocolo

6.1 O que o servidor oferece

Primitiva Pergunta que responde Exemplo Quem controla
Tool "O que eu posso fazer?" get_metric_timeseries, criar_issue, consultar_vendas Modelo, sob política da aplicação
Resource "Que contexto eu posso ler?" esquema de banco, arquivo, documento, registro Aplicação
Prompt "Que interação pronta existe?" template de revisão de código, roteiro de análise Usuário

Tabela 4 — Primitivas de servidor. Fontes: Model Context Protocol (2026b; 2026c; 2026d); Li et al. (2025).

A distinção entre Tool e Resource é a que mais rende didaticamente. Um Resource entrega o esquema de uma base; uma Tool executa a consulta sobre ela. Um Resource entrega o conteúdo de um arquivo; uma Tool publica a alteração. A primeira é leitura, a segunda tem efeito sobre o mundo — e é por isso que a especificação prevê aprovação humana para operações sensíveis, mecanismo que Ferrag et al. destacam como parte do desenho do protocolo. (FERRAG et al., 2026b; MODEL CONTEXT PROTOCOL, 2026b).

Prompts são o elemento menos compreendido dos três. Em vez de esconder um template de instrução dentro da aplicação, o servidor o publica como parte da sua interface: quem conhece o domínio distribui junto a forma de interrogá-lo.

6.2 O que o cliente oferece — e por que isso muda tudo

Aqui está a diferença estrutural entre MCP e function calling que a maioria dos textos deixa passar: o canal é bidirecional. O servidor também pode pedir coisas ao cliente.

Figura — Primitivas de cliente. Confira a disponibilidade de cada uma na versão de especificação adotada; elicitation é a mais recente das três.

A consequência prática do Sampling merece ênfase: um servidor MCP pode conter inteligência sem carregar um modelo. Ele pede o raciocínio emprestado ao Host. Em function calling, essa via de volta não existe — a aplicação chama a função e a função responde, ponto final. É também essa bidirecionalidade que, como veremos, desloca controle e risco para o lado do LLM. (LI et al., 2025).


7. Uma interação ponta a ponta

Um usuário pergunta a um assistente corporativo: "Qual foi o faturamento do último trimestre e quais filiais caíram mais de 10%?"

Figura — Interação MCP simplificada. Autenticação, autorização e tratamento de erro foram omitidos para privilegiar a compreensão do fluxo. Em produção, nenhum dos três é opcional.

Repare em onde o modelo entra: só no meio. A descoberta é protocolar e determinística; a escolha da ferramenta é probabilística; a execução volta a ser determinística. Essa alternância é o que torna o sistema auditável — e é também onde os riscos se concentram.


8. MCP não é uma API — com uma ressalva

A frase funciona como chamada de atenção, mas exige precisão. O MCP tem operações e mensagens que formam uma interface programática; em sentido amplo, ele também é uma API. O que ele não é é uma API de negócio como GET /clientes ou consultarSaldo(). Ele é um protocolo de integração que padroniza a relação entre aplicações de IA e servidores de capacidades.

O que é Pergunta central Descoberta de capacidades Ligação com LLM Coexiste com MCP?
REST Estilo arquitetural Como organizar um sistema distribuído? Fora do escopo Indireta Sim
API HTTP Interface de um serviço Como outro software chama este sistema? Documentação específica Indireta Sim
OpenAPI Especificação descritiva Como descrever uma API de forma legível por máquina? Descreve o que foi declarado Indireta Sim
Function calling Mecanismo modelo–aplicação Que função o modelo quer chamar, com quais argumentos? Registrada pela aplicação Direta Sim
MCP Protocolo de integração para IA Como uma aplicação de IA descobre e consome capacidades externas? Central ao modelo Direta —

Tabela — Diferenças conceituais. Fontes: Fielding (2000), OpenAPI Initiative (2025), OpenAI (2026), Gasmi et al. (2026), Li et al. (2025).

A diferença que mais importa cabe em duas frases. No function calling, a aplicação diz ao modelo: "estas são as funções que você pode usar agora". No MCP, servidores publicam e descrevem suas capacidades, e a aplicação as consulta em tempo de execução. Internamente, o Host pode muito bem usar function calling para decidir qual Tool acionar — os dois operam em camadas distintas e não competem.

FIGURA — As camadas não competem

9. Quatro implementações documentadas

9.1 OpenBridge — quando OpenAPI vira ferramenta MCP

Desenvolvido no Center for Research Computing da Universidade de Notre Dame, o OpenBridge é um servidor MCP que atua como proxy: ele lê a especificação OpenAPI de uma API científica, extrai as definições de endpoint e mapeia parâmetros e respostas para o formato de ferramenta MCP — automaticamente. Isso "elimina a necessidade de configuração manual de ferramentas e permite que o sistema evolua conforme as APIs mudam". (SABOIA; SWEET; SWEET, 2025).

Claude Desktop → MCP → OpenBridge → REST/OpenAPI → API dos PADs

O caso de uso são os Paper Analytical Devices (PADs), testes de baixo custo que verificam autenticidade farmacêutica em contextos de poucos recursos. O exemplo mais instrutivo do artigo é uma consulta em linguagem natural: "Liste os projetos que envolvem cartões usados para testes de medicamentos na Tanzânia." O assistente encadeou autonomamente uma sequência de chamadas — recuperar todos os projetos, filtrar por relevância geográfica, obter metadados estruturados do projeto identificado, e por fim consultar a escala, revelando mais de 3.100 amostras associadas. Os autores registram: nenhum desses passos foi explicitamente implementado.

Isso responde à pergunta "por que OpenAPI não bastava?". Mesmo APIs tecnicamente abertas "frequentemente carecem da clareza semântica de que os agentes precisam para raciocinar sobre a funcionalidade disponível ou formular chamadas de ferramenta apropriadas". O OpenBridge acrescentou ainda JSON-LD às respostas, ligando os dados a uma ontologia de domínio — lembrete de que interoperabilidade sintática e semântica são problemas relacionados, mas distintos.

9.2 SensorMCP — geração automática de ferramentas

Da Universidade Chinesa de Hong Kong, o SensorMCP inverte a lógica usual: em vez de expor ferramentas prontas, é um servidor MCP que gera ferramentas de sensor sob demanda, por meio de um pipeline de co-desenvolvimento entre ferramenta e linguagem. Um pedido como "monitorar vida selvagem" dispara a criação de uma ferramenta de detecção de objetos sob medida, com refinamento por feedback. A avaliação preliminar, com conjuntos de dados reais de zoológico, atingiu até 95% de taxa de sucesso de ferramenta em cenários de monitoramento animal. (GUO et al., 2025).

9.3 HARMONY — casas inteligentes (em simulação)

O HARMONY — Home Autonomous Resilient Multimodal Operations Nexus for You — combina um LLM multimodal com agentes especializados em conforto e ambiência, segurança, assistência culinária e entretenimento, coordenados por um Agente Orquestrador. O MCP fornece a orquestração padronizada: consultas de estado, assinaturas de evento, recuperação de dados, invocação de ações e gestão consistente de estado, enquanto o acesso aos dispositivos permanece nas APIs RESTful do ecossistema Samsung SmartThings. (MOHANAPRASAD K. et al., 2026).

Ressalva metodológica importante: a avaliação é baseada em simulação, em um ambiente doméstico simulado. Os próprios autores delimitam que as contribuições estão "dentro de um ambiente de casa inteligente inteiramente simulado". O trabalho demonstra viabilidade de orquestração, não desempenho em campo.

9.4 CoMAS-HPC — supercomputação

Do Centre for Development of Advanced Computing (Bengaluru), o CoMAS-HPC organiza uma federação de agentes especialistas — Orquestrador, Gerente de Operações, Analista de Performance — para administrar sistemas de computação de alto desempenho. A arquitetura separa dois planos com dois protocolos: A2A para os agentes conversarem entre si, MCP para cada um alcançar Slurm, Prometheus e Cassandra. (VINAY P; SAURAV, 2025).

O argumento central dos autores é a descoberta em tempo de execução: um agente "pode recuperar uma nova capacidade em tempo de execução e incorporá-la imediatamente ao seu plano — um nível de adaptação dinâmica impossível em sistemas multiagentes tradicionais, que exigem recompilação para integrar novas ferramentas". Em vez de escrever CQL para o Cassandra, o Analista de Performance invoca uma ferramenta genérica get_metric_timeseries.

Nos casos demonstrados, uma crise térmica coordenada foi resolvida em menos de cinco minutos, evitando dano de hardware. A validação, porém, foi feita em um único nó, deliberadamente, para isolar o comportamento do plano de controle.

O que os quatro têm em comum: o MCP não se resume a "plugin de chatbot". Ele funciona como plano de integração entre agentes e infraestruturas heterogêneas — desde que acompanhado de autenticação, autorização, validação e governança. É disso que trata a próxima seção.


10. Padronizar redistribui o risco — não o elimina

Tornar ferramentas e contexto descobríveis em tempo de execução amplia a capacidade do agente e, na mesma medida, sua superfície de ataque. Descrições de ferramentas e resultados de execução entram no contexto do modelo, e tudo que entra no contexto pode influenciar o raciocínio.

Li et al. identificam a vulnerabilidade estrutural: o arquivo de descrição de ferramentas armazenado no servidor é consultado pelo Client e usado durante a inferência do LLM. Atacantes podem lançar tool poisoning manipulando esse arquivo, ou construir servidores MCP falsos que se passam por legítimos. Como o MCP não possui verificação confiável de servidor e de metadados de ferramenta, ele é vulnerável a Rug Pull attacks — quando funcionalidade, permissões ou comportamento de uma ferramenta são alterados maliciosamente depois que o consentimento do usuário foi concedido. A resposta proposta é uma dupla assinatura: uma plataforma terceira confiável audita e assina o servidor e suas ferramentas; o desenvolvedor acrescenta a própria assinatura. Ambas precisam ser válidas antes da invocação. (LI et al., 2025).

Não é ameaça hipotética. Ferrag et al. catalogam mais de trinta técnicas de ataque em quatro categorias — Manipulação de Entrada, Comprometimento do Modelo, Ataques de Sistema e Privacidade, e Vulnerabilidades de Protocolo — e citam exploits reais, entre eles o Toxic Agent Flow no servidor MCP do GitHub e injeções Prompt-to-SQL (P2SQL). O framework foi validado por revisão de especialistas e mapeamento cruzado com incidentes reais e repositórios públicos de vulnerabilidade (CVE, NIST NVD). (FERRAG et al., 2026b).

10.1 O experimento de Gasmi et al.

O estudo mais direto sobre a questão comparou arquiteturas de function calling e MCP em 3.250 cenários de ataque distribuídos por sete modelos de linguagem, com controles positivos e negativos, execução em triplicata e avaliação cega. (GASMI et al., 2026).

O resultado que circula é o agregado: 73,5% de taxa de sucesso de ataque (ASR) no function calling contra 62,6% no MCP. Lido isoladamente, ele sugere que o MCP é mais seguro. Os dados por categoria mostram outra coisa.

Ameaça Categoria ASR Function Calling ASR MCP
T1 Sequestro de instrução 64,1% 56,0%
T2 Envenenamento de conhecimento 59,6% 56,9%
T3 Adulteração de esquema de ferramenta 89,7% 59,1%
T4 Abuso de ação em tempo de execução 72,9% 52,6%
T5 Divulgação de dados 71,6% 56,9%
T6 Manipulação de recursos 77,8% 51,4%
T7 Falsificação de identidade 71,9% 60,9%
T8 Manipulação de confiança 74,0% 85,3%
T9 Evasão de governança 79,2% 82,7%
Global 73,5% (n=1393) 62,6% (n=1857)

Tabela 7 — ASR por categoria de ameaça. Adaptado de Gasmi et al. (2026, Tabela 4). Destaques em negrito indicam a arquitetura mais vulnerável em cada linha extrema.

Leia as duas últimas linhas. Em T8 (manipulação de confiança) e T9 (evasão de governança), o MCP é mais vulnerável. A vantagem agregada vem de T3 a T6 — ameaças centradas no sistema, que a separação cliente-servidor do MCP dificulta. O preço aparece nas ameaças centradas no contexto.

Gráfico — A troca é simétrica. O function calling concentra 88% de ASR em ameaças centradas no sistema e apenas 59% nas centradas no LLM. No MCP a relação se inverte: 57% e 68,3%. Trocar de arquitetura move o risco de lugar. Dados: Gasmi et al. (2026, Fig. 9).

O caso mais agudo dessa inversão está nos ataques simples por vetor:

Vetor de ataque Function Calling MCP
Injeção indireta de prompt 78,7% 98,0%
Injeção de JSON 73,2% 92,0%
Man-in-the-middle 55,0% 52,7%
Injeção no prompt de sistema 52,2% 55,1%
Injeção no prompt de usuário 48,1% 49,4%
Negação de serviço 0,0% 0,0%

Tabela — ASR por vetor em ataques simples. Adaptado de Gasmi et al. (2026, Fig. 12). O MCP tem 98% de sucesso de ataque em injeção indireta de prompt — o número mais alarmante do estudo, e o que o agregado de 62,6% esconde por completo.

10.2 Três achados contraintuitivos

Complexidade importa mais que arquitetura. Ataques encadeados de cinco passos atingiram 91% a 96% de sucesso em todas as configurações testadas. No function calling da Azure, a progressão vai de 35% (um passo) a 95% (cinco passos). O MCP degrada mais lentamente — a curva mais estável foi de 51% a 91% —, mas nenhuma arquitetura resiste. Os autores comparam com benchmarks estabelecidos: o AgentDojo alcança 92% de eficácia de defesa contra injeção direta, mas essa defesa cai para 67,4%–73,8% de sucesso de ataque diante de ataques compostos, que nenhum dos três benchmarks avaliados cobre. (GASMI et al., 2026).

Ataques compostos afetam as arquiteturas em direções opostas. Do simples para o composto, o function calling piora (56% → 70%), enquanto o MCP melhora (60% → 51,3%). A separação cliente-servidor obriga o atacante a comprometer componentes independentes, em vez de explorar interfaces fortemente acopladas.

Modelos com raciocínio detectam mais e caem mais. Modelos com capacidade de raciocínio apresentaram taxa de recusa superior — 17,8% contra 12,3% dos demais — e, ainda assim, os mais sofisticados registraram as maiores taxas de sucesso de ataque (Claude 3.5 com 75%, GPT-4.1 com 72%). Detecção inicial melhor não se traduziu em menor exploração depois que a defesa é rompida. Sob a mesma política de segurança, a variação entre modelos da mesma família chegou a 9,44 pontos.

Vale registrar um dado operacional: o tempo médio até o comprometimento foi menor no MCP (9,83 s) do que no function calling (16,69 s).

Camada Ameaça Mitigação
Transporte Servidor falsificado, MITM TLS, autorização explícita, registro de servidores confiáveis
Cadeia de suprimento Tool poisoning, rug pull Dupla assinatura, fixação de versão, auditoria de catálogo
Contexto Injeção indireta (98% de ASR) Isolamento de conteúdo não confiável, validação de saída, limites de escopo
Execução Ação destrutiva Menor privilégio, aprovação humana, auditoria, ambiente isolado

Tabela 9 — Superfície de ataque por camada. Síntese a partir de Ferrag et al. (2026b), Li et al. (2025) e Gasmi et al. (2026).

A conclusão é desconfortável e necessária: quando o modelo deixa de produzir texto e passa a provocar efeitos sobre sistemas, permissão mínima, validação de entrada e saída, aprovação humana para ações sensíveis, auditoria e proveniência deixam de ser boas práticas e viram requisitos.


11. Quando MCP faz sentido — e quando não

O MCP rende mais quando há muitas ferramentas ou fontes, quando as mesmas capacidades servem a várias aplicações, quando é preciso descobrir capacidades em tempo de execução, ou quando se quer desacoplar a lógica do agente dos detalhes de cada backend. OpenBridge, SensorMCP, HARMONY e CoMAS-HPC ilustram esses cenários.

Figura — Árvore de decisão. Heurística de projeto, não regra. Elaboração própria.

O contrário também vale. Uma aplicação com uma integração estável, conhecida e inteiramente sob controle do time provavelmente não recupera o custo de uma camada a mais — nem o custo de segurança que ela traz. MCP é ferramenta arquitetural, não obrigação tecnológica de quem usa LLM.


12. Conclusão

O MCP não surgiu porque APIs pararam de funcionar. Surgiu porque a expansão dos agentes expôs um problema de interoperabilidade que as camadas anteriores não endereçavam — o mesmo problema que o LSP resolvera uma década antes em outro domínio, e cujos conceitos o MCP deliberadamente adaptou.

REST segue útil para arquiteturas distribuídas. APIs seguem sendo o modo de acessar serviços. OpenAPI segue descrevendo interfaces HTTP. Function calling segue sendo o mecanismo pelo qual um modelo indica função e argumentos. O MCP atua acima de todos eles, e ao lado de protocolos agente-a-agente que resolvem um eixo que ele não cobre.

Os casos documentados reforçam o posicionamento: o OpenBridge converte APIs OpenAPI em ferramentas; o SensorMCP gera ferramentas sob demanda; o HARMONY orquestra agentes domésticos em simulação; o CoMAS-HPC combina MCP e A2A para desacoplar agentes de sistemas de supercomputação. O valor do protocolo aparece menos em substituir tecnologias e mais em conectá-las a aplicações capazes de raciocinar sobre qual capacidade usar e quando.

Resta a tensão que definirá os próximos anos, e os dados de Gasmi et al. a tornam concreta. Adotar o MCP reduz exposição a ataques centrados no sistema e aumenta exposição a ataques centrados no contexto — com 98% de sucesso em injeção indireta de prompt e 91% a 96% em cadeias de cinco passos. Interoperabilidade e confiança puxam em direções opostas. É no equilíbrio entre as duas, e não na adoção do protocolo em si, que se decide se a IA agentiva será confiável o bastante para operar sistemas de verdade.


Referências

ANTHROPIC. Introducing the Model Context Protocol. 25 nov. 2024. Documento eletrônico. Acesso em: 12 ago. 2026.

FERRAG, Mohamed Amine; TIHANYI, Norbert; DEBBAH, Mérouane. From LLM Reasoning to Autonomous AI Agents: A Comprehensive Review. IEEE Access, v. 14, p. 84237–84285, 2026. DOI: 10.1109/ACCESS.2026.3698694.

FERRAG, Mohamed Amine; TIHANYI, Norbert; HAMOUDA, Djallel; MAGLARAS, Leandros; LAKAS, Abderrahmane; DEBBAH, Merouane. From prompt injections to protocol exploits: Threats in LLM-powered AI agents workflows. ICT Express, v. 12, p. 353–383, 2026. DOI: 10.1016/j.icte.2025.12.001.

FIELDING, Roy Thomas. Architectural styles and the design of network-based software architectures. 2000. Tese (Doutorado em Information and Computer Science) — University of California, Irvine, 2000.

FIELDING, Roy T.; TAYLOR, Richard N. Principled design of the modern Web architecture. ACM Transactions on Internet Technology, v. 2, n. 2, p. 115–150, 2002.

GASMI, Tarek; GUESMI, Ramzi; BENNACEUR, Jihene; BELHADJ, Ines. Bridging AI and software security: A comparative vulnerability assessment of LLM agent deployment paradigms. Information Sciences, v. 740, art. 123231, 2026. DOI: 10.1016/j.ins.2026.123231.

GUO, Yunqi; ZHU, Guanyu; LIU, Kaiwei; XING, Guoliang. SensorMCP: A Model Context Protocol Server for Custom Sensor Tool Creation. In: 3rd International Workshop on Networked AI Systems (NetAISys '25). Anaheim: ACM, 2025. 6 p. DOI: 10.1145/3711875.3736687.

LI, Shiqiang; WEI, Xinghai; YUAN, Jie; WANG, Xingwu; MIAO, Keji. Secure Model Context Protocol for Large Language Models with Dual Signatures. In: Workshop on Mobility in the Evolving Internet Architecture (MobiArch '25). Hong Kong: ACM, 2025. 6 p. DOI: 10.1145/3737897.3767287.

MICROSOFT. Language Server Protocol Specification. 2016. Documento eletrônico.

MODEL CONTEXT PROTOCOL. Architecture overview. Especificação do Model Context Protocol. 2026a. Acesso em: 12 ago. 2026.

MODEL CONTEXT PROTOCOL. Server Tools. 2026b. Acesso em: 12 ago. 2026.

MODEL CONTEXT PROTOCOL. Server Resources. 2026c. Acesso em: 12 ago. 2026.

MODEL CONTEXT PROTOCOL. Server Prompts. 2026d. Acesso em: 12 ago. 2026.

MODEL CONTEXT PROTOCOL. Specification changelog. 2026e. Acesso em: 12 ago. 2026.

MOHANAPRASAD K.; ROHITH G.; MONDAL, Akash; SINGH, Shrestha; TIWARI, Sourabh; SHARMA, Jalal. HARMONY: A Framework for Multimodal LLM-Powered AI Agents in Smart Homes via the Model Context Protocol. IEEE Access, v. 14, p. 13669–13687, 2026. DOI: 10.1109/ACCESS.2026.3653992.

OPENAI. Function calling. OpenAI API Documentation. 2026. Acesso em: 12 ago. 2026.

OPENAPI INITIATIVE. OpenAPI Specification, version 3.2.0. 2025. Acesso em: 12 ago. 2026.

SABOIA, Priscila; SWEET, James; SWEET, Christopher. OpenBridge: Bridging Domain Scientists and APIs through AI-Powered Interfaces. In: Practice and Experience in Advanced Research Computing (PEARC '25). Columbus: ACM, 2025. 3 p. DOI: 10.1145/3708035.3736045.

VINAY P, Tejas; SAURAV, Sumit Kumar. CoMAS-HPC: A Collaborative Multi-Agent System for HPC Administration. In: 2025 Supercomputing India (SCI). IEEE, 2025. DOI: 10.1109/SCI68648.2025.11333875.

Gostou do artigo? Compartilhe. Conhecimento ganha força quando circula.