Inizia subitoInizia gratis

Database come risorse

Ora prendi le informazioni del database e rendile disponibili come risorsa nel server MCP. Questo può essere utilizzato a valle per verificare che l'LLM stia richiedendo codici valuta supportati, o persino nell'interfaccia utente per offrire il codice valuta come menu a discesa o selezione con completamento automatico.

Il database è ancora disponibile come currencies.db, e il codice per istanziare un server è già fornito.

Questo esercizio fa parte del corso

Introduzione al Model Context Protocol (MCP)

Visualizza corso

Istruzioni dell'esercizio

  • Stabilisci una connessione al database (currencies.db).
  • Crea una nuova risorsa del server MCP per la connessione al database.
  • Esegui la query sul database in modo che la funzione get_currencies() restituisca il contenuto del database.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Currency Converter")

# Connect to the database on startup
conn = sqlite3.____("____")
conn.row_factory = sqlite3.Row

# Create an MCP resource
@mcp.____("db://currencies")
def get_currencies() -> str:
    """
    Get the list of currency names published by the European Central Bank for currency conversion.

    Returns:
        One line per currency (code - name), from the database.
    """
    try:
        # Query the database
        cursor = conn.____("SELECT code, name FROM currencies")
        rows = cursor.fetchall()
        return "\n".join(f"{row['code']} - {row['name']}" for row in rows)
    except sqlite3.Error as e: return f"Error: {e}"

result = get_currencies()
print(result[:200] + "..." if len(result) > 200 else result)
Modifica ed esegui il codice