Fluxo de tool calling
A sequência abaixo mostra, passo a passo, o que acontece entre o usuário, o cliente MCP (uma LLM) e o servidor MCP durante uma invocação de ferramenta. Clique em cada passo para ver o payload JSON-RPC.
O exemplo é fictício mas segue a ordem exata de chamadas de uma interação real. O usuário faz uma pergunta que depende de dados atuais. A LLM identifica essa necessidade, pede o catálogo de ferramentas ao servidor, escolhe a ferramenta apropriada, monta os argumentos, invoca a ferramenta, recebe o resultado e formula a resposta final.
O protocolo usa JSON-RPC 2.0: cada mensagem é um objeto JSON com campos jsonrpc, id, method e params (ou result nas respostas).
O usuário descreve a intenção. Não precisa conhecer nomes de ferramentas, nomes de campos ou formatos de data. Essa é a camada de entrada que o resto do protocolo vai servir.
Observações
O papel do cliente MCP vai além de só encaminhar chamadas. A escolha da ferramenta depende da leitura que a LLM faz das descrições em linguagem natural. O preenchimento dos argumentos depende de inferir valores a partir da pergunta original. Se o cliente for mal ajustado, a mesma ferramenta pode ser invocada com argumentos diferentes entre execuções.
Também não há obrigação de usar uma única ferramenta. A LLM pode encadear múltiplas chamadas (uma ferramenta de busca seguida de uma de resumo, por exemplo) antes de formular a resposta. Cada chamada é independente do ponto de vista do servidor, mas pertence à mesma sessão do lado do cliente.