Curso
Um ano e meio atrás, o Model Context Protocol ainda era um termo de nicho fora da Anthropic. Hoje ele aparece em entrevistas para engenharia de IA, relações com desenvolvedores e backend, porque muitos times que entregam agentes têm um servidor ou cliente MCP em algum ponto da stack.
MCP (Model Context Protocol) é um protocolo aberto que padroniza como aplicações de IA se conectam a ferramentas externas, dados e templates de prompt. Ele resolve o problema de integrações N x M: sem um protocolo comum, cada par modelo-ferramenta precisa de seu próprio conector. Com MCP, você constrói o conector uma vez e qualquer host compatível pode usá-lo. Você pode ouvir a comparação de que é o "USB-C da IA" — serve como explicação inicial e não muito além disso.

O que os entrevistadores perguntam depende muito da função. Um desenvolvedor júnior pode precisar explicar a diferença entre ferramentas e recursos. Um engenheiro de plataforma tem mais chance de ser questionado sobre como um core sem estado muda o deployment. Organizei o guia por nível de dificuldade e caso de uso, então foque nas seções que combinam com a sua função.
O timing importa aqui, e estou sendo explícito porque o MCP ainda está mudando. Até a data desta publicação, a especificação estável atual é 2025-11-25. Um release candidate de 2026-07-28 está fechado e deve sair em cerca de quatro semanas, então tudo desse RC está marcado como visão de futuro.
Perguntas de entrevista MCP para iniciantes
Estas aparecem em muitas triagens, independentemente da senioridade. Eu começaria pelo vocabulário.
O que é MCP e por que ele foi criado?
MCP é um padrão aberto, originalmente criado pela Anthropic e disponibilizado como open source em novembro de 2024, para conectar aplicações de IA a ferramentas e fontes de dados externas. De forma mais direta: implemente MCP uma vez e você consegue falar com qualquer servidor compatível com MCP, em vez de escrever um novo conector para cada ferramenta.
O que é um servidor MCP?
É um programa que expõe ferramentas, recursos e prompts para um cliente MCP. Ele pode rodar como um subprocesso local via stdio ou como um processo remoto independente acessível por HTTP. O servidor não sabe nada sobre o modelo em si; ele responde às requisições conforme o protocolo.
O que é um cliente MCP?
É o conector em nível de protocolo que vive dentro de um aplicativo host (pense em Claude Desktop, VS Code ou Cursor) e conversa com um servidor por vez via JSON-RPC. Um único host pode rodar vários clientes, cada um mantendo sua conexão um-para-um com um servidor.
Como MCP é diferente de uma API REST comum?
Uma API REST é feita para desenvolvedores chamarem via código. MCP é feito para um LLM descobrir e chamar em tempo de execução. Essa diferença importa mais do que o formato no fio. Um cliente pode pedir ao servidor tools/list e receber uma descrição estruturada das capacidades disponíveis, algo que uma API REST típica não oferece por padrão. Para uma integração simples, chamar a API diretamente costuma ser mais rápido e barato.
Que tipos de recursos um servidor pode expor?
Qualquer coisa endereçável por URI: arquivos, registros de banco de dados, documentos, valores de configuração, respostas de APIs. Recursos são contexto somente leitura, não ações — essa é uma confusão comum entre iniciantes.
Perguntas sobre conceitos centrais de MCP
Depois que o vocabulário está firme, os entrevistadores passam para como as peças conversam entre si.
Qual é a arquitetura em alto nível?
Três papéis: host, cliente e servidor. O host é o aplicativo que a pessoa usa. Ele instancia um ou mais clientes, e cada cliente mantém uma única conexão com um servidor. Toda mensagem entre cliente e servidor é JSON-RPC 2.0, o que garante um formato estável independentemente do transporte.
Quais são as três fases do ciclo de vida de uma conexão?
Inicialização, operação e encerramento. Na inicialização, o cliente envia sua versão de protocolo e capacidades suportadas, e o servidor responde com as dele. Quando ambos concordam, requisições normais como tools/list e tools/call acontecem na fase de operação. O encerramento é só fechar limpo.
Quais transportes o MCP usa hoje?
stdio para servidores locais baseados em subprocesso, e Streamable HTTP para servidores remotos. O Streamable HTTP substituiu o transporte antigo de HTTP com SSE na spec de 2025-03-26, então descrever dois endpoints SSE separados já está desatualizado.
Qual é a diferença real entre ferramentas, recursos e prompts?
Essa distinção é sobre controle, não tipo de dado:
- Ferramentas são controladas pelo modelo. O LLM decide quando chamar com base no contexto.
- Recursos são controlados pela aplicação. O host ou o usuário decide quando carregar.
- Prompts são controlados pelo usuário. A pessoa seleciona explicitamente um template antes da inferência começar.
Muitos candidatos definem isso pelo tipo de dado que carregam, o que perde o ponto central.
Perguntas sobre ferramentas, recursos e prompts no MCP
Quando o modelo de controle fica claro, a próxima pergunta é como esses primitivos se parecem na prática.
O que inclui a definição de uma ferramenta?
Um name, uma description, um inputSchema escrito em JSON Schema e, desde a spec de 2025-06-18, um outputSchema opcional, além de annotations que descrevem comportamentos como se a ferramenta é somente leitura ou destrutiva. Clientes devem tratar anotações como não confiáveis, a menos que venham de um servidor confiável. São dicas, não garantias.
Quando algo deve ser uma ferramenta em vez de um recurso?
Se tem efeito colateral ou precisa de um cálculo vivo e atualizado, é ferramenta. Se é dado estático ou semiestático de referência, sem efeitos colaterais, é recurso. Uma consulta de clima em uma API em tempo real é ferramenta. Uma lista em cache de cidades suportadas é recurso.
O que torna uma boa ferramenta MCP, além de simplesmente funcionar?
Projete em torno do que o usuário quer realizar, não dos endpoints que você tem por acaso. Uma ferramenta deve envolver um fluxo de trabalho completo, não apenas uma chamada crua de API. A descrição também importa: esse texto entra no contexto do modelo e afeta se ele escolhe a ferramenta certa. Aqui vai um exemplo mínimo com a camada FastMCP do SDK de Python:
from mcp.server.fastmcp import FastMCP
app = FastMCP("weather-demo")
@app.tool()
async def get_weather(city: str) -> str:
"""Get the current weather for a city."""
return f"Weather data for {city}"
@app.resource("config://units")
async def get_units() -> str:
"""Static configuration for the unit system in use."""
return '{"temperature": "celsius"}'
A docstring da ferramenta vira sua descrição; o recurso é dado estático atrás de um URI, sem efeitos colaterais.
Como um cliente recupera um recurso?
Ele chama resources/read com um URI que veio de resources/list. Se o servidor suporta a capacidade listChanged, ele pode notificar o cliente quando a lista de recursos muda. Sem essa capacidade, o cliente não tem sinal e precisa fazer polling ou atualizar manualmente.
Perguntas sobre desenvolvimento de servidores MCP
Aqui o conhecimento conceitual precisa virar algo que roda de verdade.
Quais SDKs oficiais existem e todos têm a mesma maturidade?
Não. Os SDKs são organizados por tiers: TypeScript, Python, C# e Go estão no Tier 1 com suporte completo a recursos; Java e Rust são Tier 2; e Swift, Ruby, PHP e Kotlin são Tier 3. O SDK de Python inclui o FastMCP, sua API de servidor baseada em decorators.
Qual é o bug mais comum que derruba um servidor local?
Escrever em stdout quando não deveria. Um transporte stdio usa o stdout exclusivamente para mensagens JSON-RPC, então um print() ou console.log() perdido corrompe o stream de mensagens e o parser do cliente engasga. Qualquer log de debug deve ir para stderr.
Como o tratamento de erros funciona no MCP e por que isso importa em entrevistas?
Há três camadas. Falhas de transporte são problemas de conexão. Erros de protocolo usam códigos padrão do JSON-RPC (-32700 para erro de parsing, -32600 até -32603 para requisições inválidas, métodos desconhecidos e afins). Falhas em nível de aplicação, como uma chamada de API dentro da sua ferramenta retornar erro, devem voltar com isError: true no resultado da ferramenta para que o modelo veja e reaja.
return {
"content": [{"type": "text", "text": "Rate limit exceeded, try again later"}],
"isError": True
}
Essa flag deixa o modelo ver a falha e tentar algo diferente.
O MCP é stateful hoje?
Sim, sessões hoje são rastreadas no nível da conexão. Isso cria problemas de escala em produção, que abordo na seção de design de sistemas.
Perguntas de entrevista sobre segurança e governança em MCP
Questões de segurança aparecem com frequência em entrevistas de MCP, especialmente para funções de plataforma e enterprise.
Como a autenticação difere entre os transportes stdio e HTTP?
Para servidores locais stdio, a autenticação é opcional na prática; você já está confiando no processo que iniciou. Para servidores remotos via HTTP, OAuth 2.1 é a base, e servidores são classificados como resource servers OAuth 2.0 a partir da spec de 2025-06-18. OAuth não é exigido em todo lugar no MCP.
O que é tool poisoning?
São instruções maliciosas escondidas nos metadados de uma ferramenta, geralmente na descrição ou no schema, que o modelo lê ao decidir qual ferramenta chamar. A ferramenta nem precisa ser invocada para isso importar, porque o modelo já viu as instruções quando a ferramenta foi listada.
Como um ataque de rug pull difere de tool poisoning?
Tool poisoning é um problema de entrada. Rug pull é um problema de persistência: a ferramenta parece limpa quando você aprova, depois sua definição muda, e a maioria dos clientes não tem como forçar uma nova aprovação. Defender um não defende o outro.
O que é Enterprise-Managed Authorization e por que isso importa agora?
EMA é uma extensão MCP que ficou estável em 18 de junho de 2026. Ela move a decisão de autorização para o provedor de identidade da organização, em vez de cada funcionário clicar em consentimento por servidor. O cliente recebe um Identity Assertion JWT assinado durante o single sign-on e o troca por um access token com escopo no authorization server do servidor. Anthropic, Microsoft e Okta suportam.
Perguntas de entrevista sobre MCP e agentes de IA
Aqui o protocolo começa a se conectar ao design de agentes.
Por que o MCP importa especificamente para agentes?
Agentes precisam de contexto e ação. O MCP coloca ambos dentro de um único protocolo. Como mencionado antes, tools/list permite que um agente descubra o que está disponível em vez de depender de uma lista hardcoded no código do agente.

Modelo de host, cliente e servidor de um agente. Imagem do autor.
Qual é a diferença entre MCP e A2A?
A regra curta é: MCP conecta agentes a ferramentas; A2A conecta agentes a outros agentes. Ambos os protocolos agora estão sob a Agentic AI Foundation, então normalmente são discutidos como camadas separadas, não concorrentes.
O que é o primitivo de sampling e ainda devo mencioná-lo?
Sampling permite que um servidor solicite uma completion ao modelo via cliente, o que é como um servidor consegue executar comportamento tipo agente sem manter chaves de API. Conheça o primitivo, mas com ressalva: o RC de 2026-07-28 marca Sampling, Roots e Logging como deprecados sob a nova política de ciclo de vida de recursos. Eles continuam funcionais por pelo menos doze meses, mas autores de servidores são cada vez mais orientados a chamar a API do provedor de modelo diretamente.
Como os agentes evitam estourar a janela de contexto com definições de ferramentas?
Não carregando todas as definições de ferramentas de uma vez. O Tool Search da Anthropic adia o carregamento de schemas até eles serem necessários, e o relato técnico indica uma redução de 85% no uso de tokens em setups com muitas ferramentas, mantendo toda a biblioteca acessível. Em uma resposta de entrevista, eu combinaria carregamento adiado com servidores de escopo mais estreito.
Perguntas de design de sistemas com MCP
Cenários testam se você consegue aplicar as ideias sob restrições, não apenas recitar definições.
Projete um sistema de recuperação de documentos usando MCP.
MCP e RAG não competem aqui. RAG cuida da recuperação vetorial pré-indexada; MCP expõe essa recuperação como ferramenta ou recurso que o agente pode chamar ao vivo, junto com outras ações necessárias. Trate a pergunta como encaixe entre as duas peças, não qual substitui a outra.
Projete um servidor MCP para dados internos da empresa.
Comece por responsabilidade única: um servidor por domínio, como um servidor de banco de dados e outro separado de arquivos, em vez de um servidor que faz tudo. Adicione OAuth 2.1, escopos de menor privilégio por ferramenta e auditoria desde o início, porque controle de acesso é mais difícil de corrigir depois que o servidor está em produção.
Como você escalaria um deployment MCP hoje, antes do core sem estado chegar?
Candidatos costumam tropeçar descrevendo a spec futura como se já tivesse sido lançada. O estado mantido no servidor é o problema de escala aqui: para escalar horizontalmente é preciso roteamento sticky, um repositório compartilhado de sessão ou um gateway MCP. O RC de 2026-07-28 remove sessões no nível do protocolo, mas isso ainda não está valendo.
Como evitar que um deployment grande com vários servidores afogue o modelo em tokens?
A ideia de carregamento adiado da seção de agentes ajuda aqui também. No nível de deployment, filtre e agregue dados no servidor antes de chegarem ao contexto do modelo e pagina tudo que devolve lista. A regra principal é controlar o que entra na janela de contexto.
Perguntas de integração MCP
Perguntas de integração verificam se você entende onde MCP aparece nas ferramentas comuns de desenvolvimento.
Como o MCP aparece nos produtos Claude?
Claude.ai, Claude Desktop e Claude Code suportam MCP, e a Anthropic mantém um diretório de conectores com servidores prontos. Há também um conector MCP na Messages API para servidores remotos, ainda em beta no momento desta escrita.

Claude Desktop mostrando servidor MCP conectado. Imagem do autor.
O MCP só é útil com o Claude?
Não. A OpenAI adotou MCP em seu Agents SDK e Apps SDK a partir de março de 2025. O VS Code lançou suporte para a spec completa em meados de 2025, o Cursor suporta MCP via mcp.json, e o Google Cloud tinha mais de 50 servidores MCP gerenciados entre GA e preview até abril de 2026.
Como o MCP é diferente de RAG, na prática?
É a resposta de design de sistemas em versão curta: RAG responde a partir de uma base de conhecimento atualizada por rotina; MCP lida com consultas e ações ao vivo.
Perguntas avançadas sobre MCP
Perguntas avançadas testam se você acompanha as mudanças do protocolo, não só como ele funciona hoje.
Você pode passar pelo histórico de versões da spec?
Entrevistadores perguntam isso para ver se você sabe o que mudou e quando. Cinco revisões importam, e só uma ainda é especulativa:
|
Versão |
Data |
O que mudou |
|
2024-11-05 |
nov 2024 |
Lançamento inicial |
|
2025-03-26 |
mar 2025 |
Streamable HTTP substitui HTTP+SSE; OAuth 2.1 introduzido |
|
2025-06-18 |
jun 2025 |
Saídas estruturadas de ferramentas, elicitação, classificação como resource server OAuth |
|
2025-11-25 |
nov 2025 |
Spec estável atual; Tasks assíncronas (experimental), governança formalizada |
|
2026-07-28 |
RC fechado em mai 2026 |
Core sem estado, MCP Apps, framework de extensões |
O essencial é saber qual linha já foi lançada.
Quem governa o MCP hoje?
A Anthropic doou o protocolo para a Agentic AI Foundation, um fundo dirigido sob a Linux Foundation, em 9 de dezembro de 2025. Block e OpenAI cofundaram a AAIF ao lado da Anthropic, com Google, Microsoft, AWS, Cloudflare e Bloomberg como membros apoiadores. Os maintainers mantiveram o controle sobre decisões técnicas; a governança passou para uma fundação mais ampla.
O que realmente muda no lançamento de 2026-07-28?
A principal mudança é o core sem estado da seção de design de sistemas: o handshake initialize/initialized e o header Mcp-Session-Id saem de cena, substituídos por informações de capacidade viajando em _meta em toda requisição. Isso remove a necessidade de sticky routing. Um framework de extensões também define como capacidades opcionais como MCP Apps e Tasks são distribuídas e estabilizadas separadamente.
O que são extensões MCP e elas funcionam em todos os lugares?
Não. Extensões são capacidades opt-in, como Enterprise-Managed Authorization, OAuth Client Credentials para autenticação máquina-a-máquina e MCP Apps para UI interativa dentro do host. O suporte varia de cliente para cliente, então não projete assumindo suporte universal.
Perguntas de MCP baseadas em cenários
Elas testam mais o raciocínio diagnóstico do que fatos memorizados, então estruture a resposta como caminho de sintoma para causa e solução.
Chamadas de ferramenta falham intermitentemente. O que checar primeiro?
Veja se as falhas voltam como isError: true no resultado da ferramenta ou como erro de protocolo. Isso indica se o problema está na lógica da ferramenta ou no transporte. A partir daí, verifique limites de taxa do serviço que a ferramenta usa e timeouts antes de culpar o modelo.
Um agente continua agindo com dados de recurso desatualizados. Por quê?
Voltamos à questão de recursos: listChanged é o que avisa o cliente que um recurso mudou. Sem essa capacidade declarada, o cliente não tem sinal e continua servindo um snapshot em cache até algo forçar o refresh.
Um servidor MCP virou gargalo claro. Qual é sua ação?
Divida por domínios, adicione pool de conexões e escale horizontalmente. Até o core sem estado chegar, você pode ainda precisar da afinidade de sessão discutida em design de sistemas.
Dados sensíveis vazaram por uma chamada de ferramenta. Como isso aconteceu?
Duas causas comuns são uma ferramenta com permissões mais amplas do que precisava ou ausência de sanitização de saída antes dos dados entrarem no contexto do modelo. Menor privilégio por ferramenta e uma etapa de sanitização antes do contexto são as correções. Tool poisoning também é relacionado: o modelo pode ser instruído a encaminhar dados sem ninguém escrever código de exfiltração.
Erros comuns em entrevistas sobre MCP
Alguns padrões aparecem com frequência suficiente para destacar diretamente:
-
Tratar MCP como substituto direto de REST após a distinção feita anteriormente
-
Definir ferramentas versus recursos por tipo de dado depois de o modelo de controle já ter sido explicado
-
Assumir a mesma regra de autenticação para
stdioe HTTP -
Dar a resposta legada de SSE após a mudança de transporte abordada antes
-
Misturar a spec lançada com o RC de 2026-07-28
-
Pular os riscos de segurança citados acima quando for solicitado a desenhar um sistema que chama ferramentas
A maioria desses erros vem de tutoriais antigos.
Como se preparar para entrevistas sobre MCP
Prática hands-on é fundamental para este protocolo.
-
Construa um servidor pequeno com FastMCP ou o SDK de TypeScript, exponha uma ferramenta e um recurso e coloque para rodar
-
Instale o Inspector oficial (
npx @modelcontextprotocol/inspector) e observe o tráfego JSON-RPC bruto que ele mostra -
Conecte seu servidor a um cliente real — Claude Desktop, VS Code ou Cursor — e veja o handshake de inicialização acontecer
-
Leia o changelog da spec original, não um resumo de terceiros, especialmente as entradas de 2025-06-18 e 2025-11-25
-
Escolha um cenário de design de sistemas deste artigo e escreva uma resposta completa antes da entrevista
Esses passos separam conhecimento de definição de familiaridade prática.
Conclusão
Não acho que decorar definições de MCP seja suficiente hoje. A parte mais difícil é saber qual resposta pertence a qual versão da spec. Deployments atuais ainda lidam com sessões no nível da conexão; o RC de 2026-07-28 aponta para um core sem estado. Se você confundir os dois, sua resposta de arquitetura soa mais confiante do que correta.
Por isso eu trataria MCP como algo para testar, não só ler. Construa o pequeno servidor da seção de preparação, veja um cliente listar ferramentas e ler recursos e note onde o protocolo termina e onde começa o design da sua aplicação. A resposta útil na entrevista não é "MCP é o USB-C da IA". É "aqui está o que o MCP padroniza, o que ele não padroniza e o que mudou recentemente".
Para um desdobramento mais estruturado, nosso curso Building Scalable Agentic Systems aborda MCP e A2A no contexto de design, testes e deployment de agentes.
Sou engenheiro de dados e criador de comunidades que trabalha com pipelines de dados, nuvem e ferramentas de IA, além de escrever tutoriais práticos e de alto impacto para o DataCamp e desenvolvedores iniciantes.
FAQs
Preciso decorar a data de cada versão da spec?
Não. Saiba a ordem e o que mudou em cada etapa, especialmente a troca de transporte e qual versão já foi lançada. Entrevistadores se importam mais se você consegue raciocinar sobre por que a mudança aconteceu do que se você recita a data exata.
Sampling está sendo descontinuado. Ainda vale a pena aprender?
Sim, por enquanto. Ela continua totalmente funcional por pelo menos um ano após a depreciação. Saiba por que está sendo descontinuada: exposição a riscos de segurança e adoção limitada em relação à sua complexidade.
Com qual SDK devo começar se nunca mexi com MCP?
Python com FastMCP é o ponto de partida mais simples porque a API baseada em decorators esconde a maior parte do boilerplate. Use TypeScript se sua stack já for predominantemente JavaScript; esse SDK também é Tier 1.
O MCP ainda vai importar quando a spec de 2026-07-28 sair?
Provavelmente, sim. O core sem estado discutido antes visa corrigir problemas de escala em produção que os times vêm enfrentando. Um protocolo ficar mais simples sob pressão costuma ser sinal de maturidade, não de declínio.
Quão técnicas as entrevistas de nível iniciante sobre MCP costumam ser?
Depende da função. Uma triagem geral de engenharia de IA pode parar em host vs. cliente vs. servidor e ferramentas vs. recursos. Uma função de plataforma ou infraestrutura pode entrar em transportes e autenticação rapidamente, mesmo em nível relativamente júnior.
