Gọi công cụ trên máy chủ
Giờ hãy kích hoạt các lệnh gọi tool trên máy chủ từ client của bạn! Một lần nữa, bạn sẽ dùng thao tác bất đồng bộ để đảm bảo mọi thứ không bị lỗi hay treo trong lúc chờ các thao tác khác hoàn tất.
Bài tập này là một phần của khóa học
Giới thiệu về Model Context Protocol (MCP)
Hướng dẫn bài tập
- Gọi tool với tham số
tool_namevàargumentsdo người dùng chỉ định; đảm bảo lệnh gọi tạm dừng để chờ máy chủ phản hồi bằng từ khóa Python phù hợp. - Trích xuất và in ra nội dung văn bản từ phản hồi của máy chủ.
- Chạy tool
"convert_currency"với một bộ tham số hợp lệ (bạn có thể dùng bất kỳ giá trị và loại tiền tệ nào tại đây).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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"})
)