MCP-Server-Ressourcen definieren
Du erweiterst deinen MCP-Server für Währungsumrechnung, damit er Zugriff auf die von der verwendeten API unterstützten Währungen hat. Die Europäische Zentralbank veröffentlicht eine Liste von Währungscodes in der Datei currencies.txt, die sich in deinem Serververzeichnis befindet. Diese kann vom Client genutzt werden, um sicherzustellen, dass das LLM die richtigen Argumentwerte an die Tool-Funktionen übergibt.
Deine Aufgabe ist es, eine MCP-Ressource namens get_currencies() zu definieren, die den Inhalt von currencies.txt liest.
Diese Übung ist Teil des Kurses
<Kurs>Einführung in das Model Context Protocol (MCP)</Kurs>Übungsanweisungen
- Verwende den passenden Decorator und die URI
"file://currencies.txt", um die Funktionget_currencies()in eine Ressource zu verwandeln. - Vervollständige die Funktion
get_currencies(), sodass sie die Dateicurrencies.txtöffnet und deren Inhalt liest. - Gib das Ergebnis des Aufrufs von
get_currencies()aus, um zu prüfen, ob die Ressource korrekt funktioniert.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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(____)