Engenharia
15 min

Usando MCP Server de forma inteligente: o Model Context Protocol na prática

O MCP é o novo padrão pelo qual modelos de IA acessam ferramentas externas e fontes de dados. Mostramos como construir MCP Servers, quando eles fazem sentido — e quando é melhor não usá-los.

O que é o Model Context Protocol?

O Model Context Protocol (MCP) é um padrão aberto que define como modelos de IA se comunicam com fontes de dados e ferramentas externas. Em vez de construir uma integração própria para cada serviço, o MCP oferece uma interface unificada pela qual LLMs podem acessar sistemas de arquivos, bancos de dados, APIs e quaisquer outros recursos.

De forma simplificada: o MCP é para modelos de IA o que o USB foi para hardware — uma conexão padronizada que elimina a fragmentação.

Entendendo a arquitetura

O MCP segue uma arquitetura cliente-servidor. O MCP Client é a ferramenta de IA (por exemplo, Claude Code, Cursor ou uma aplicação própria) que precisa acessar recursos externos. O MCP Server disponibiliza esses recursos por meio de um protocolo padronizado.

Um MCP Server pode oferecer três tipos de capacidades:

Resources — Fontes de dados que o modelo pode ler. Podem ser arquivos, registros de banco de dados, respostas de APIs ou qualquer outro tipo de dados estruturados.

Tools — Funções que o modelo pode chamar para executar ações. Por exemplo: consultar um banco de dados, enviar um e-mail ou iniciar um processo de deploy.

Prompts — Templates de prompt predefinidos que o modelo pode utilizar para executar tarefas frequentes de forma padronizada.

Quando um MCP Server faz sentido

Nem toda integração precisa de um MCP Server. Aqui estão os cenários em que o investimento vale a pena:

Workflows de IA recorrentes: Se seu time conecta regularmente as mesmas fontes de dados com ferramentas de IA — por exemplo, ler tickets do Jira, verificar estados do banco de dados ou analisar logs — então um MCP Server dedicado vale a pena.

Ambientes com múltiplas ferramentas: Se você utiliza diferentes clientes de IA (Claude Code no terminal, Cursor na IDE, agentes próprios), um MCP Server oferece uma interface unificada para todos.

Fontes de dados proprietárias: Se sua organização possui sistemas internos que não são acessíveis via APIs padrão, um MCP Server torna esses dados acessíveis para ferramentas de IA.

Construindo um MCP Server: passo a passo

Um MCP Server mínimo em TypeScript é surpreendentemente simples. O SDK oficial abstrai o protocolo e permite que você se concentre na lógica de negócio.

O fluxo básico:

  1. Inicializar o servidor — Definir nome, versão e capabilities
  2. Registrar tools — Cada tool recebe um nome, uma descrição e um JSON Schema para os parâmetros
  3. Implementar handlers — A lógica real que é executada quando o modelo de IA chama um tool
  4. Configurar o transporte — Stdio para uso local, HTTP/SSE para servidores remotos

Exemplo prático: MCP Server para banco de dados

Um exemplo concreto do nosso trabalho: construímos para um projeto de cliente um MCP Server que oferece acesso somente leitura a um banco de dados PostgreSQL. O modelo de IA pode consultar schemas de tabelas, filtrar dados e obter estatísticas agregadas — sem acesso direto ao banco de dados.

As decisões de design mais importantes:

Read-Only por padrão — O servidor permite exclusivamente queries SELECT. Nenhum INSERT, nenhum UPDATE, nenhum DELETE. Isso elimina toda uma classe de riscos.

Limites de query — Cada consulta tem um LIMIT de 100 linhas e um timeout de 5 segundos. Isso impede que uma query mal formulada sobrecarregue o banco de dados.

Schema-Awareness — O servidor disponibiliza o schema do banco de dados como Resource, para que o modelo de IA conheça a estrutura das tabelas antes de formular queries.

Evitando erros comuns

Pela nossa experiência com implementações de MCP, existem armadilhas recorrentes:

Definições de tools muito amplas: Um tool chamado "database" com um parâmetro SQL livre é perigoso. Melhor: tools específicos como "get_user_by_id", "list_recent_orders", "get_monthly_revenue" com parâmetros claramente definidos.

Falta de validação: Todo input vindo do modelo de IA deve ser validado. LLMs podem gerar valores inesperados. Schemas Zod para cada parâmetro são obrigatórios.

Sem rate limits: Sem rate limiting, um agente de IA pode enviar centenas de requisições por minuto em um loop. Implemente throttling no nível do servidor.

Contexto demais de uma vez: Se um tool retorna megabytes de dados, isso sobrecarrega a janela de contexto do modelo. Paginação e resumos são essenciais.

Considerações de segurança

MCP Servers ampliam a superfície de ataque do seu sistema. Algumas medidas de segurança inegociáveis:

  • Princípio do menor privilégio: O servidor deve ter apenas as permissões minimamente necessárias
  • Sanitização de input: Tudo que vem do modelo de IA é input não confiável
  • Audit logging: Cada chamada de tool deve ser registrada — quem, o quê, quando
  • Gerenciamento de secrets: API keys e credenciais devem estar em variáveis de ambiente, nunca no código do servidor

Quando você não precisa de um MCP Server

O MCP nem sempre é a resposta certa. Dispense-o quando:

  • A integração é usada por uma única ferramenta — nesse caso, uma integração direta via API é mais simples
  • A fonte de dados já possui uma API REST bem documentada que a ferramenta de IA pode acessar diretamente
  • O esforço de desenvolvimento e manutenção supera o ganho de tempo com a integração de IA
  • Requisitos de segurança impedem uma conexão direta entre o modelo de IA e a fonte de dados

Conclusão

MCP Servers são uma ferramenta poderosa para conectar modelos de IA com os dados e sistemas de que precisam para trabalho real. O padrão está maduro o suficiente para uso em produção, mas jovem o bastante para que as melhores práticas ainda estejam em evolução.

Nosso conselho: comece com um MCP Server limitado, somente leitura, para um caso de uso concreto. Ganhe experiência. Expanda gradualmente. E trate cada MCP Server como uma API pública — com o devido cuidado em segurança, validação e monitoramento.