Chiamare gli strumenti del server
Ora attiva le chiamate agli strumenti nel server dal tuo client! Anche qui userai operazioni asincrone per evitare che qualcosa si rompa o si blocchi mentre attendi il completamento di altre operazioni.
Questo esercizio fa parte del corso
Introduzione al Model Context Protocol (MCP)
Istruzioni dell'esercizio
- Chiama lo strumento con i parametri
tool_nameeargumentsspecificati dall'utente; assicurati che la chiamata si metta in attesa della risposta del server usando la keyword Python appropriata. - Estrai e stampa il contenuto testuale della risposta del server.
- Esegui lo strumento
"convert_currency"con un set di parametri validi (usa qui i valori e le valute che preferisci).
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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"})
)