Dalam tugas ini, Anda menambahkan alat baru pada server MCP kalkulator Anda yang dapat menghitung akar kuadrat dari sebuah angka. Penambahan ini memungkinkan agen AI Anda untuk menangani pertanyaan matematika yang lebih kompleks, seperti "Berapa akar kuadrat dari 16?" atau "Hitung √49," menggunakan perintah dalam bahasa alami.
Untuk menambahkan fungsi ini, Anda mendefinisikan sebuah fungsi alat baru di file server.py Anda. Berikut implementasinya:
"""
Sample MCP Calculator Server implementation in Python.
This module demonstrates how to create a simple MCP server with calculator tools
that can perform basic arithmetic operations (add, subtract, multiply, divide).
"""
from mcp.server.fastmcp import FastMCP
import math
server = FastMCP("calculator")
@server.tool()
def add(a: float, b: float) -> float:
"""Add two numbers together and return the result."""
return a + b
@server.tool()
def subtract(a: float, b: float) -> float:
"""Subtract b from a and return the result."""
return a - b
@server.tool()
def multiply(a: float, b: float) -> float:
"""Multiply two numbers together and return the result."""
return a * b
@server.tool()
def divide(a: float, b: float) -> float:
"""
Divide a by b and return the result.
Raises:
ValueError: If b is zero
"""
if b == 0:
raise ValueError("Cannot divide by zero")
return a / b
@server.tool()
def sqrt(a: float) -> float:
"""
Return the square root of a.
Raises:
ValueError: If a is negative.
"""
if a < 0:
raise ValueError("Cannot compute the square root of a negative number.")
return math.sqrt(a)- Mengimpor modul
math: Untuk melakukan operasi matematika yang lebih dari sekadar aritmatika dasar, Python menyediakan modul bawaanmath. Modul ini berisi berbagai fungsi dan konstanta matematika. Dengan mengimpornya menggunakanimport math, Anda dapat menggunakan fungsi sepertimath.sqrt(), yang menghitung akar kuadrat dari sebuah angka. - Definisi Fungsi: Dekorator
@server.tool()mendaftarkan fungsisqrtsebagai alat yang dapat diakses oleh agen AI Anda. - Parameter Input: Fungsi ini menerima satu argumen
abertipefloat. - Penanganan Error: Jika
abernilai negatif, fungsi akan memunculkanValueErroruntuk mencegah perhitungan akar kuadrat dari angka negatif, yang tidak didukung oleh fungsimath.sqrt(). - Nilai Kembali: Untuk input yang tidak negatif, fungsi mengembalikan akar kuadrat dari
amenggunakan metode bawaan Pythonmath.sqrt().
Setelah menambahkan alat sqrt baru, penting untuk memulai ulang server MCP Anda agar agen dapat mengenali dan menggunakan fungsi yang baru ditambahkan.
Berikut beberapa perintah dalam bahasa alami yang bisa Anda gunakan untuk menguji fungsi akar kuadrat:
- "Berapa akar kuadrat dari 25?"
- "Hitung akar kuadrat dari 81."
- "Cari akar kuadrat dari 0."
- "Berapa akar kuadrat dari 2.25?"
Perintah-perintah ini akan memicu agen untuk memanggil alat sqrt dan mengembalikan hasil yang benar.
Dengan menyelesaikan tugas ini, Anda telah:
- Memperluas server MCP kalkulator Anda dengan alat
sqrtbaru. - Memungkinkan agen AI Anda untuk melakukan perhitungan akar kuadrat melalui perintah bahasa alami.
- Berlatih menambahkan alat baru dan memulai ulang server untuk mengintegrasikan fungsi tambahan.
Jangan ragu untuk bereksperimen lebih jauh dengan menambahkan alat matematika lain, seperti perpangkatan atau fungsi logaritma, untuk terus meningkatkan kemampuan agen Anda!
Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI Co-op Translator. Meskipun kami berupaya untuk mencapai akurasi, harap diperhatikan bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sahih. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.