rami-levy-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RAMI_LEVY_STORE | No | Store id (default 412) | 412 |
| RAMI_LEVY_COOKIE | No | The full cookie string (optional). Only needed when Cloudflare starts challenging your egress; include at least cf_clearance. | |
| RAMI_LEVY_DB_PATH | No | Where the cart's SQLite file lives (default ./cart.db) | ./cart.db |
| RAMI_LEVY_ECOM_TOKEN | Yes | A separate JWT, sent as the ecomtoken header | |
| RAMI_LEVY_USER_AGENT | Yes | Must match whatever browser the above were captured from | |
| RAMI_LEVY_BEARER_TOKEN | Yes | The Authorization: Bearer token from a logged-in browser session |
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 |
|---|---|
| rami_levy_search_productsA | Search Rami Levy's real catalog. Returns productId, name, price for each hit. Call this before rami_levy_add_item — a productId is never invented. |
| rami_levy_add_itemA | Add a product to the shared cart. productId, name, and price all come from a prior rami_levy_search_products result — never guessed, and never re-fetched (there is no "get one product" endpoint). If this product is already in the cart, qty is ADDED to what's there, not overwritten. Syncs the whole cart to the real Rami Levy account immediately. Returns cartTotal (local estimate) and serverTotal (Rami Levy's own total — authoritative). ok:false with a transport reason means nothing changed. reason items_rejected means the server refused the listed products; they have been removed from the cart too, so tell the user and pick alternatives. |
| rami_levy_view_cartA | Show everything currently in the cart, with the running total and the checkout URL. Reads local state only — no network call. |
| rami_levy_remove_itemA | Remove one product from the cart by productId, then re-syncs the remaining cart to the real account. Returns cartTotal (local estimate) and serverTotal (Rami Levy's own total — authoritative). ok:false with a transport reason means nothing changed. reason items_rejected means the server refused the listed products; they have been removed from the cart too, so tell the user and pick alternatives. |
| rami_levy_clear_cartA | Empty the cart completely, both locally and on the real Rami Levy account. Returns cartTotal (local estimate) and serverTotal (Rami Levy's own total — authoritative). ok:false with a transport reason means nothing changed. reason items_rejected means the server refused the listed products; they have been removed from the cart too, so tell the user and pick alternatives. |
| rami_levy_reorder_from_historyA | Look at the last numOrders (default 10, max 50) real orders, find items that appear in at least minOccurrences (default 3) of them, and add each at its median past quantity. ADDS onto whatever is already in the cart — it does not replace it. Returns cartTotal (local estimate) and serverTotal (Rami Levy's own total — authoritative). ok:false with a transport reason means nothing changed. reason items_rejected means the server refused the listed products; they have been removed from the cart too, so tell the user and pick alternatives. |
| rami_levy_check_statusA | Check whether the Rami Levy connection is working: probes the catalog search and the (session-authenticated) order history, returning the first failure if either fails, else the current cart size. Read-only. |
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 7 tools
Each tool maps to a clear, distinct action: searching, viewing, adding, removing, clearing, reordering, and status checking. Even where add_item and reorder_from_history both add to the cart, their purposes are obviously different (single product vs. bulk from order history). check_status overlaps slightly with view_cart by reporting cart size, but its primary role is connection health, which is separate.
All tool names share the rami_levy_ prefix and follow the same verb_noun snake_case pattern: view_cart, search_products, add_item, remove_item, clear_cart, reorder_from_history, check_status. This makes the tool surface highly predictable and easy for an agent to navigate.
Seven tools is a well-scoped size for this server's purpose: search a catalog, manage a cart, reorder from history, and verify connectivity. Each tool earns its place with no obvious redundancy or bloat.
Core cart lifecycle is covered: search products, view cart, add, remove, clear, reorder, and check status. The main gap is that there is no way to adjust a product's quantity directly (only add-to-existing or remove the whole line), and order history is used internally by reorder_from_history but not exposed for viewing.