Kaynak Olarak Veritabanları
Şimdi bu veritabanı bilgisini alıp MCP sunucusunda bir kaynak olarak kullanılabilir hale getirelim. Bu kaynak, aşağı akışta LLM'in yalnızca desteklenen para birimi kodlarını istediğini doğrulamak için ya da kullanıcı arayüzünde para birimi kodunu açılır liste veya otomatik tamamlama ile seçilebilir yapmak için kullanılabilir.
Veritabanı hâlâ currencies.db olarak mevcut ve bir sunucu başlatmak için gereken kod sana sağlandı.
Bu egzersiz, kursun bir parçasıdır
Model Context Protocol (MCP) Giriş
Egzersiz talimatları
- Veritabanına (
currencies.db) bir bağlantı kur. - Veritabanı bağlantısı için yeni bir MCP sunucu kaynağı oluştur.
- Veritabanı sorgusunu çalıştır ki
get_currencies()fonksiyonu veritabanının içeriğini döndürsün.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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)