Začněte nyníZačněte zdarma

Čtení zdrojů z klienta

Teď přijde poslední krok: přidáme klientovi funkcionalitu, díky které bude umět číst data ze zdrojů tvého MCP serveru! Tento seznam měn a jejich symbolů může LLM využít jako kontrolní seznam – ověří, jestli uživatel zadal měnu, kterou nástroj convert_currency() podporuje, a jestli jsou argumenty předané funkci nástroje platné symboly měn.

Soubor currency_server.py je již spuštěný a připravený k použití.

Toto cvičení je součástí kurzu

Introduction to Model Context Protocol (MCP)

Zobrazit kurz

Pokyny k cvičení

  • Definuj asynchronní funkci read_resource(), která přijímá parametr resource_uri typu str
  • Uvnitř funkce načti zdroj na zadaném URI pomocí session.read_resource() s klíčovým slovem await a výsledek ulož do proměnné resource_content
  • Projdi obsah každého zdroje v cyklu a vypiš jeho atributy .mimeType a .text

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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"))
Upravit a spustit kód