ANÚNCIO

~/questoes/agentes-de-ia

Qual protocolo de comunicação é utilizado pelo Model Context Protocol para transmitir mensagens?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Para fixar

JSON-RPC: O Protocolo de Comunicação do Model Context Protocol

Conceito central

O Model Context Protocol (MCP) utiliza JSON-RPC como padrão de comunicação, permitindo flexibilidade nos transportes subjacentes (como stdio, HTTP ou WebSocket). Isso significa que a mensagem é sempre formatada em JSON-RPC, mas pode ser transmitida por diferentes canais dependendo da necessidade.

Por que essa resposta faz sentido

JSON-RPC é o protocolo escolhido pelo MCP especificamente porque oferece um padrão leve e bem definido para comunicação entre cliente e servidor, com suporte a múltiplos transportes. Isso permite que um servidor MCP funcione sobre stdio, HTTP, WebSocket ou outras formas de conexão sem alterar a estrutura das mensagens.

Armadilhas comuns

  • Confundir protocolo de comunicação com protocolo de transporte: JSON-RPC é a estrutura da mensagem, enquanto HTTP, WebSocket e stdio são como ela é entregue.
  • Pensar que MCP está limitado a um único transporte: na verdade, a mesma mensagem JSON-RPC funciona sobre diferentes canais, o que é uma das grandes vantagens do protocolo.
  • Achar que XML ou GraphQL são alternativas diretas ao JSON-RPC: esses são conceitos diferentes (SOAP é um protocolo legado, GraphQL é uma linguagem de consulta).

Entenda as alternativas

A

JSON-RPC é o protocolo de comunicação do MCP. A flexibilidade de múltiplos transportes é exatamente o que torna o MCP modular e adaptável a diferentes ambientes, desde localhost até servidores em nuvem.

B

SOAP com envelopes XML era padrão em sistemas legados, mas o MCP escolheu JSON-RPC por ser mais leve, moderno e adequado para comunicação entre agentes e recursos. SOAP é muito mais verboso e complexo para esse caso de uso.

C

GraphQL é uma linguagem de consulta para APIs, não um protocolo de comunicação. Embora GraphQL possa ser útil para definir quais dados buscar, o MCP usa JSON-RPC para a comunicação real entre cliente e servidor.

D

HTTP/2 é um protocolo de transporte (a camada de entrega), não o protocolo de comunicação em si. O MCP pode usar HTTP/2 como transporte, mas a mensagem sempre usa JSON-RPC como formato.

Dica prática: Ao implementar um cliente ou servidor MCP, lembre-se de separar duas coisas: (1) como formatar a mensagem (JSON-RPC) e (2) como enviá-la (transporte). Isso torna seu código mais flexível. Por exemplo, você pode testar localmente via stdio e depois trocar para WebSocket em produção sem alterar a lógica de negócio.

Revise pensando: Se você quer conectar um agente a um servidor MCP usando WebSocket, qual parte muda: o protocolo de comunicação, o transporte, ou ambos?