In deze opdracht heb je je calculator MCP server uitgebreid met een nieuwe tool die de wortel van een getal berekent. Hierdoor kan je AI-agent complexere wiskundige vragen aan, zoals "Wat is de wortel van 16?" of "Bereken √49," met behulp van natuurlijke taal.
Om deze functionaliteit toe te voegen, heb je een nieuwe toolfunctie gedefinieerd in je server.py bestand. Dit is de implementatie:
"""
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)- Importeer de
mathmodule: Om wiskundige bewerkingen uit te voeren die verder gaan dan basisrekenen, biedt Python de ingebouwdemathmodule. Deze module bevat diverse wiskundige functies en constanten. Doorimport mathte gebruiken, krijg je toegang tot functies zoalsmath.sqrt(), die de wortel van een getal berekent. - Functiedefinitie: De
@server.tool()decorator registreert desqrtfunctie als een tool die je AI-agent kan gebruiken. - Invoerveld: De functie accepteert één argument
avan het typefloat. - Foutafhandeling: Als
anegatief is, gooit de functie eenValueErrorom te voorkomen dat de wortel van een negatief getal wordt berekend, wat niet wordt ondersteund doormath.sqrt(). - Retourwaarde: Voor niet-negatieve invoer geeft de functie de wortel van
aterug met behulp van de ingebouwdemath.sqrt()methode.
Na het toevoegen van de nieuwe sqrt tool is het belangrijk om je MCP server te herstarten zodat de agent de nieuwe functionaliteit herkent en kan gebruiken.
Hier zijn enkele natuurlijke taal prompts die je kunt gebruiken om de wortelfunctie te testen:
- "Wat is de wortel van 25?"
- "Bereken de wortel van 81."
- "Vind de wortel van 0."
- "Wat is de wortel van 2.25?"
Deze prompts zorgen ervoor dat de agent de sqrt tool aanroept en de juiste resultaten teruggeeft.
Door deze opdracht af te ronden heb je:
- Je calculator MCP server uitgebreid met een nieuwe
sqrttool. - Je AI-agent in staat gesteld om wortelberekeningen te doen via natuurlijke taal prompts.
- Geoefend met het toevoegen van nieuwe tools en het herstarten van de server om extra functionaliteiten te integreren.
Voel je vrij om verder te experimenteren door meer wiskundige tools toe te voegen, zoals machtsverheffen of logaritmische functies, om de mogelijkheden van je agent verder uit te breiden!
Disclaimer:
Dit document is vertaald met behulp van de AI-vertalingsdienst Co-op Translator. Hoewel we streven naar nauwkeurigheid, dient u er rekening mee te houden dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in de oorspronkelijke taal moet als de gezaghebbende bron worden beschouwd. Voor cruciale informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.