BaşlayınÜcretsiz başlayın

İstemciden Kaynak Okuma

Şimdi son adıma geçelim: istemciye, MCP sunucundaki bir kaynağın verisini okuyabilecek işlevselliği ekle! Bu para birimleri ve sembollerinin listesi, bir LLM tarafından, kullanıcının convert_currency() aracının desteklediği bir para birimi isteyip istemediğini ve ayrıca araç fonksiyonunun argümanlarının geçerli para birimi sembolleri olup olmadığını kontrol etmek için bir kontrol listesi olarak kullanılabilir.

currency_server.py dosyası çalıştırıldı ve kullanman için hazır.

Bu egzersiz, kursun bir parçasıdır

Model Context Protocol (MCP) Giriş

Kursa Göz Atın

Egzersiz talimatları

  • str türünde bir resource_uri parametresi alan read_resource() adlı bir async fonksiyon tanımla
  • Fonksiyonun içinde, verilen URI'deki kaynağı okumak için await ile session.read_resource() kullan ve sonucu resource_content değişkenine ata
  • Her kaynağın içeriğinde döngü kur ve .mimeType ile .text özniteliklerini yazdır

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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"))
Kodu Düzenle ve Çalıştır