← Voltar à lista

O que é MCP

MCP (Model Context Protocol) é um protocolo aberto que padroniza como assistentes de IA se conectam a dados e ferramentas externas. Em vez de uma integração separada para cada serviço (GitHub, banco de dados, CRM, sistema de arquivos), você executa um servidor MCP e o cliente - Cursor, Claude Desktop, Zed e outros - conecta por um contrato único. Abaixo: o que é MCP, como funciona a arquitetura e por que o protocolo importa em produção.

Definição em termos simples

O Model Context Protocol é uma especificação de troca entre um aplicativo de IA (host) e uma fonte externa de contexto (servidor). O servidor pode expor:

  • Resources - dados legíveis: arquivos, linhas de BD, documentos de API
  • Tools - ações que o modelo pode chamar: requisições API, SQL, busca em índice
  • Prompts - modelos de prompt prontos para cenários comuns

O protocolo é aberto e não está ligado a um único fornecedor de LLM. O host escolhe o modelo; o servidor MCP escolhe quais dados e ferramentas oferecer. A comunicação usa JSON-RPC 2.0 com transporte por stdio, HTTP ou SSE.

A ideia da Anthropic (novembro de 2024): substituir um «zoológico» de plugins customizados por uma forma única de conectar contexto aos agentes.

Arquitetura: host, client, server

Esquema típico de três papéis:

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│  MCP Host   │────▶│ MCP Client  │────▶│ MCP Server  │
│ (Cursor,    │     │ (dentro do  │     │ (GitHub,    │
│  Claude)    │     │  app)       │     │  Postgres…) │
└─────────────┘     └─────────────┘     └─────────────┘
  • MCP Host - aplicativo com LLM: IDE, cliente de chat, plataforma de agentes. Gerencia a sessão, chama o modelo e decide quando invocar um tool.
  • MCP Client - componente dentro do host que fala com um ou mais servidores via MCP.
  • MCP Server - processo ou serviço que expõe resources, tools e prompts. Pode ser local (arquivos em disco) ou remoto (API corporativa).

Um host pode ter vários clientes - um por servidor MCP. No Cursor, por exemplo, servidores de sistema de arquivos, navegador, GitHub e MCP customizados do config podem rodar ao mesmo tempo.

O que o MCP entrega na prática

Um contrato em vez de N integrações

Antes do MCP, cada produto escrevia seus conectores: formato próprio para «ler arquivo», outro para «chamar API». O MCP define:

  • como as ferramentas são declaradas (nome, esquema de parâmetros, descrição)
  • como os resultados são devolvidos
  • como resources são solicitados e assinaturas de mudança funcionam

O mesmo servidor MCP de PostgreSQL pode atender Claude Desktop e outro host se este suportar o protocolo.

Segurança e limites de acesso

O servidor roda em processo ou contêiner separado. O host não acessa o sistema inteiro - só o que o servidor expõe explicitamente. Em enterprise isso importa: dá para dar ao agente acesso somente leitura a um datamart sem acesso total à BD de produção.

Cenários locais e em nuvem

  • Local - transporte stdio: o host inicia o binário do servidor como processo filho (típico em IDE e clientes desktop).
  • Remoto - HTTP/SSE: servidor MCP compartilhado em VPN ou nuvem para o time inteiro.

Ambos estão na especificação; a escolha depende da política de segurança e de onde os dados ficam.

MCP e function calling

Function calling (tool use) é o mecanismo do lado do LLM: o modelo retorna um pedido estruturado de «chamar função X com argumentos Y». MCP é uma camada inferior e mais ampla: padroniza de onde vêm essas funções e dados, como se registram e como o host se comunica com elas.

Fluxo de interação:

  1. O host conecta ao servidor MCP e obtém a lista de tools.
  2. A lista vai ao modelo no formato do provedor (OpenAI tools, Anthropic tools, etc.).
  3. O modelo escolhe um tool; o host executa a chamada via MCP client → server.
  4. O resultado volta ao contexto do modelo para o próximo passo.

O MCP não substitui o raciocínio do modelo - unifica o «cabeamento» entre o agente e o mundo externo.

Onde o MCP já é usado

Ambiente Papel do MCP
Cursor Servidores MCP integrados e customizados: arquivos, terminal, navegador, APIs de terceiros
Claude Desktop Conectores oficiais e servidores da comunidade via claude_desktop_config.json
Zed, Continue, Cline Suporte MCP para ampliar contexto no editor
Agentes enterprise Servidores próprios sobre APIs internas, tickets, wikis

A comunidade publica servidores prontos: GitHub, Google Drive, Slack, Puppeteer, SQLite, Postgres, Brave Search e centenas mais em registros como modelcontextprotocol/servers no GitHub.

Como criar ou conectar um servidor MCP

Caminho mínimo para desenvolvedores:

  1. Escolher SDK: há bibliotecas oficiais para TypeScript, Python, C#, Java e outros.
  2. Descrever tools e resources no código do servidor (nome, inputSchema, handler).
  3. Executar o servidor com transporte stdio ou HTTP.
  4. Adicionar config no host (no Cursor - .cursor/mcp.json ou configurações do IDE).

Exemplo de lógica de tool em Python (simplificado):

@server.tool()
async def get_weather(city: str) -> str:
    """Clima atual para uma cidade."""
    return await weather_api.fetch(city)

Ao iniciar a sessão o host pede as capabilities do servidor; o modelo vê get_weather com descrição e esquema JSON do parâmetro city.

Times sem desenvolvimento próprio costumam bastar com um servidor do registro mais config e segredos (API keys por env, não no repositório).

Limitações e o que observar

O MCP resolve padronização de conexões, mas não:

  • qualidade do raciocínio do modelo
  • orquestração de workflows complexos de vários passos (território de frameworks de agentes)
  • autorização entre usuários (é preciso OAuth/RBAC separado no servidor)

Na prática, considere:

  • Latência - cada tool call é um round-trip; cadeias de 10+ chamadas precisam de orçamento de tempo e tokens.
  • Versionamento - servidores e hosts devem alinhar na versão da spec (2025-03 e posteriores evoluem ativamente).
  • Confiabilidade - servidor MCP fora do ar corta acesso a dados; em produção precisam de health checks e fallback.

MCP vs RAG vs APIs customizadas

Abordagem Força Fraqueza
MCP Tools/resources padrão para qualquer host Exige suporte MCP no cliente
RAG Busca em grandes corpus sem carregar tudo no contexto Não dá ações arbitrárias (write, mutar API)
API customizada Controle total Duplicar trabalho para cada cliente de IA

Em sistemas maduros costuma-se usar MCP + RAG: RAG para conhecimento documental, MCP tools para consultas ao vivo em BD, tickets, deploys.

Resumo

MCP é um protocolo aberto de contexto para agentes de IA: o host conecta a servidores, obtém resources e tools, e o modelo os invoca por um contrato único. Isso reduz custo de integração, facilita portar cenários entre Cursor, Claude Desktop e outros clientes, e define limites claros de acesso a dados.

Ordem prática para desenvolvedores: começar com servidores da comunidade para seu stack e depois envolver APIs internas em servidor MCP próprio quando as mesmas tools forem necessárias em vários apps host.

Perguntas frequentes

Como o MCP difere de uma API REST comum?

Uma API REST é a interface de um serviço específico para suas chamadas HTTP. MCP é um protocolo entre o host de IA e um «adaptador» a esses serviços: descreve como o host descobre tools, as chama e lê resources em formato amigável ao agente. Um servidor MCP pode envolver APIs REST do GitHub ou Jira; o host não escreve integração separada por produto.

Preciso de MCP se uso só um chat (por exemplo ChatGPT)?

Se todo o fluxo vive em um produto fechado com plugins integrados - não necessariamente. O MCP compensa quando você usa vários hosts (IDE + desktop + agente próprio), quer reutilizar as mesmas tools ou mantém dados sensíveis no seu servidor com controle explícito de acesso.

É seguro conectar servidores MCP a dados de trabalho?

Depende do servidor e da configuração. Servidores confiáveis da comunidade com código aberto, acesso somente leitura e segredos por variáveis de ambiente são um mínimo. Em produção: processo separado, mínimos privilégios, auditoria de tool calls, sem acesso de escrita do agente sem aprovação humana.

Posso usar MCP com modelos locais (Ollama, LM Studio)?

Sim, se o host suporta MCP e seu provedor local. O MCP não está ligado a API na nuvem - fornece contexto e tools; o modelo pode ser local. O limite está no host: nem todos os clientes combinam igualmente bem LLM local e o conjunto completo de MCP tools.

Por onde começo a configurar MCP no Cursor?

  1. Abra as configurações MCP no Cursor (ou .cursor/mcp.json no projeto).
  2. Adicione um servidor pronto da documentação (ex.: filesystem, GitHub) com comando de inicialização e env para tokens.
  3. Reinicie o Cursor e verifique se o servidor aparece como connected.
  4. No chat do agente, peça explicitamente para usar um tool - confirme que a chamada funciona e o resultado entra na resposta.

Depois vale adicionar um servidor customizado para sua API interna - assim você entende o ciclo completo sem reescrever a lógica de integração para cada ferramenta.

Contato