sixty60-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SIXTY60_LATITUDE | No | Latitude used to resolve stores when the account has no usable delivery address. | |
| CHECKERS60_STORES | No | JSON array used to pin exact Sixty60 stores instead of resolving them from the account address or latitude/longitude. | |
| SIXTY60_LONGITUDE | No | Longitude used to resolve stores when the account has no usable delivery address. | |
| SIXTY60_STATE_PATH | No | Path to the local state file (defaults to ~/.config/sixty60-mcp/state.json; local stdio server only). |
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 |
|---|---|
| sixty60_login_startA | Send a one-time PIN by SMS to the Sixty60 account's mobile number. Returns a reference to pass to sixty60_login_verify with the code the user receives. |
| sixty60_login_verifyA | Verify the SMS one-time PIN and save the session (valid about an hour). |
| sixty60_logoutB | Delete the saved Sixty60 session. |
| sixty60_statusA | Show whether we're logged in, when the session expires, and which delivery address and stores are being used. |
| sixty60_searchA | Search the catalogue for the stores serving the current delivery address. Prices are in cents (ZAR). Use the returned product id with sixty60_cart_add to add the exact product. |
| sixty60_productB | Full details and active deals for one product id. |
| sixty60_cartA | Show the account's carts (the same carts the Sixty60 app shows). Prices are in cents. Totals are line-price sums; use sixty60_checkout_preview for delivery fees and the payable total. |
| sixty60_cart_addA | Add a product to the real Sixty60 cart. Pass a product id from sixty60_search for an exact match; a search term adds the top search result. If the product is already in the cart, the quantity is added to it. |
| sixty60_cart_removeA | Remove a product from the cart, or reduce its quantity. Match by product id or by part of the product name. |
| sixty60_cart_clearB | Remove every item from one cart. |
| sixty60_checkout_previewA | Server-calculated totals for the current cart: subtotal, discounts, delivery fees, payable total, delivery slots and payment methods. Read-only — placing the order and paying happens in the Sixty60 app. |
| sixty60_delivery_slotsB | Next available delivery slots for the current address. |
| sixty60_addressesB | Saved delivery addresses on the account. Switch address in the Sixty60 app. |
| sixty60_ordersA | Order list. Active orders by default; set all=true for history. Pass reference to get one order's items and status. |
| sixty60_past_purchasesA | What this account usually buys: completed orders with their items, and the most frequently bought products. Useful for rebuilding a regular shop. |
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 15 tools
Each tool has a clearly distinct purpose: auth lifecycle, status, search/product lookup, cart operations (view/add/remove/clear), checkout preview, delivery slots, orders, addresses, and past purchases. The only mild overlap is between sixty60_orders and sixty60_past_purchases, but descriptions clearly differentiate active/history orders from frequency-based purchase history.
All tools share the sixty60_ prefix and snake_case, with a consistent naming feel. However, some are verb_noun (login_start, cart_add, checkout_preview) while others are bare nouns acting as getters (cart, product, status, orders, addresses), which is a minor deviation from a pure verb_noun pattern but still very readable.
15 tools is well within the ideal range and each earns its place: authentication, catalogue search, product details, cart management, checkout preview, delivery slots, orders, addresses, and purchase history. No redundant or filler tools are present.
The surface covers the full companion-app workflow: auth lifecycle, search and product lookup, cart CRUD (add/remove/clear/view), checkout preview, delivery slots, order history, addresses, and past purchases. Gaps like placing an order, switching address, and editing addresses are explicitly deferred to the Sixty60 app, so they are intentional rather than missing, though the lack of any address or cart-quantity update beyond add/remove is a minor limitation.