O que é Model Context Protocol (MCP): O Padrão Aberto de Conectividade de IA

O que é Model Context Protocol (MCP): O Padrão Aberto de Conectividade de IA — aula do módulo Introdução ao Protocolo MCP & Arquitetura, na trilha Fundamentos…

Leitura de aproximadamente 8 minutos.

Módulo: Introdução ao Protocolo MCP & Arquitetura · Curso: Fundamentos de MCP & Arquitetura Client/Server · Formação: Formação em Protocolo MCP & Ferramental de Agentes

O que é Model Context Protocol (MCP): O Padrão Aberto de Conectividade de IA

O que você vai aprender

1. O Problema Histórico: A Explosão Combinatória NxM

Antes da criação e consolidação do Model Context Protocol (MCP), o ecossistema de inteligência artificial sofria de uma fragmentação crônica. Se uma empresa possuía 5 aplicações com LLMs integrados (Claude Desktop, IDEs como VS Code/Cursor, bots de Slack, agentes autônomos internos e interfaces web) e precisava conectá-los a 8 fontes de dados e ferramentas (PostgreSQL, GitHub, Jira, Google Drive, Linear, AWS CloudWatch, Notion e Figma), a equipe de engenharia era forçada a construir e manter 40 integrações proprietárias ponto-a-ponto ($5 \times 8 = 40$).


+-----------------------------------------------------------------------------------+
|               PARADIGMA TRADICIONAL NxM vs PADRÃO ABERTO MCP                     |
+-----------------------------------------------------------------------------------+
| Paradigma Anterior (NxM Conexões Frágeis):                                        |
|   [Claude App] ───┬───> [Driver Postgres custom] ───> [PostgreSQL DB]             |
|   [Cursor IDE] ───┼───> [Plugin GitHub custom]   ───> [GitHub API]                |
|   [Slack Bot]  ───┼───> [Script Jira custom]     ───> [Jira API]                  |
|   [Agent Web]  ───┴───> [Connector AWS custom]  ───> [AWS CloudWatch]            |
|   (Cada cliente precisava implementar seu próprio parser, auth e tool-calling)    |
|                                                                                   |
| Paradigma Unificado MCP (1xN via Protocolo Aberto):                               |
|   [Claude Desktop] ┐                                ┌──> [MCP Server Postgres]    |
|   [Cursor / IDE]   ┼──> [ Protocolo MCP Aberto ] ──┼──> [MCP Server GitHub]      |
|   [Agent Custom]   ┘     (JSON-RPC 2.0 Padronizado) └──> [MCP Server AWS]         |
+-----------------------------------------------------------------------------------+

Cada integração demandava formatações de prompt específicas, lógicas manuais de sanitização, parsing customizado de JSON schemas para Function Calling e gestão dispersa de chaves de API. Se a API do GitHub mudasse ou se um novo modelo de IA fosse adotado, dezenas de conectores quebravam simultaneamente.

O MCP resolve essa explosão combinatória transformando a arquitetura em um modelo 1xN:

2. A Inspiração no Language Server Protocol (LSP)

Para entender a elegância do MCP, basta observar a revolução ocorrida no desenvolvimento de software com o Language Server Protocol (LSP), criado pela Microsoft para o VS Code.

No início dos anos 2010, cada editor de código (Sublime Text, Vim, Emacs, Eclipse, Atom) precisava escrever um analisador léxico e sintático proprietário para cada linguagem (TypeScript, Python, Go, Rust, C++). Com o LSP, os criadores da linguagem passaram a fornecer um Language Server oficial (ex: gopls, pyright, rust-analyzer), e os editores atuavam como clientes LSP padronizados via JSON-RPC.

O MCP aplica exatamente o mesmo princípio para a era dos Agentes de IA: 1. Padronização do Transporte: Define como mensagens transitam via streams locais (stdio) ou via Streamable HTTP em servidores remotos (o antigo transporte HTTP+SSE está deprecado). 2. Contrato de Descoberta: O modelo descobre dinamicamente quais ferramentas (Tools), documentos (Resources) e modelos de raciocínio (Prompts) o servidor disponibiliza. 3. Isolamento de Execução: O modelo de linguagem nunca toca diretamente no banco de dados ou nas credenciais; ele apenas solicita ao cliente a invocação controlada de uma primitiva exposta pelo servidor.


+-----------------------------------------------------------------------------------+
|                        ANALOGIA CONCEITUAL: LSP vs MCP                            |
+-----------------------------------------------------------------------------------+
| Dimensão            | LSP (Language Server Protocol) | MCP (Model Context Protocol)|
+---------------------+--------------------------------+----------------------------+
| Consumidor (Host)   | VS Code, Neovim, JetBrains     | Claude Desktop, Cursor, AI |
| Servidor            | Pyright, Rust-Analyzer, Gopls  | Postgres MCP, GitHub MCP   |
| Protocolo Base      | JSON-RPC 2.0                   | JSON-RPC 2.0               |
| Capacidades Centrais| Autocomplete, Go to Definition | Tools, Resources, Prompts  |
| Objetivo Principal  | Inteligência de código unificada| Conectividade de contexto  |
+-----------------------------------------------------------------------------------+

3. A Tríade da Arquitetura MCP: Host, Client e Server

O ecossistema MCP divide as responsabilidades em três entidades distintas e fortemente isoladas:


+-----------------------------------------------------------------------------------+
|                 FLUXO DE COMUNICAÇÃO: HOST, CLIENT E SERVER                       |
+-----------------------------------------------------------------------------------+
|  [ HOST APPLICATION ] (Ex: Claude Desktop, Cursor IDE, Agente Customizado)        |
|  ┌─────────────────────────────────────────────────────────────────────────────┐  |
|  │  Orquestrador de IA / LLM (Claude Sonnet 5 / Gemini 3.8 Flash)              │  |
|  │                                                                             │  |
|  │  ┌────────────────────────┐         ┌────────────────────────┐              │  |
|  │  │ MCP Client Instância 1 │         │ MCP Client Instância 2 │              │  |
|  └──┴───────────┬────────────┴─────────┴───────────┬────────────┴──────────────┘  |
|                 │ stdio stream (Pipe OS)           │ Streamable HTTP (TLS)        |
|                 ▼                                  ▼                              |
|  ┌─────────────────────────────┐    ┌──────────────────────────────────────────┐  |
|  │ MCP Server: Local SQLite    │    │ MCP Server: Enterprise CRM Remoto        │  |
|  │ - Expose: db://schema       │    │ - Expose: crm://customers/v1             │  |
|  │ - Tool: execute_sql_query   │    │ - Tool: update_deal_stage                │  |
|  └─────────────────────────────┘    └──────────────────────────────────────────┘  |
+-----------------------------------------------------------------------------------+

A. MCP Host

A aplicação que o usuário final utiliza diretamente. O Host é responsável por:

B. MCP Client

O componente interno (frequentemente embutido no Host) que mantém a conexão 1:1 com um servidor específico. Suas funções incluem:

C. MCP Server

O processo autônomo (local ou remoto) que expõe capacidades reais ao ecossistema. Ele não interage diretamente com o LLM; em vez disso, ele responde estritamente às diretivas estruturadas do Client.

4. O Formato de Mensagens: JSON-RPC 2.0 na Prática

Toda a comunicação no MCP segue o padrão JSON-RPC 2.0. Isso garante que qualquer linguagem de programação capaz de ler stdin/stdout ou consumir requisições HTTP possa atuar como servidor ou cliente.

Exemplo: Requisição de Descoberta de Ferramentas (tools/list)

Para montar o catálogo, o cliente pede as ferramentas disponíveis. Repare no _meta: desde a revisão 2026-07-28, toda requisição declara a versão do protocolo e as capabilities do cliente.


{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/list",
  "params": {
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28",
      "io.modelcontextprotocol/clientCapabilities": {}
    }
  }
}

Exemplo: Resposta Estruturada do MCP Server

O servidor responde com o catálogo de ferramentas e seus respectivos JSON Schemas de validação:


{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "resultType": "complete",
    "tools": [
      {
        "name": "query_database",
        "description": "Executa uma consulta SQL segura em modo leitura no banco de dados analítico.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "query": {
              "type": "string",
              "description": "A instrução SQL SELECT a ser executada."
            },
            "limit": {
              "type": "integer",
              "description": "Limite máximo de registros retornados.",
              "default": 50
            }
          },
          "required": ["query"]
        }
      }
    ],
    "ttlMs": 300000,
    "cacheScope": "private"
  }
}

ttlMs diz por quanto tempo o cliente pode reaproveitar esta lista sem pedir de novo; cacheScope: "private" impede que intermediários compartilhados guardem a resposta. Os inputSchema seguem o dialeto JSON Schema 2020-12 por padrão.

5. Benefícios de Segurança e Governança Corporativa

Em ambientes corporativos, permitir que modelos de linguagem acessem bancos de dados e APIs externas sempre representou um risco severo de segurança. O MCP introduz salvaguardas arquiteturais essenciais:

1. Isolamento de Credenciais de Acesso: O LLM nunca recebe a senha do banco de dados, chaves SSH ou API tokens. O MCP Server armazena essas credenciais localmente em seu próprio ambiente e apenas expõe métodos semânticos de alto nível. 2. Controle Estrito de Sandboxing: Um servidor local pode ser confinado a um diretório de arquivos restrito, impedindo que o modelo acesse partes sensíveis do sistema operacional (/etc

Outras aulas do módulo