Definir recursos en un servidor MCP
Estás ampliando tu servidor MCP para la conversión de divisas para darle acceso a la lista de monedas que admite la API que estás usando. El Banco Central Europeo publica una lista de códigos de moneda en un archivo llamado currencies.txt que está disponible en el directorio de tu servidor. El cliente podría usar esto para asegurarse de que el LLM está pasando los valores de argumentos correctos a las funciones de las herramientas.
Tu tarea es definir un recurso de MCP llamado get_currencies() que lea el contenido de currencies.txt.
Este ejercicio forma parte del curso
Introducción a Model Context Protocol (MCP)
Instrucciones del ejercicio
- Usa el decorador correcto y el URI
"file://currencies.txt"para convertir la funciónget_currencies()en un recurso. - Completa la función
get_currencies()para abrir y leer el contenido del archivocurrencies.txt. - Imprime el resultado de llamar a
get_currencies()para verificar que el recurso funciona correctamente.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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(____)