Zacznij terazZacznij za darmo

Definiowanie zasobów serwera MCP

Rozbudowujesz swój serwer MCP do przeliczania walut, aby umożliwić mu dostęp do listy walut obsługiwanych przez używane API. Europejski Bank Centralny udostępnia listę kodów walut w pliku currencies.txt, który znajduje się w katalogu twojego serwera. Klient może wykorzystać ten zasób, by upewnić się, że model językowy przekazuje do funkcji narzędzi poprawne wartości argumentów.

Twoim zadaniem jest zdefiniowanie zasobu MCP o nazwie get_currencies(), który odczyta zawartość pliku currencies.txt.

To ćwiczenie jest częścią kursu

Wprowadzenie do Model Context Protocol (MCP)

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj odpowiedniego dekoratora i identyfikatora URI "file://currencies.txt", aby przekształcić funkcję get_currencies() w zasób.
  • Uzupełnij funkcję get_currencies() tak, aby otwierała i odczytywała zawartość pliku currencies.txt.
  • Wydrukuj wynik wywołania funkcji get_currencies(), żeby sprawdzić, czy zasób działa poprawnie.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("Currency Converter")

# Define a resource for the currencies file
____
def get_currencies() -> str:
    """
    Get the list of currency names published by the European Central Bank for currency conversion.

    Returns:
        Contents of the currencies.txt file with currency names
    """
    # Open currencies.txt and read the data
    try:
        with open('____', 'r') as f:
            content = f.____
        return content
    except FileNotFoundError:
        return "currencies.txt file not found"

# Test the resource function
print(____)
Edytuj i uruchom kod