
Giới thiệu dự án
Trợ lý tiết kiệm Mai Mai (mcd-coupon-strategist) là công cụ hỗ trợ tối ưu chi phí gọi món, được xây dựng dựa trên MCP của McDonald's Trung Quốc. Công cụ không chỉ trả lời “gọi món thế nào để tiết kiệm nhất”, mà còn phân tích lịch sử đơn hàng và kho coupon, cho bạn biết những ưu đãi sắp hết hạn nào đang biến thành tổn thất thực tế.
Dự án chia bài toán tiết kiệm thành hai chuỗi xử lý:
- Tối ưu ngắn hạn: Đọc thực đơn hiện tại và coupon khả dụng của tài khoản, liệt kê các phương án món lẻ, combo, sử dụng coupon và mua thêm, sau đó dùng
calculate-priceđể lấy giá thực tế cho từng phương án. - Kiểm toán dài hạn: Phân tích chi tiêu, giá trị đơn hàng trung bình, món ăn thường gọi và coupon sắp hết hạn thông qua
order-listvàquery-my-coupons.
Góc nhìn cốt lõi của dự án không chỉ là giúp người dùng tiếp tục tiêu dùng, mà trước hết là tìm ra những tổn thất đang xảy ra.
Tính năng chính và nguyên lý hoạt động
Định giá thực tế theo cửa hàng hiện tại
Giá và tình trạng cung ứng có thể khác nhau giữa các cửa hàng, vì vậy dự án không cố định giá trong thực đơn. Mọi phương án ứng viên cuối cùng đều được MCP định giá bằng calculate-price, thay vì để mô hình đoán số tiền.
Kết quả không chỉ bao gồm số tiền thực trả thấp nhất mà còn giải thích chênh lệch giá đến từ cấu trúc combo, coupon hay món mua thêm. Ví dụ, combo ba món có thể rẻ hơn hamburger và khoai tây gọi lẻ, trong trường hợp đó hệ thống sẽ đề xuất rõ combo và nêu số tiền tiết kiệm được.
Nhận diện bẫy mua thêm
Dùng coupon chưa chắc đã tiết kiệm hơn. Giả sử các món dự định mua có giá 46.5 nhân dân tệ, để dùng coupon “đơn từ 50 giảm 12” cần mua thêm món giá 3.5 nhân dân tệ, sau khi dùng coupon số tiền thực trả là 38 nhân dân tệ; nếu combo tương tự chỉ có giá 33.5 nhân dân tệ thì phương án mua thêm vẫn đắt hơn 4.5 nhân dân tệ.
Dự án so sánh số tiền thực trả cuối cùng, thay vì chỉ nhìn vào số tiền giảm được ghi trên coupon. Nếu món mua thêm vốn không phải nhu cầu của người dùng, hệ thống sẽ chủ động khuyên không nên chọn phương án đó.
Tính chi phí cơ hội của coupon
“Chi phí cơ hội của coupon” là giá trị của các ưu đãi sắp hết hạn nhưng chưa được sử dụng. Vì dữ liệu MCP trả về có thể chỉ bao gồm tên coupon, dự án sẽ đối chiếu thực đơn của cửa hàng hiện tại để xác định giá trị:
- Coupon giảm theo ngưỡng: “đơn từ 50 giảm 12” được tính trực tiếp là 12 nhân dân tệ.
- Coupon mua một tặng một: “khoai tây cỡ vừa mua một tặng một” được tính theo giá niêm yết của món tương ứng.
- Coupon giá cố định: “cà phê Americano đá cỡ vừa 9.9 nhân dân tệ” được tính bằng giá niêm yết trừ 9.9 nhân dân tệ.
Nếu không tìm thấy món tương ứng trong thực đơn, dự án sẽ ghi nhận giá trị coupon là 0 và đánh dấu trong báo cáo. Dự án không tự điền một giá trị ước tính có vẻ hợp lý nhưng không có căn cứ.
Phân tích thói quen chi tiêu dài hạn
Mô-đun kiểm toán có thể tổng hợp số đơn hàng, tổng chi tiêu, giá trị đơn hàng trung bình và các món thường gọi từ lịch sử đơn hàng, đồng thời đưa ra đề xuất mang tính cơ cấu. Ví dụ, nếu người dùng nhiều lần gọi lẻ cùng một loại hamburger, hệ thống có thể gợi ý so sánh với combo tương ứng, vì chuyển sang combo thường có thể giúp giảm chi tiêu mỗi lần. Các đơn hoàn tiền toàn bộ sẽ được lọc để tránh tính vào chi tiêu.
Chuẩn bị
Trước khi sử dụng tính năng MCP trực tuyến, cần chuẩn bị môi trường sau:
- Ứng dụng hỗ trợ trình kết nối tùy chỉnh MCP, chẳng hạn WorkBuddy được minh họa trong README.
- Token được cấp từ nền tảng MCP mở của McDonald's.
- Nếu cần chạy kiểm thử cục bộ, hãy chuẩn bị Python 3.8 trở lên.
Bốn bộ kiểm thử cục bộ không cần MCP Token; nhưng để truy vấn thực đơn thực tế, coupon của tài khoản và lịch sử đơn hàng thì cần Token hợp lệ.
Đăng ký và cấu hình MCP Token
Bước 1: Đăng ký Token
Truy cập nền tảng MCP mở của McDonald's, đăng nhập bằng số điện thoại, kích hoạt và sao chép MCP Token trong bảng điều khiển.
Bước 2: Tạo cấu hình MCP
Kho mã nguồn cung cấp tệp cấu hình đã ẩn thông tin nhạy cảm mcp-config.example.json. Cấu trúc cấu hình như sau:
{
"mcpServers": {
"mcd-mcp": {
"type": "streamablehttp",
"url": "https://mcp.mcd.cn",
"headers": {
"Authorization": "Bearer ${MCD_MCP_TOKEN}"
}
}
}
}
Thay ${MCD_MCP_TOKEN} bằng Token của bạn, sau đó ghi vào cấu hình MCP Client. Không commit Token thật vào kho mã nguồn công khai, đồng thời không để lộ Token trong ảnh chụp màn hình, nhật ký hoặc nội dung phản hồi sự cố.
Bước 3: Kích hoạt trong WorkBuddy
- Mở WorkBuddy, vào “Chuyên gia, kỹ năng, trình kết nối” ở bên trái và chọn tab “Trình kết nối”.
- Nhấp “Trình kết nối tùy chỉnh”, sau đó chọn “Cấu hình MCP”.
- Dán cấu hình JSON đã thay Token và lưu lại.
- Quay lại danh sách trình kết nối tùy chỉnh, đặt
mcd-mcpthành trạng thái bật.
Cách sử dụng cơ bản
Ví dụ 1: Tìm tổ hợp theo ngân sách
Trước tiên chọn cửa hàng, sau đó nêu rõ ngân sách, loại món cần gọi và số lượng phương án muốn so sánh. Có thể gửi trực tiếp:
Tôi muốn đặt giao đồ ăn McDonald's, sau khi chọn cửa hàng hãy giúp tôi tính:
Tôi có coupon, muốn ăn một hamburger + một phần khoai tây + một đồ uống, ngân sách 40 nhân dân tệ,
gọi thế nào để tiết kiệm nhất? Hãy so sánh hai phương án.
Trợ lý sẽ đọc thực đơn hiện tại và coupon khả dụng của cửa hàng, tạo các tổ hợp ứng viên rồi định giá thực tế bằng MCP. Một kết quả điển hình có thể là đề xuất combo ba món McSpicy Chicken Burger giá 33.5 nhân dân tệ và so sánh với phương án gọi lẻ hamburger cùng khoai tây giá 37 nhân dân tệ.
Ví dụ 2: Giới hạn món chính và món ăn kèm
Ngân sách 35 nhân dân tệ, tôi muốn một món chính từ gà và một món ăn kèm.
Hãy truy vấn các món đang bán tại cửa hàng hiện tại, đưa ra phương án đề xuất, thay thế và không nên chọn,
và giải thích vì sao mỗi phương án tiết kiệm hơn hoặc đắt hơn.
Kiểu yêu cầu này giúp trợ lý đồng thời cân nhắc ngân sách, nhu cầu no bụng và nhóm món ăn, tránh chỉ đề xuất lựa chọn có giá tuyệt đối thấp nhất nhưng không đáp ứng nhu cầu.
Ví dụ 3: Đánh giá có nên mua thêm hay không
Tôi có một coupon “đơn từ 50 giảm 12”.
Hãy so sánh số tiền thực trả cuối cùng giữa mua trực tiếp, mua thêm để dùng coupon và chuyển sang combo theo nhu cầu hiện tại,
nếu mua thêm lại đắt hơn, hãy nhắc rõ cho tôi.
Khi so sánh, cần tập trung vào số tiền thực trả cuối cùng, thay vì số tiền giảm trên coupon. Dự án sẽ đưa chi phí món mua thêm vào phép tính và chỉ ra liệu combo có lợi hơn phương án mua thêm hay không.
Ví dụ 4: Kiểm toán chi tiêu gần đây
Hãy phân tích các đơn hàng McDonald's của tôi trong vài tháng gần đây:
Thống kê số đơn, tổng chi tiêu và giá trị đơn hàng trung bình, tìm các món thường gọi;
đồng thời liệt kê các coupon sắp hết hạn, giá trị ước tính và số ngày còn lại,
cuối cùng cho tôi biết việc gì nên được xử lý trước trong tháng này.
Yêu cầu này sẽ kích hoạt chuỗi kiểm toán dài hạn. Kết quả tập trung vào tổng giá trị coupon sắp hết hạn, thói quen chi tiêu và các đề xuất mang tính cơ cấu có thể thực hiện, thay vì chỉ tìm giá thấp nhất cho một đơn hàng.
Chạy kiểm thử cục bộ
Sau khi lấy mã nguồn dự án, hãy chạy các kiểm thử sau trong thư mục gốc của kho bằng Python 3.8 trở lên:
python src/test_saver.py
python src/test_auditor.py
python src/test_adapter.py
python src/test_order_adapter.py
test_saver.py: Kiểm tra việc liệt kê, sắp xếp phương án và nhận diện bẫy mua thêm.test_auditor.py: Kiểm tra chi phí cơ hội, thói quen chi tiêu và các mốc ngày.test_adapter.py: Kiểm tra chuyển đổi đơn vị và phân tích phản hồi MCP.test_order_adapter.py: Kiểm tra phân tích đơn hàng, coupon, lọc hoàn tiền và suy tính giá trị coupon.
Cả bốn bộ kiểm thử đều chạy hoàn toàn cục bộ và không cần cấu hình MCP Token. README không liệt kê lệnh cài đặt gói phần mềm bổ sung, vì vậy hãy ưu tiên mã nguồn thực tế và tài liệu tích hợp trong kho.
Tìm hiểu kiến trúc dự án
Dự án tách biệt phản hồi MCP nguyên bản và thuật toán nghiệp vụ thông qua lớp adapter, gồm các mô-đun chính:
src/saver.py: Phụ trách chuỗi tiết kiệm cho từng đơn, liệt kê các tổ hợp ứng viên và so sánh số tiền thực trả.src/auditor.py: Phụ trách kiểm toán dài hạn, tính chi phí cơ hội của coupon và tạo hồ sơ chi tiêu.src/mcd_adapter.py: Phụ trách ánh xạ trường dữ liệu, lọc hoàn tiền, đối chiếu giá trị coupon và lần chuyển đổi duy nhất từ “phân” sang “nhân dân tệ”.MCP_INTEGRATION.md: Ghi lại MCP Server, công cụ, quy trình gọi và giao ước gọi đã kiểm chứng thực tế.SKILL.md: Mô tả định nghĩa Skill và quy trình tổng thể.
Lớp thuật toán không tiếp xúc trực tiếp với phản hồi MCP nguyên bản, giúp tránh khác biệt về trường dữ liệu và nhầm lẫn đơn vị tiền tệ. Đặc biệt cần lưu ý các giao diện khác nhau có thể không thống nhất về hướng quy đổi giữa “phân” và “nhân dân tệ”; nên xử lý thống nhất thông qua lớp adapter.
Mẹo sử dụng nâng cao
Xác định “ăn gì” trước rồi mới so sánh giá
Giá thấp nhất chưa chắc là phương án phù hợp. Trong yêu cầu, nên ghi rõ món chính, món ăn kèm, đồ uống, số người, ngân sách và nhu cầu tối thiểu để hệ thống so sánh các phương án đáp ứng cùng một nhu cầu.
Yêu cầu giải thích nguồn tiết kiệm
Có thể yêu cầu hiển thị “đã dùng coupon nào, đổi sang combo nào, thêm món gì để đạt ngưỡng và tiết kiệm bao nhiêu so với phương án cơ sở”. Như vậy, bạn không chỉ nhận được kết luận mà còn có thể đánh giá đề xuất có phù hợp với nhu cầu thực tế hay không.
Phân biệt giá trị coupon và lợi ích thực tế
Một coupon trên lý thuyết trị giá 12 nhân dân tệ không có nghĩa đơn hàng hiện tại chắc chắn tiết kiệm được 12 nhân dân tệ. Ngưỡng áp dụng, cửa hàng áp dụng, món được dùng và chi phí mua thêm đều có thể thay đổi lợi ích thực tế. Cần xem đồng thời giá trị coupon và số tiền thực trả cuối cùng.
Ưu tiên coupon sắp hết hạn và có giá trị rõ ràng
Khi kiểm toán dài hạn, có thể sắp xếp theo số ngày còn lại và giá trị có thể xác nhận. Các coupon không thể đối chiếu giá gốc trong thực đơn nên tiếp tục được đánh dấu là chưa biết hoặc 0; không nên đoán số tiền chỉ để hoàn thiện báo cáo.
Luôn sử dụng dữ liệu của cửa hàng hiện tại
Không nên dùng lại giá từ cửa hàng khác hoặc đơn hàng cũ. Thực đơn, tình trạng cung ứng và phạm vi áp dụng coupon có thể thay đổi; mọi quyết định nên dựa trên kết quả chính thức theo thời gian thực của cửa hàng hiện tại.
Bảo vệ thông tin xác thực tài khoản
Nên luôn lưu Token bằng biến môi trường hoặc cấu hình bảo mật của ứng dụng. Khi chia sẻ cấu hình công khai, chỉ giữ lại các biến giữ chỗ như ${MCD_MCP_TOKEN}.
Giới hạn thiết kế và lưu ý
- Mọi mức giá phải dựa trên phản hồi thực tế của MCP
calculate-price. - Giá trị coupon không thể xác nhận từ thực đơn được xử lý là 0 và đánh dấu, không suy đoán.
- Đơn hàng hoàn tiền không được tính vào chi tiêu.
- Dự án không khuyến khích mua thêm những món không cần thiết chỉ để sử dụng coupon.
- Món ăn, giá cả, tình trạng cung ứng và phạm vi áp dụng coupon phải dựa trên kết quả theo thời gian thực từ kênh chính thức của McDonald's.
- Dự án là sản phẩm dự thi do cá nhân phát triển, không phải sản phẩm chính thức của McDonald's.
- Kết quả chỉ nhằm tham khảo khi quyết định tiêu dùng, không cấu thành tư vấn y tế, dinh dưỡng hoặc chuyên môn khác.
Tổng kết
Trợ lý tiết kiệm Mai Mai kết hợp tối ưu gọi món theo thời gian thực với kiểm toán chi tiêu dài hạn: trong ngắn hạn, công cụ dùng định giá thực tế để chọn tổ hợp combo, món lẻ và coupon; trong dài hạn, công cụ phát hiện những tổn thất tiềm ẩn như giá trị đơn hàng trung bình cao, thường xuyên gọi lẻ và coupon hết hạn thông qua đơn hàng cùng kho coupon.
Sau khi hoàn tất cấu hình MCP Token, bạn có thể bắt đầu bằng một yêu cầu gọi món có ngân sách và nhu cầu cụ thể, rồi dần thử so sánh phương án mua thêm và kiểm toán chi tiêu hằng tháng. Với nhà phát triển, cách phân lớp của saver.py, auditor.py và mcd_adapter.py cũng cung cấp một tham khảo rõ ràng về điều phối MCP theo hai chuỗi xử lý.
