Carregando
0x10Lição 2 de 16

Compare ferramentas, recursos e prompts

Conheça as três primitivas de servidor e quem decide quando cada uma é usada.

16 min Questionário com 7 perguntas 1 exercício de código
Ao final desta lição, você saberá
  • Escolher entre ferramenta, recurso ou prompt para cada caso
  • Explicar quem controla cada primitiva
  • Identificar as solicitações usadas pelo cliente

Servidores oferecem três tipos de capacidade. A diferença principal é quem decide quando usá-los:

PrimitivaO que éQuem controlaListar / usar
Tool (ferramenta)Uma ação: pesquisar, criar, enviarO modelo decide chamá-latools/list, tools/call
Resource (recurso)Dados identificados por URI, como um arquivo ou esquemaA aplicação escolhe o contextoresources/list, resources/read
PromptUm modelo reutilizável, às vezes um comando de barraO usuário escolheprompts/list, prompts/get

Os mesmos dados podem ser oferecidos de mais de uma forma: um banco de dados pode expor uma ferramenta run_query e um recurso schema://tables.

Experimente

Até 15 XP

Ferramenta, recurso ou prompt?

Para cada capacidade, escolha a primitiva adequada: é uma ação, um contexto legível ou um modelo escolhido pelo usuário?

0 de 6 classificadosPontuação 0/0
  • “Criar um evento no calendário”

  • “O conteúdo de README.md”

  • ““/revisar-pr”, um modelo para revisão de código”

  • “Pesquisar uma frase na web”

  • “As definições das tabelas de um banco de dados”

  • ““/resumir-reunião” com uma transcrição”

route.py — escolha a operação da primitiva
methods = {"tool": "tools/call", "resource": "resources/read", "prompt": "prompts/get"}
for kind, name in [("tool", "get_weather"), ("resource", "file:///notes.md"), ("prompt", "code_review")]:
    print(methods[kind], name)
Saída
tools/call get_weather
resources/read file:///notes.md
prompts/get code_review

Principais conclusões

  • Ferramentas são ações; recursos são contexto legível; prompts são modelos escolhidos pelo usuário.

  • Cada primitiva tem uma solicitação de listagem e outra para uso.

  • Prompt e recurso não controlam acesso: autorização é uma responsabilidade separada.

Quiz da aula

7 perguntas · aprovação com 5 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Pratique: crie um servidor MCP

Escreva código Python no editor e execute os testes com exemplos. O Python roda localmente no navegador usando WebAssembly.

Exercício 1

Encaminhe solicitações por capacidade

+25 XP

Cada linha de entrada tem o tipo (tool, resource ou prompt) e seu nome ou URI. Imprima o método usado pelo cliente e o nome: tools/call NAME, resources/read URI ou prompts/get NAME. Leia até o fim da entrada.

  • One of each
  • Two tools
main.py
Carregando editor…

O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…