kfc-cn-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KFC_LATITUDE | No | Default latitude used for nearby store recommendations and distance calculations when switching stores. | 31.2304 |
| KFC_CITY_CODE | No | Default city national standard code used when cityCode is not provided to find_stores. | 310100 |
| KFC_LONGITUDE | No | Default longitude used for nearby store recommendations and distance calculations when switching stores. | 121.4737 |
| KFC_STATE_DIR | No | Session cookie, sessionId, menu cache, and cart state directory. | ~/.kfc-cn-mcp |
| KFC_HTTP_TIMEOUT_MS | No | Timeout for a single API request in milliseconds. | 20000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| find_storesA | Find KFC China restaurants by 门店关键词 + 城市国标码 (gbCityCode, e.g. 310100 = Shanghai) or by latitude/longitude. Returns storeCode you pass to select_store. 查询肯德基门店,返回 storeCode。 |
| select_storeA | Bind the ordering session to one KFC China store by storeCode and load its live menu. 选定门店并加载菜单;之后所有购物车/下单都针对该门店。 |
| get_menuA | List the selected store menu: categories with item counts, or all items of one category. 查看菜单分类或某个分类下的餐品(linkId/价格/是否需要选规格)。 |
| search_menuB | Fuzzy-search dishes in the selected store menu by Chinese name/description. 按中文名/描述搜索餐品,返回 linkId、价格、是否需要选规格。 |
| get_itemB | Get dish detail plus combo rounds (套餐可选内容) and option groups. 查商品详情;套餐会返回 comboRounds(roundId、可选商品、最少/最多份数)。 |
| cart_addA | Add dishes to the cart (套餐可传 selections;不传则按套餐最少份数自动选择). 加购;数量累加,套餐会自动选默认规格。 |
| cart_set_quantityA | Set the quantity of one cart line (0 removes it). 修改购物车某一行的数量,0 表示删除;lineKey 来自 cart_view。 |
| cart_removeA | Remove one line from the cart by lineKey or linkId. 删除购物车中的一行。 |
| cart_clearB | Remove every dish from the cart. 清空购物车。 |
| cart_viewB | Show cart lines, quantities and total. 查看购物车。 |
| preview_orderA | Server-side price/stock validation before ordering (locks the current price) and returns a previewToken for place_order. 结算预校验,返回金额、门店、是否需登录和 previewToken(10 分钟内有效)。 |
| place_orderA | Submit the previewed order to KFC China. Requires confirm=true, the previewToken from preview_order and the diner phone. Creates a real unpaid order; payment must be completed by the diner in the KFC app/H5. 真实下单(会生成未支付订单),必须显式 confirm=true。 |
| order_statusB | Check an order status by orderId (experimental; KFC may require the logged-in account). 查询订单状态,实验性接口。 |
| session_statusA | Show current store, cart, preview and session age for troubleshooting. 查看当前会话/门店/购物车状态。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct step or resource in the ordering flow: store discovery (find_stores), session binding (select_store), menu browsing (get_menu/search_menu/get_item), cart mutation (add/set_quantity/remove/clear/view), and checkout (preview_order/place_order). The menu trio is related but clearly differentiated as list vs. fuzzy search vs. detail lookup, and the cart verb set is unambiguous.
Two conventions coexist: verb_noun tools (find_stores, select_store, get_menu, search_menu, get_item, preview_order, place_order) and noun_verb/noun_noun tools (order_status, session_status, cart_add, cart_set_quantity, cart_remove, cart_clear, cart_view). The cart_ prefix group is internally readable, but the mixed verb/noun ordering across the set prevents a higher score.
14 tools is well within the healthy range and every tool maps to a necessary stage of a food-ordering lifecycle. The five cart tools (add, set_quantity, remove, clear, view) each earn their place rather than being redundant wrappers.
The surface covers the full flow from store lookup through real order submission plus order status and session troubleshooting. Minor gaps exist: no order history/list, no order cancellation, and payment is intentionally delegated to the KFC app, which agents must work around.