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)
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ść plikucurrencies.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(____)