picnic-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PICNIC_AUTH_KEY | Yes | Your Picnic auth key, obtained by running `npx picnic-mcp login`. Keep the key secret as it gives access to your Picnic account. | |
| PICNIC_COUNTRY_CODE | No | The Picnic country code. Valid values are NL, DE, or FR. Defaults to NL. | NL |
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 |
|---|---|
| search_productsA | Search the Picnic supermarket for a product and get its id for add_to_cart. Write the query in Dutch, as a short product name. The result has |
| get_cartA | Show the user's Picnic shopping cart: the products with their quantity and price, the total, and the delivery window. A product that can't be delivered in that window has |
| add_to_cartA | Add one or more products to the user's Picnic shopping cart. Get the product ids from search_products first; put all products the user asked for in one call (at most 20). Returns each added product with the quantity now in the cart, the products that failed, and the cart total. A product that can't be delivered in the selected delivery window has |
| remove_from_cartA | Remove a product from the user's Picnic shopping cart. Get the product id from get_cart. Returns the quantity left in the cart and the cart total. |
| set_cart_quantityA | Set how many of a product are in the user's Picnic shopping cart, e.g. when the user says "make it 3". 0 removes the product. Get the product id from get_cart or search_products. Returns the quantity now in the cart and the cart total. |
| get_delivery_slotsA | List the delivery slots the user can choose for the cart. Without a date it lists the first 2 days and the dates of the other days. Pass a date from that list to see its slots. Use select_delivery_slot once the user picked a slot. |
| select_delivery_slotA | Choose when the cart is delivered. Only use a slotId from get_delivery_slots, after the user picked the slot. Returns the selected delivery window and the cart total. This does not place an order. |
| get_productA | Get the details of a Picnic product: ingredients, allergens, nutrition, storage info, promotion and price. Use it for questions such as whether a product contains gluten. Get the product id from search_products or get_cart. |
| get_promotionsA | List what is on promotion at Picnic this week. Without input it lists the sections (e.g. per category) with a few products and promotions each. Pass a section title for all products and promotions in it, or a promotionId for the products of one promotion. Products have ids for add_to_cart. |
| get_favoritesA | List the products the user buys at Picnic, per aisle, e.g. for "what do I usually buy?" or to offer products for "my usual groceries". Without input it lists the aisles with a few products each; pass an aisleId for all of the user's products in that aisle. Products have ids for add_to_cart; add only the ones the user asks for. |
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 10 tools
Each tool has a clearly distinct purpose: search vs product detail, cart retrieval vs cart mutation, and delivery slot listing vs selection. The cart-modifying tools are also well separated by add, remove, and set-quantity semantics.
All tools use consistent snake_case with predictable verb_noun patterns such as get_cart, add_to_cart, and get_delivery_slots. The few noun-first variations still follow the same clear convention.
Ten tools is well scoped for a grocery shopping assistant, covering search, product details, cart management, delivery slots, promotions, and favorites without obvious redundancy.
The surface covers browsing, cart changes, and delivery slot selection, but there is no checkout or place-order tool, leaving the shopping workflow incomplete. The repeated notes that actions do not place an order highlight this missing lifecycle step.