Kiến trúc client
Phần tiêu đề “Kiến trúc client”MCP client gồm hai thành phần: một class MCP Client tuỳ chỉnh, và một Client Session (lấy từ SDK). Client Session cần được quản lý tài nguyên cẩn thận, nên thường được bọc trong một class tuỳ chỉnh để tự động dọn dẹp. Đa số project thực tế chỉ triển khai hoặc client hoặc server, hiếm khi làm cả hai cùng lúc.

Client nằm ở đâu trong ứng dụng
Phần tiêu đề “Client nằm ở đâu trong ứng dụng”Client cho phép hai tương tác quan trọng: lấy danh sách tool khả dụng để gửi cho Claude, và thực thi tool khi Claude yêu cầu. Nó đóng vai trò cầu nối giữa logic ứng dụng của bạn và chức năng của MCP server.

Triển khai các hàm cốt lõi
Phần tiêu đề “Triển khai các hàm cốt lõi”Hàm list_tools():
async def list_tools(self) -> list[types.Tool]: result = await self.session().list_tools() return result.toolsHàm call_tool():
async def call_tool( self, tool_name: str, tool_input: dict) -> types.CallToolResult | None: return await self.session().call_tool(tool_name, tool_input)Test và tích hợp
Phần tiêu đề “Test và tích hợp”Chạy bộ test harness bằng uv run mcp_client.py để xác nhận kết nối hoạt động. Toàn bộ ứng dụng được test qua uv run main.py. Luồng đầy đủ: client lấy danh sách tool → gửi cho Claude → Claude yêu cầu thực thi → client gọi tool → kết quả được trả về.

lượt xem