Servertools aanroepen
Tijd om toolaanroepen op de server te triggeren vanuit je client! Ook nu gebruik je asynchrone operaties zodat er niets vastloopt terwijl je op andere taken wacht.
Deze oefening maakt deel uit van de cursus
Introductie tot Model Context Protocol (MCP)
Oefeninstructies
- Roep de tool aan met de door de gebruiker opgegeven parameters
tool_nameenarguments; zorg dat de aanroep pauzeert om op het serverantwoord te wachten met het juiste Python-sleutelwoord. - Extraheer en print de tekstuele inhoud van het serverantwoord.
- Voer de tool
"convert_currency"uit met een set geldige parameters (gebruik hier zelf gewenste waarden en valuta).
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def call_mcp_tool(tool_name: str, arguments: dict) -> str:
params = StdioServerParameters(
command=sys.executable,
args=["currency_server.py"],
)
async with stdio_client(params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
# Call the currency conversion tool
result = ____ ____(tool_name, arguments)
# Extract and print the text content of the server response
text_content = result.____[0].____
print(f"Conversion Result: {text_content}")
return text_content
# Run the "convert_currency" tool
asyncio.run(
call_mcp_tool("convert_currency",
{"amount": 250.0, "from_currency": "USD", "to_currency": "EUR"})
)