Comece agoraComece grátis

Bancos de dados como recursos

Agora vamos pegar as informações do banco de dados e disponibilizá-las como um recurso no servidor MCP. Isso pode ser usado adiante para validar que o LLM está solicitando códigos de moeda compatíveis ou até na interface do usuário, para transformar o código de moeda em um campo com lista suspensa ou preenchimento automático.

O banco de dados continua disponível como currencies.db, e o código para instanciar um servidor já foi fornecido para você.

Este exercicio faz parte do curso

Introdução ao Model Context Protocol (MCP)

Ver curso

Instruções do exercicio

  • Estabeleça uma conexão com o banco de dados (currencies.db).
  • Crie um novo recurso do servidor MCP para a conexão com o banco de dados.
  • Execute a consulta no banco para que a função get_currencies() retorne o conteúdo do banco de dados.

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

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)
Editar e Executar Código