Anropa serververktyg
Nu är det dags att utlösa verktygsanrop på servern från din klient! Precis som tidigare använder du asynkrona operationer för att säkerställa att ingenting kraschar eller fryser medan du väntar på att andra operationer ska slutföras.
Den här övningen är en del av kursen
Introduktion till Model Context Protocol (MCP)
Övningsinstruktioner
- Anropa verktyget med parametrarna
tool_nameochargumentssom användaren angett. Se till att anropet pausar och väntar på serverns svar med rätt Python-nyckelord. - Extrahera och skriv ut textinnehållet i serverns svar.
- Kör verktyget
"convert_currency"med en uppsättning giltiga parametrar (använd de värden och valutor du vill).
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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"})
)