Descobrir ferramentas e recursos
Liste programaticamente o que um servidor oferece.
Descobrir ferramentas e recursos é uma aula grátis de MCP Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de MCP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de MCP Academy inclui 4 aulas no total.
Partes desta aula ainda não foram traduzidas e aparecem em inglês.
Ask Before You Act
A client should never assume what a server can do. Once connected, it discovers the available capabilities by asking the server to list them.
List the Tools
Call session.list_tools() and the server returns every tool it exposes, ready for your code to inspect.
result = await session.list_tools()Read Each Tool
The result carries a tools list. Each entry has a name and a human-readable description so you know what it does.
for tool in result.tools:
print(tool.name, tool.description)Inspect the Input Shape
Every tool also exposes an inputSchema, a JSON Schema describing the arguments it accepts. This is how you learn what to send.
print(result.tools[0].inputSchema)List the Resources
Servers can offer read-only data too. Call session.list_resources() to fetch the set of resources you may read.
res = await session.list_resources()Resources Have URIs
Each resource is addressed by a uri, like a file path or a custom scheme. You use that uri later to fetch its contents.
for r in res.resources:
print(r.uri, r.name)List the Prompts
The third primitive is prompts. session.list_prompts() reveals reusable instruction templates the server publishes.
prompts = await session.list_prompts()Discovery Is Capability-Gated
You only get what the server advertised at the handshake. If it declared no resources, listing them returns an empty set.
Build a Live Menu
Discovery means a client adapts at runtime. Plug in a new server and its tools simply appear, with no client code changes needed.
Feed It to a Model
Discovered tool names, descriptions, and schemas are exactly what a model needs to decide which tool fits a request later on.
Cache or Re-List
Tool lists can change, so a careful client may re-list after an update notification rather than trusting a stale snapshot.
Quick Check
Which session call returns the server tool list with their schemas?
Recap: Knowing the Menu
You learned to discover a server at runtime: list its tools, resources, and prompts, then read each name, description, and schema before acting.
Perguntas Frequentes
A aula “Descobrir ferramentas e recursos” é grátis?
Sim — o texto completo de “Descobrir ferramentas e recursos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de MCP Academy, atualize para CoddyKit PRO. O curso de MCP Academy inclui 4 aulas no total.
O que vou aprender em “Descobrir ferramentas e recursos”?
Liste programaticamente o que um servidor oferece. Você pratica MCP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar MCP Academy?
Nenhuma experiência prévia é necessária. MCP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Descobrir ferramentas e recursos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de MCP Academy?
Sim. Cada aula de MCP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Abrir uma sessão de cliente
- Descobrir ferramentas e recursos
- Invocar ferramentas pelo código
- Encaminhar chamadas de ferramentas por um LLM