MCP server for operating Meituan (Chinese food delivery app) on Android devices via AutoGLM vision navigation and GLM-4V OCR. Enables browsing shops, viewing menus, adding items to cart, selecting options, and placing orders through phone automation.
This server has severe definition quality gaps. Tool names lack action verbs (takeout, read_history, find, search are vague or generic). Descriptions exist but are inconsistent in quality, some are verbose (takeout: 400+ chars) while others are minimal (read_history: 20 chars). Parameter schemas are present but lack type definitions in several tools (e.g., read_history, view_cart, checkout have empty input objects). Output schemas are completely undocumented. Error handling is absent, no guidance on retryability, user-fixable vs fatal errors, or recovery paths. The server operates on real financial transactions (checkout tool) with no confirmation pattern or dry-run capability, violating the confirmation-request pattern for irreversible operations.
Add a dish to cart. Uses uiautomator text anchors for reliable selection. If the dish has specs/options, opens the options page (then call select_options). If it has a direct add button, adds it immediately.
Check out and place the order. Automatically applies the largest usable 美团红包 coupon, then pays via the user's no-password limit. REAL money transaction. Within the no-password limit it completes automatically; if it exceeds the limit the phone will ask for a password and stop, requiring user confirmation on the phone. Only call when the cart is what the user wants.
Unified entry point: navigate to Meituan takeout and search by category (美食/甜品饮品/超市便利) or keyword. Scrolls 3 pages and returns aggregated results.
Enter a shop and retrieve its full menu by scrolling to the bottom. Collects all dishes across multiple screens.
Read historical takeout orders and frequently ordered shops from Meituan. Single screen view of past orders.
read_history, view_cart, and checkout have empty input schemas ({}). No parameter type definitions visible.
read_history description is 20 characters ('Read historical takeout orders...'). Insufficient context for LLM tool selection.
checkout tool performs REAL financial transactions (money deducted from user account) with no dry-run, confirmation step, or user approval gate. Violates confirmation-request pattern for irreversible operations. Agent could accidentally place orders.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields. Violates tool pattern baseline (100% of A+ tools have documented return types).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Remove a dish from the shopping cart.
Search for shops by keyword in Meituan takeout. Alias for find() with mode=搜索.
On the options page opened by add_item, choose specs and add to cart. Accepts free-text spec choices like '少冰,少糖,大杯' or '套餐选 鱼香肉丝/宫保鸡丁'.
Operate the user's Meituan takeout app on their real phone to browse and order food. Call it repeatedly, ONE action at a time, reading the returned screen text before deciding the next action (page-driven, like a human tapping through the app). Always read 历史 first if you want to reorder a usual. `act` (required) is one of: • 浏览 — find shops. `target` = 美食(meals) | 甜品饮品(drinks) | 超市便利(convenience) | 历史(past orders & frequent shops) | or any keyword to search (a dish/cuisine/shop). Returns ~3 pages of shops. • 进店 — enter a shop. `target` = shop name. Returns its menu (dishes + prices). • 加菜 — pick a dish. `target` = dish name. If it needs specs it opens the options page (then call 选规格); if not it's added directly. (Two steps by nature: you must see the dish's options before choosing them.) • 选规格 — on the options page that 加菜 opened, choose specs and add to cart. `options` = free text like '少冰,少糖,大杯' or '套餐选 鱼香肉丝/宫保鸡丁'. • 删菜 — remove a dish from the cart. `target` = dish name. • 购物车 — view the cart contents and total. • 下单 — check out: auto-applies the largest usable 美团红包 coupon, then pays via the user's no-password limit. REAL money. Within the no-password limit it completes automatically; if it exceeds the limit the phone asks for a password and it will stop and tell you the user must confirm on the phone. Only call when the cart is what the user wants.
View the current shopping cart contents and total price.
No error handling guidance. Tools return success/failure but do not indicate retryability, user-fixable errors, or recovery steps. LLM cannot self-correct on failure.