ในงานนี้ คุณได้เพิ่มฟีเจอร์ให้กับเซิร์ฟเวอร์ MCP เครื่องคิดเลขของคุณด้วยการเพิ่มเครื่องมือใหม่ที่คำนวณหารากที่สองของตัวเลข การเพิ่มนี้ช่วยให้เอเจนต์ AI ของคุณสามารถจัดการกับคำถามทางคณิตศาสตร์ที่ซับซ้อนขึ้น เช่น "หารากที่สองของ 16 คืออะไร?" หรือ "คำนวณ √49" โดยใช้คำสั่งภาษาธรรมชาติ
เพื่อเพิ่มฟังก์ชันนี้ คุณได้กำหนดฟังก์ชันเครื่องมือใหม่ในไฟล์ server.py นี่คือตัวอย่างการใช้งาน:
"""
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)- นำเข้าโมดูล
math: เพื่อทำการคำนวณทางคณิตศาสตร์ที่ซับซ้อนกว่าการบวก ลบ คูณ หาร Python มีโมดูลในตัวชื่อmathซึ่งประกอบด้วยฟังก์ชันและค่าคงที่ทางคณิตศาสตร์มากมาย โดยการนำเข้าโมดูลนี้ด้วยimport mathคุณจะสามารถใช้ฟังก์ชันอย่างmath.sqrt()ที่ใช้คำนวณหารากที่สองของตัวเลขได้ - การกำหนดฟังก์ชัน: ตัวตกแต่ง
@server.tool()จะลงทะเบียนฟังก์ชันsqrtให้เป็นเครื่องมือที่เอเจนต์ AI ของคุณสามารถเรียกใช้งานได้ - พารามิเตอร์อินพุต: ฟังก์ชันรับอาร์กิวเมนต์เดียวคือ
aซึ่งเป็นชนิดfloat - การจัดการข้อผิดพลาด: หากค่า
aเป็นลบ ฟังก์ชันจะโยนข้อผิดพลาดValueErrorเพื่อป้องกันการคำนวณหารากที่สองของจำนวนลบ ซึ่งmath.sqrt()ไม่รองรับ - ค่าที่ส่งกลับ: สำหรับอินพุตที่ไม่เป็นลบ ฟังก์ชันจะคืนค่ารากที่สองของ
aโดยใช้เมธอดmath.sqrt()ของ Python
หลังจากเพิ่มเครื่องมือ sqrt ใหม่แล้ว จำเป็นต้องรีสตาร์ทเซิร์ฟเวอร์ MCP ของคุณเพื่อให้เอเจนต์รับรู้และสามารถใช้งานฟังก์ชันใหม่นี้ได้
นี่คือตัวอย่างคำสั่งภาษาธรรมชาติที่คุณสามารถใช้ทดสอบฟังก์ชันหารากที่สองได้:
- "หารากที่สองของ 25 คืออะไร?"
- "คำนวณหารากที่สองของ 81"
- "หารากที่สองของ 0 คือเท่าไหร่?"
- "หารากที่สองของ 2.25 คืออะไร?"
คำสั่งเหล่านี้จะกระตุ้นให้เอเจนต์เรียกใช้เครื่องมือ sqrt และส่งผลลัพธ์ที่ถูกต้องกลับมา
จากการทำงานนี้ คุณได้:
- ขยายเซิร์ฟเวอร์ MCP เครื่องคิดเลขของคุณด้วยเครื่องมือ
sqrtใหม่ - ทำให้เอเจนต์ AI ของคุณสามารถคำนวณหารากที่สองผ่านคำสั่งภาษาธรรมชาติได้
- ฝึกฝนการเพิ่มเครื่องมือใหม่และการรีสตาร์ทเซิร์ฟเวอร์เพื่อผนวกฟังก์ชันเพิ่มเติม
อย่าลังเลที่จะทดลองเพิ่มเครื่องมือทางคณิตศาสตร์อื่น ๆ เช่น การยกกำลัง หรือฟังก์ชันลอการิทึม เพื่อพัฒนาความสามารถของเอเจนต์ของคุณต่อไป!
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษาอัตโนมัติ Co-op Translator แม้เราจะพยายามให้ความถูกต้องสูงสุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลโดยผู้เชี่ยวชาญมนุษย์ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดใด ๆ ที่เกิดจากการใช้การแปลนี้