Comece agoraComece grátis

Lendo recursos a partir do cliente

Agora vamos ao passo final: adicionar funcionalidade ao cliente para que ele possa ler os dados do recurso do seu servidor MCP! Esta lista de moedas e seus símbolos pode ser usada como um checklist por um LLM para verificar se o usuário está solicitando uma moeda compatível com a ferramenta convert_currency() e também se os argumentos da função da ferramenta são símbolos de moeda válidos.

O arquivo currency_server.py já foi iniciado e está pronto para você usar.

Este exercicio faz parte do curso

Introdução ao Model Context Protocol (MCP)

Ver curso

Instruções do exercicio

  • Defina uma função assíncrona chamada read_resource() que receba um parâmetro resource_uri do tipo str
  • Dentro da função, use session.read_resource() com await para ler o recurso no URI fornecido, atribuindo o resultado a resource_content
  • Faça um loop pelo conteúdo de cada recurso e imprima seus atributos .mimeType e .text

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

# Define an async function for reading MCP resources
____ ____ ____(____: ____):
    """Read a specific resource by URI."""
    params = StdioServerParameters(
        command=sys.executable,
        args=["currency_server.py"],
    )

    async with stdio_client(params) as (reader, writer):
        async with ClientSession(reader, writer) as session:
            await session.initialize()

            print(f"Reading resource: {resource_uri}")
            # Read the resource from the session context
            resource_content = ____ ____

            # Print the contents of each resource
            for content in ____:
                print(f"\nContent ({content.mimeType}):")
                print(content.____)

            return resource_content

asyncio.run(read_resource("file://currencies.txt"))
Editar e Executar Código