시작하기무료로 시작하기

리소스로서의 데이터베이스

이제 데이터베이스 정보를 가져와 MCP 서버에서 리소스로 제공할 차례입니다. 이 리소스는 LLM이 지원되는 통화 코드를 요청하는지 검증하거나, 사용자 인터페이스에서 통화 코드를 드롭다운 또는 자동 완성 항목으로 표시하는 데 활용할 수 있습니다.

데이터베이스는 currencies.db로 그대로 사용할 수 있으며, 서버를 초기화하는 코드는 이미 제공되어 있습니다.

이 연습은 강의의 일부입니다

Model Context Protocol (MCP) 입문

강의 보기

연습 안내

  • 데이터베이스(currencies.db)에 연결을 설정하세요.
  • 데이터베이스 연결을 위한 새 MCP 서버 리소스를 생성하세요.
  • get_currencies() 함수가 데이터베이스의 내용을 반환하도록 데이터베이스 쿼리를 실행하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

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)
코드 편집 및 실행