ÎncepețiÎncepe gratuit

Citirea resurselor din client

Acum facem ultimul pas: adăugăm funcționalitate clientului pentru a putea citi datele resursei de pe serverul tău MCP! Lista de valute și simbolurile lor poate fi folosită de un LLM ca listă de verificare – pentru a confirma că utilizatorul solicită o valută acceptată de instrumentul convert_currency() și că argumentele funcției sunt simboluri valutare valide.

Fișierul currency_server.py a fost pornit și este gata de utilizat.

Acest exercițiu face parte din cursul

Introducere în Model Context Protocol (MCP)

Vezi cursul

Instrucțiuni pentru exercițiu

  • Definește o funcție asincronă numită read_resource() care primește un parametru resource_uri de tip str
  • În interiorul funcției, folosește session.read_resource() cu await pentru a citi resursa de la URI-ul dat, atribuind rezultatul variabilei resource_content
  • Parcurge conținutul fiecărei resurse și afișează atributele .mimeType și .text ale acesteia

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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"))
Editează și rulează codul