Definiera resurser i en MCP-server
Du utökar din MCP-server för valutakonvertering så att den får tillgång till listan över valutor som stöds av det API du använder. Europeiska centralbanken publicerar en lista med valutakoder i en fil som heter currencies.txt, och den finns tillgänglig i din serverkatalog. Klienten kan använda den för att se till att LLM:en skickar rätt argumentvärden till verktygsfunktionerna.
Din uppgift är att definiera en MCP-resurs som heter get_currencies() och som läser innehållet i currencies.txt.
Den här övningen är en del av kursen
Introduktion till Model Context Protocol (MCP)
Övningsinstruktioner
- Använd rätt dekorator och URI:n
"file://currencies.txt"för att omvandla funktionenget_currencies()till en resurs. - Komplettera funktionen
get_currencies()så att den öppnar och läser innehållet i filencurrencies.txt. - Skriv ut resultatet av att anropa
get_currencies()för att kontrollera att resursen fungerar korrekt.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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(____)