Kom igångKom igång gratis

Databaser som resurser

Nu är det dags att hämta informationen från databasen och göra den tillgänglig som en resurs i MCP-servern. Detta kan sedan användas för att kontrollera att LLM:en efterfrågar valutakoder som stöds – eller till och med i användargränssnittet för att göra valutakoden till en rullgardinsmeny eller ett autokompletteringsfält.

Databasen är fortfarande tillgänglig som currencies.db, och koden för att skapa en serverinstans är redan angiven.

Den här övningen är en del av kursen

Introduktion till Model Context Protocol (MCP)

Visa kurs

Övningsinstruktioner

  • Upprätta en anslutning till databasen (currencies.db).
  • Skapa en ny MCP-serverresurs för databasanslutningen.
  • Kör databasfrågan så att funktionen get_currencies() returnerar databasens innehåll.

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")

# 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)
Redigera och kör kod