Apelarea instrumentelor serverului
Acum e momentul să declanșezi apeluri de instrumente în server din clientul tău! La fel ca înainte, vei folosi operații asincrone pentru a te asigura că nimic nu se blochează sau îngheață în timp ce aștepți finalizarea altor operații.
Acest exercițiu face parte din cursul
Introducere în Model Context Protocol (MCP)
Instrucțiuni pentru exercițiu
- Apelează instrumentul cu parametrii
tool_nameșiargumentsspecificați de utilizator; asigură-te că apelul se oprește pentru a aștepta răspunsul serverului, folosind cuvântul cheie Python corespunzător. - Extrage și afișează conținutul text al răspunsului serverului.
- Rulează instrumentul
"convert_currency"cu un set de parametri valizi (poți folosi orice valori și valute dorești).
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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"})
)