Définir des ressources de serveur MCP
Vous étendez votre serveur MCP pour la conversion de devises afin de lui donner accès à la liste des devises prises en charge par l'API que vous utilisez. La Banque centrale européenne publie une liste de codes de devises dans un fichier nommé currencies.txt, disponible dans le répertoire de votre serveur. Le client pourra s'en servir pour garantir que le LLM transmet les bonnes valeurs d'arguments aux fonctions d'outil.
Votre tâche est de définir une ressource MCP appelée get_currencies() qui lit le contenu de currencies.txt.
Cet exercice fait partie du cours
<cours>Introduction au Model Context Protocol (MCP)</cours>Instructions de l’exercice
- Utilisez le bon décorateur et l'URI
"file://currencies.txt"pour transformer la fonctionget_currencies()en ressource. - Complétez la fonction
get_currencies()pour ouvrir et lire le contenu du fichiercurrencies.txt. - Affichez le résultat de l'appel à
get_currencies()pour vérifier que la ressource fonctionne correctement.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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(____)