Skip to main content
Glama
vienneje
by vienneje

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
FOODPANDA_LOCALENoAPI locale, e.g., 'en_HK'
FOODPANDA_COUNTRYNoPreset selector for region: 'hk' or 'ph'hk
FOODPANDA_API_BASENoAPI host, for another country. Defaults to preset (e.g., https://hk.fd-api.com)
FOODPANDA_CURRENCYNoBasket currency, e.g., 'HKD'
FOODPANDA_HEADLESSNoRun the transport/login browser headless (1 or 0)1
FOODPANDA_LATITUDEYesDelivery address latitude (required)
FOODPANDA_WEB_HOSTNoStorefront, login, payment redirects. Defaults to preset (e.g., https://www.foodpanda.hk)
FOODPANDA_LONGITUDEYesDelivery address longitude (required)
FOODPANDA_STATE_DIRNoToken + browser profile location~/.foodpanda-mcp
FOODPANDA_LANGUAGE_IDNoAPI language id, default '1'
FOODPANDA_SESSION_TOKENNoJWT, if you prefer to supply one instead of logging in
FOODPANDA_BROWSER_CHANNELNoChromium build to drive; empty = Playwright default (headless shell)chromium
FOODPANDA_GQL_SEARCH_HASHNoApollo hash used by search_restaurants
FOODPANDA_BROWSER_TRANSPORTNoRoute API calls through the browser context (1 or 0)1
FOODPANDA_BROWSER_EXECUTABLENoAbsolute path to a browser binary to drive instead (system Chrome/Chromium or existing Playwright build)
FOODPANDA_GQL_VENDOR_LIST_HASHNoApollo hash used by list_outlets

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

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_restaurantsA

Search for restaurants on foodpanda Hong Kong near the configured delivery address (prices in HKD). Returns a list of matching restaurants with id (vendor code), name, cuisine, rating, delivery fee, estimated delivery time, and minimum order amount. Chain restaurants (e.g. McDonald's, KFC) include chain_code, chain_name, and total_outlets fields. When total_outlets > 1, use list_outlets with the chain_code to see all branches.

list_outletsA

List all outlet branches for a restaurant chain. Use the chain_code from search_restaurants results (only available when total_outlets > 1). Returns all outlets with their individual vendor codes, names, delivery fees, and distances so the user can pick a specific branch.

get_restaurant_detailsA

Get detailed information about a specific restaurant including address, opening hours, minimum order, and delivery info.

get_menuA

Get the menu for a restaurant, organized by category. Returns a compact list with each item's code, name, price, and sold-out status. Use the item code when adding to cart. Use get_item_details if you need topping/customization options for a specific item.

get_item_detailsA

Get full details for a menu item including all topping groups and customization options. Use this when you need to know what toppings/variations are available before adding to cart.

add_to_cartA

Add one or more items to the cart. If items are from a different restaurant than the current cart, the cart is cleared first. Sends the full cart to foodpanda for price validation and returns updated totals.

get_cartA

View the current in-memory cart contents including items, quantities, prices, delivery fee, service fee, and totals. Returns 'Cart is empty.' if no items have been added.

remove_from_cartA

Remove an item from the cart by its cart item ID (e.g. 'cart-1'). Re-calculates totals with remaining items.

preview_orderA

Preview the current cart as an order. Returns a summary of items, totals, delivery address, and available payment methods. IMPORTANT: After calling this, you MUST show the full summary to the user and ask them to explicitly confirm before calling place_order. Never place an order without user confirmation.

place_orderA

Place the current cart as an order. You MUST call preview_order first and get explicit user confirmation before calling this. Only 'payment_on_delivery' (Cash on Delivery) is supported. Credit card and GCash require browser-based payment flows that cannot be completed via MCP.

refresh_tokenA

Opens a browser window to https://www.foodpanda.hk so the user can log in to their foodpanda Hong Kong account. Intercepts the session token from network requests and updates the server. Call this when: (1) other tools return a 'session token expired' or 'No session token configured' error, or (2) the user wants to switch accounts. The browser window is visible — the user logs in manually (handling any CAPTCHAs or MFA). Once logged in, the token is captured automatically and saved for future sessions. Requires a desktop session; on a headless server set FOODPANDA_HEADLESS=1 and expect to complete the login elsewhere.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 11 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: restaurant discovery, menu browsing, cart management, order preview/placement, and authentication. Even get_menu and get_item_details are well separated by menu-level item data versus full customization details.

Naming Consistency5/5

All tool names follow clear verb_noun snake_case conventions: search_/list_/get_ for lookups, add_to_cart/get_cart/remove_from_cart for cart operations, and preview_order/place_order for checkout. The naming pattern is predictable and consistent across the full set.

Tool Count5/5

11 tools is well-scoped for the food delivery ordering domain. Each tool maps to a necessary step in the workflow from restaurant discovery to placing an order, with no redundant or unnecessary additions.

Completeness4/5

The set covers the core lifecycle: search restaurants, browse menus, manage cart, preview, and place order. Minor gaps like not having an explicit quantity update or clear-cart operation, and lacking order history, keep it slightly below complete, but agents can work around these.

Maintenance

ActivityMaintained
ResponsivenessNo issues