← Add Lenius to Claude or ChatGPT

Lenius MCP server

Lets AI assistants (ChatGPT, Claude, Muse and others) find local Danish shops on Lenius, show their products and prices, and place orders for pickup or delivery that the customer pays for by card on the shop’s own order page. Age-restricted products are confirmed with the Danish AltID.

Setup

Endpoint
https://mcp.lenius.app/mcp
Transport
MCP Streamable HTTP (POST, JSON responses). Stateless: no sessions and no server push; GET returns 405.
Authentication
None. No user accounts or stored credentials. Only shops that have enabled AI assistants are visible.
One shop
Each shop also has its own endpoint, https://<shop>.lenius.app/mcp, with only that shop.
Language
Tools and responses are in English; shop and product names are as the shop wrote them (mostly Danish). Prices are in DKK incl. VAT.

Order flow

  1. find_shops → choose a shop.
  2. get_menu and available_times → products, options and a time.
  3. quote_order → show the lines, total, seller and terms to the customer.
  4. The customer confirms and accepts the terms → place_order.
  5. The customer pays by card on order_url; the shop receives the order when it is paid.
  6. order_status → follow the order.

Products with an age limit: place_order returns age_check_required with the AltID card; call it again with age_check_id once the age is confirmed. For orders from several shops, start_age_check once and reuse the id (valid 30 minutes).

Tools

find_shopsRead

Find shops in a Danish city or postal code.

Input
city or postal_code; optional query (e.g. "pizza"), fulfillment (pickup | delivery), date (YYYY-MM-DD), time (HH:MM).
Output
Shops with shop (id for the other tools), name, address, pickup/delivery, nearest available times and can_order.
Side effects
None.

get_menuRead

The products of a shop.

Input
shop; optional query.
Output
Categories and products with product_id, prices in DKK incl. VAT, availability, options (option_id, choice_id), age limit (min_age) and images.
Side effects
None.

available_timesRead

Pickup or delivery times on a date.

Input
shop, fulfillment; optional date.
Output
Available times, the next dates with times, preparation time and upcoming closed days.
Side effects
None.

quote_orderRead

Price and check an order exactly like the shop checkout.

Input
shop, fulfillment, date, time, items (product_id, quantity, options), address for delivery.
Output
Lines, fees, discounts, total_dkk, currency, payment method, seller, terms_url, recurring_charges, cancellation_policy; shown as a card.
Side effects
None. Nothing is saved.

place_orderSensitive write

Place the order with the shop (a purchase).

Input
Same as quote_order, plus customer (name, email, phone), accepted_terms: true, optional comment and age_check_id.
Output
order_id, order_number, status, order_url (the shop’s order page with “Betal nu”), payment_qr_url, seller, currency, cancellation_policy; or age_check_required with the AltID card.
Side effects
Creates an order awaiting payment. Only call after the customer has confirmed the quote and accepted the shop’s terms. The customer pays by card on the order page; the shop receives the order when it is paid, and the customer gets a confirmation e-mail.

start_age_checkWrite

Start an age check with the Danish AltID (orders from several shops with age-restricted products).

Input
min_age.
Output
age_check_id and the AltID card (QR code / “Åbn AltID app”).
Side effects
Creates an age check at altid.lenius.ai. Returns only whether the person is over the age limit; no identity or date of birth.

get_age_checkRead

Status of an age check.

Input
age_check_id; optional wait_seconds (max 25).
Output
status: pending, approved, failed, expired or revoked.
Side effects
None.

order_statusRead

Status of an order from place_order.

Input
shop, order_id.
Output
status, time, delay, items, total_dkk, order_url, seller (with phone and e-mail for changes or cancellation), cancellation_policy.
Side effects
None.

Order statuses

StatusMeaning
awaiting_paymentPlaced, waiting for the customer to pay on the order page.
awaiting_shop_approvalPaid (card reserved); the shop approves or rejects it.
approvedThe shop accepted the order.
in_kitchenBeing prepared.
readyReady for pickup.
out_for_deliveryOn the way.
completedPicked up or delivered.
cancelledCancelled.
rejectedRejected by the shop; the card reservation is released and nothing is charged.

Purchases, payment and cancellation

Errors

Rate limits

LimitPer
600 MCP calls per minuteIP address
60 find_shops per minuteIP address
3 place_order per minutePhone number

Data and security