Mulai sekarangMulai gratis

Server MCP Pertama Anda

Saatnya praktik langsung dengan server MCP pertama Anda! Kami telah menyediakan semua kodenya untuk Anda di sini, yang akan kami jelaskan di video berikutnya, tetapi cermati alur kodenya:

  1. Sebuah instance server MCP didefinisikan dengan FastMCP()
  2. Sebuah fungsi tool (convert_currency()) ditulis untuk melakukan suatu aksi; dalam hal ini, mengambil informasi mata uang dari Frankfurter API.
  3. Fungsi ini dikonversi menjadi tool MCP menggunakan dekorator @mcp.tool().

Latihan ini merupakan bagian dari kursus

Pengantar Model Context Protocol (MCP)

Lihat Kursus

Instruksi latihan

  • Tinjau kode yang disediakan untuk melihat bagaimana sebuah fungsi dikonversi menjadi tool untuk server MCP.
  • Pada baris 43, uji tool MCP dengan jumlah dan pilihan mata uang yang akan dikonversi dari dan ke.

Catatan: Anda harus menggunakan kode mata uang resmi, seperti GBP untuk pound sterling Britania.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# Create an MCP server instance
mcp = FastMCP("Currency Converter")

@mcp.tool()
def convert_currency(amount: float, from_currency: str, to_currency: str) -> str:
    """
    Convert an amount from one currency to another using current exchange rates.

    Args:
        amount: The amount to convert
        from_currency: Source currency code (e.g., 'USD', 'EUR', 'GBP')
        to_currency: Target currency code (e.g., 'USD', 'EUR', 'GBP')

    Returns:
        A string with the conversion result and exchange rate
    """
    # API endpoint for Frankfurter
    url = f"https://api.frankfurter.dev/v1/latest?base={from_currency}&symbols={to_currency}"

    try:
        # Make the API request
        response = requests.get(url)
        response.raise_for_status()

        # Parse the response
        data = response.json()

        # Get the exchange rate
        rate = data['rates'].get(to_currency)

        if rate is None:
            return f"Could not find exchange rate for {from_currency} to {to_currency}"

        # Calculate the converted amount
        converted_amount = amount * rate

        return f"{amount} {from_currency} = {converted_amount:.2f} {to_currency} (Rate: {rate})"

    except requests.exceptions.RequestException as e:
        return f"Error converting currency: {str(e)}"

print("Testing Currency Converter:")
result = convert_currency(amount=100, from_currency="USD", to_currency="EUR")
print(result)
Edit dan Jalankan Kode