{"data":{"name":"app.lenius/takeaway","title":"Lenius","description":"Order from local Danish shops: products, pickup times, card payment and AltID age verification.","version":"1.1.0","websiteUrl":"https://www.lenius.dk","repositoryUrl":null,"remotes":[{"url":"https://mcp.lenius.app/mcp","type":"streamable-http"}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-17T20:56:28.514Z","updatedAt":"2026-10-17T20:56:28.514Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"stars":null,"title":"Lenius","source":"official-registry","sourceId":"app.lenius/takeaway","updatedAt":"2026-10-17T20:56:28.514Z","confidence":100,"websiteUrl":"https://www.lenius.dk","description":"Order from local Danish shops: products, pickup times, card payment and AltID age verification.","verification":"official","repositoryUrl":null}],"toolIndex":{"tools":[{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"available_times","title":"Available times","description":"Available pickup or delivery times for a shop on a date (default: the first date with times), the next dates with times, preparation time and upcoming closed days.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"fulfillment":{"type":"string","enum":["pickup","delivery"],"description":"pickup or delivery"},"date":{"description":"YYYY-MM-DD","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["fulfillment"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Available times","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"e706968a0c311d327b87662686bd6f3dfaedd6a0913de1da2215dc1358636c12","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"check_delivery","title":"Check delivery","description":"Whether the shop delivers to an address, the delivery fee for that address (same zones and calculation as the checkout), free delivery threshold, minimum order, other fees and the next delivery time. Saves nothing.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"address":{"type":"object","properties":{"street":{"type":"string","minLength":2,"maxLength":120,"description":"Street and number"},"postal_code":{"type":"string","minLength":3,"maxLength":10},"city":{"type":"string","minLength":2,"maxLength":60}},"required":["street","postal_code","city"]}},"required":["address"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Check delivery","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"4d1ff87f80c12fadf7494b212900f16acbbae3eb104ab4a4dc3a5261ffa130c7","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"check_stock","title":"Check availability","description":"Whether products can be ordered now (available or sold out). Shops do not track quantities, so quantity is always null; quote_order checks again when ordering.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"product_ids":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":100,"description":"product_id from search_products or get_menu"}}},"required":["product_ids"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Check availability","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"50a072c15fc8c0a4c4097fcd9d0ca6ba9ec62a00159722184b809439e8dcb05e","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"compare_products","title":"Compare products","description":"Compare 2–5 specific products side by side: price (and sizes, price per kg), description, options and required choices, age limit, preparation time and availability, with a short summary (cheapest, most expensive, which have sizes or required choices). Get product_id from search_products or get_menu.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"product_ids":{"minItems":2,"maxItems":5,"type":"array","items":{"type":"string","minLength":1,"maxLength":100,"description":"product_id from search_products or get_menu"}}},"required":["product_ids"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Compare products","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"732500acee107dd684b06d129329fb10ed39b36bf315f595b2f505230e443e7a","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"find_shops","title":"Find shops","description":"Find Lenius takeaway restaurants and shops in a Danish city or postal code. Optional: what the customer wants (query, e.g. \"pizza\"), pickup or delivery, and a date/time to check availability (returns the nearest available times).","inputSchema":{"type":"object","properties":{"city":{"description":"City, e.g. \"Frederikshavn\"","type":"string","minLength":2,"maxLength":60},"postal_code":{"description":"Danish postal code, e.g. \"9900\"","type":"string","minLength":3,"maxLength":10},"query":{"description":"What to eat or buy, e.g. \"pizza\" or \"sushi\", or the shop's name","type":"string","minLength":2,"maxLength":80},"fulfillment":{"description":"pickup or delivery","type":"string","enum":["pickup","delivery"]},"date":{"description":"YYYY-MM-DD, default today (Danish time)","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"time":{"description":"HH:MM, e.g. \"19:00\"","type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"}},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Find shops","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"2c728b60856ef775ebf36809f91f1202533c5c67f4e4533943a58e739df368e9","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_age_check","title":"Age check status","description":"Status of an age check: pending, approved (pass age_check_id to place_order), failed, expired or revoked. wait_seconds (max 25) waits while pending. While pending, the card shows the AltID QR code again.","inputSchema":{"type":"object","properties":{"age_check_id":{"type":"string","minLength":1,"maxLength":64},"wait_seconds":{"description":"Wait up to this many seconds while pending","type":"integer","minimum":0,"maximum":25}},"required":["age_check_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Age check status","readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"201da521f245098fde7842c5cf737b96632eedbe65f83ba4a20948d99a3ece61","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_checkout_requirements","title":"Checkout requirements","description":"What is needed before ordering at the shop: customer details (name, e-mail, phone) and their rules, address for delivery, time, accepted terms (terms_url), card payment, comment, age check for age-limited products, minimum order and fees per fulfillment, and whether the customer can log in instead of typing details.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"fulfillment":{"type":"string","enum":["pickup","delivery"]},"product_ids":{"description":"The products in the cart (for the age limit)","maxItems":50,"type":"array","items":{"type":"string","minLength":1,"maxLength":100}}},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Checkout requirements","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"d4d77a7c0e92952ba47fe966ffa73a634576a84fa110ce478ff0e653ce6d77d7","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_delivery_eta","title":"Expected time","description":"When the order is expected ready for pickup or delivered: the chosen time plus the shop’s delay, with minutes left. An estimate from the shop’s time, not GPS.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"order_id":{"type":"string","minLength":1,"maxLength":100,"description":"order_id from place_order or my_orders"}},"required":["order_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Expected time","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"95f28e774f6233cd06e1ee1da66b5491b1919ab8cd4f0ea694527dae7614e33f","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_delivery_status","title":"Delivery status","description":"The current status of an order as a timeline: ordered, paid, accepted, being prepared, ready / out for delivery, delivered or picked up (with times), and any delay. Status from the shop, not live courier tracking.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"order_id":{"type":"string","minLength":1,"maxLength":100,"description":"order_id from place_order or my_orders"}},"required":["order_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Delivery status","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"b2ccf94b2186212da03be0e58939a986a6a5b1bc33591a8b5402420d4a771dcc","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_menu","title":"Get menu","description":"The menu of a shop from find_shops: categories and products with prices in DKK (incl. VAT) and whether they are available. A product with a unit is priced per unit (pcs, portion, pack, kg, g, l, cl, ml, m = metre). Also weight in grams, preparation time in minutes (orders for it need at least that much notice) and the main image when set. Optional query to only get matching products.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"query":{"description":"Only products matching this, e.g. \"pizza\"","type":"string","minLength":2,"maxLength":80}},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Get menu","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"d870350ca2848ac88015531c3915e11c22d900e88de7b1c2dd1aa5c5cf9e721f","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_opening_hours","title":"Opening hours","description":"The shop's opening hours: the week, special days (holidays, closed days, changed hours), whether it is open now, and the times orders can be placed for per day with closed periods for orders. Use available_times for the exact times on a date.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100}},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Opening hours","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"0d20b86ea23b04398e1f9abbb01dbb1f5758abd5a1c2eef61390f256ef0d9a62","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_order","title":"Get order","description":"An order and its current status: awaiting_payment, awaiting_shop_approval, approved, in_kitchen, ready, out_for_delivery, completed, cancelled or rejected (and any delay), items, total, order_url and the seller. Same as order_status.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"order_id":{"type":"string","minLength":1,"maxLength":100,"description":"order_id from place_order or my_orders"}},"required":["order_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Get order","readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"414dc75e7d0692f1f74d373ff6dad0b6266bb8bbc3b842ed92a519e1da1c7c80","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_payment_link","title":"Payment link","description":"The link to pay an order: the shop's order page with \"Betal nu\" (order_url) and a QR code, while the order can still be paid. If the payment could not be created before, it is started again. For a paid, cancelled or expired order it says so instead. Never a direct link to the payment provider.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"order_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"order_id from place_order"}},"required":["order_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Payment link","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"definitionHash":"70b5d3122762913735f74b5d33dfaa6fc3a2a7b655666f8b750c8fd757ec9540","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_payment_status","title":"Payment status","description":"The actual payment status of an order, looked up at the payment provider now (not only the stored status): not paid, paid (reserved), charged, released, refunded or failed, with the amount. If the customer has paid, the order is updated as on the order page.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"order_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"order_id from place_order"}},"required":["order_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Payment status","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"definitionHash":"afb18d1d9c69dd84d88d6c5019cd32e31e4f66f43e8dd1d00cb141bc27882c28","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_product","title":"Product details","description":"One product: full description, price in DKK incl. VAT, all images, variants (sizes with their own price), weight, preparation time, age limit and availability.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"product_id":{"type":"string","minLength":1,"maxLength":100,"description":"product_id from search_products or get_menu"}},"required":["product_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Product details","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"20cc3030671ca30d32b5a919157bd6a090be933463a6df1e1acb1d558ef2e6bb","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_product_options","title":"Product options","description":"The options of a product: sizes, extras, ingredients to choose, free text and which are required, with option_id/choice_id and prices in the format quote_order and place_order take.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"product_id":{"type":"string","minLength":1,"maxLength":100,"description":"product_id from search_products or get_menu"}},"required":["product_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Product options","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"7e8dcf8bfd639a40b2995ca550f129d067ccf3eaffb3d1f649f393ba5c006081","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_shop_info","title":"Shop info","description":"The shop's name, company name, address, phone, e-mail, CVR (Danish company number), website, social links, logo and whether it offers pickup and delivery.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100}},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Shop info","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"56eb1d7f2ff96067b6025f744dce3ee4d0b6d3d028b4b94352656ed8622b2350","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_shop_policies","title":"Shop policies","description":"The shop's terms: terms of sale and its other pages (privacy, delivery, returns, complaints) with links, right of withdrawal, payment, cancellation rules, fees and minimum order, and the seller's company details.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100}},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Shop policies","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"f90e85bbed3b40d4b6df280b8b06ccd0e88b0df3ea1cfcd69daa69a45dc5746a","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"get_support_contact","title":"Support contact","description":"The right contact for a question: the shop (order, items, allergens, time, delivery, refunds, returns, complaints) with phone, e-mail and whether it is open now, or Lenius support (payment pages, login, the AI connection, technical problems, personal data).","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"topic":{"description":"What the question is about","type":"string","enum":["order","items","time","delivery","refund","complaint","return","allergens","payment","account","login","technical","privacy","other"]},"order_id":{"type":"string","minLength":1,"maxLength":100}},"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Support contact","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"25113b643c20832058c3597b9325ded9789bc25716b36e940327415ac9cbcce3","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"order_status","title":"Order status","description":"Status of an order from place_order: awaiting_payment, awaiting_shop_approval, approved, in_kitchen, ready, out_for_delivery, completed, cancelled or rejected (and any delay).","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"order_id":{"type":"string","minLength":1,"maxLength":100,"description":"order_id from place_order"}},"required":["order_id"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Order status","readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"1fafa5aa5ef85bc7881b648f3c4b0f25d3b07bb34b2f007367de991752f86dc9","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"place_order","title":"Place order","description":"Place the order with the shop (like the checkout). Only after the customer confirmed the quoted order and accepted the terms (terms_url). Paid by card in advance on the shop's order page: returns the order number and order_url (with \"Betal nu\"; the shop gets the order when paid). The customer gets a confirmation e-mail when paid. With products with an age limit and no approved age_check_id, nothing is ordered: returns status age_check_required with the AltID card; call again with age_check_id when the age is confirmed.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"fulfillment":{"type":"string","enum":["pickup","delivery"]},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD (from available_times)"},"time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":"HH:MM (from available_times)"},"items":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string","minLength":1,"maxLength":100,"description":"Product id from get_menu"},"quantity":{"type":"integer","minimum":1,"maximum":99},"options":{"description":"Answers to the product's options from get_menu (option_id + choice_id, option_id + text, or option_id + choices for choose_many). Required options must be answered; ask the customer, never pick for them.","maxItems":20,"type":"array","items":{"anyOf":[{"type":"object","properties":{"option_id":{"type":"string","minLength":1,"maxLength":32},"choice_id":{"type":"string","minLength":1,"maxLength":32,"description":"choice_id from get_menu"}},"required":["option_id","choice_id"],"additionalProperties":false},{"type":"object","properties":{"option_id":{"type":"string","minLength":1,"maxLength":32},"text":{"type":"string","maxLength":500,"description":"The customer's own words, e.g. \"uden løg\""}},"required":["option_id","text"],"additionalProperties":false},{"type":"object","properties":{"option_id":{"type":"string","minLength":1,"maxLength":32},"choices":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"choice_id":{"type":"string","minLength":1,"maxLength":32},"quantity":{"type":"integer","minimum":1,"maximum":100,"description":"1 unless the option has quantities"}},"required":["choice_id","quantity"],"additionalProperties":false},"description":"choose_many: the chosen choices; the total must be between min_total and max_total"}},"required":["option_id","choices"],"additionalProperties":false}]}}},"required":["product_id","quantity"]}},"address":{"description":"Required for delivery","type":"object","properties":{"street":{"type":"string","minLength":2,"maxLength":120,"description":"Street and number"},"postal_code":{"type":"string","minLength":3,"maxLength":10},"city":{"type":"string","minLength":2,"maxLength":60}},"required":["street","postal_code","city"]},"other_stops":{"description":"The other orders you are placing for the customer in this conversation (other shops, same day): used only to warn when they are too far apart in time (trip_warnings). Nothing is looked up about the customer.","maxItems":10,"type":"array","items":{"type":"object","properties":{"shop":{"type":"string","minLength":1,"maxLength":100,"description":"The \"shop\" value from find_shops"},"fulfillment":{"type":"string","enum":["pickup","delivery"]},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"},"address":{"description":"Required for delivery","type":"object","properties":{"street":{"type":"string","minLength":2,"maxLength":120,"description":"Street and number"},"postal_code":{"type":"string","minLength":3,"maxLength":10},"city":{"type":"string","minLength":2,"maxLength":60}},"required":["street","postal_code","city"]}},"required":["shop","fulfillment","date","time"]}},"customer":{"description":"Required unless the customer is logged in on this shop (then taken from the account; my_profile shows it)","type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":100},"email":{"type":"string","maxLength":200,"format":"email","pattern":"^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"},"phone":{"type":"string","minLength":8,"maxLength":20,"description":"Danish phone number, e.g. \"12 34 56 78\""}},"required":["name","email","phone"]},"comment":{"description":"A note for the shop, e.g. \"no onions\"","type":"string","maxLength":500},"accepted_terms":{"type":"boolean","description":"true when the customer has accepted the shop's terms (terms_url)"},"age_check_id":{"description":"Products with an age limit: the approved age check (from start_age_check or the age_check_required card); one age check can be reused for 30 minutes across shops","type":"string","minLength":1,"maxLength":64}},"required":["fulfillment","date","time","items","accepted_terms"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Place order","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true},"definitionHash":"ddcd122d6dee8ee6715d01cbb94c04d1421a8877b0d7dad9d668b9d715a4b1ba","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"quote_order","title":"Quote order","description":"Price an order exactly like the shop checkout (lines, fees, discounts, total in DKK incl. VAT), check that the time, products, minimum order and delivery address are OK, and tell how it is paid. Nothing is saved. Shows a card with the products (with their images), fees and total so the customer can see what they are ordering; show the result to the customer before place_order.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"fulfillment":{"type":"string","enum":["pickup","delivery"]},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD (from available_times)"},"time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$","description":"HH:MM (from available_times)"},"items":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string","minLength":1,"maxLength":100,"description":"Product id from get_menu"},"quantity":{"type":"integer","minimum":1,"maximum":99},"options":{"description":"Answers to the product's options from get_menu (option_id + choice_id, option_id + text, or option_id + choices for choose_many). Required options must be answered; ask the customer, never pick for them.","maxItems":20,"type":"array","items":{"anyOf":[{"type":"object","properties":{"option_id":{"type":"string","minLength":1,"maxLength":32},"choice_id":{"type":"string","minLength":1,"maxLength":32,"description":"choice_id from get_menu"}},"required":["option_id","choice_id"],"additionalProperties":false},{"type":"object","properties":{"option_id":{"type":"string","minLength":1,"maxLength":32},"text":{"type":"string","maxLength":500,"description":"The customer's own words, e.g. \"uden løg\""}},"required":["option_id","text"],"additionalProperties":false},{"type":"object","properties":{"option_id":{"type":"string","minLength":1,"maxLength":32},"choices":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"choice_id":{"type":"string","minLength":1,"maxLength":32},"quantity":{"type":"integer","minimum":1,"maximum":100,"description":"1 unless the option has quantities"}},"required":["choice_id","quantity"],"additionalProperties":false},"description":"choose_many: the chosen choices; the total must be between min_total and max_total"}},"required":["option_id","choices"],"additionalProperties":false}]}}},"required":["product_id","quantity"]}},"address":{"description":"Required for delivery","type":"object","properties":{"street":{"type":"string","minLength":2,"maxLength":120,"description":"Street and number"},"postal_code":{"type":"string","minLength":3,"maxLength":10},"city":{"type":"string","minLength":2,"maxLength":60}},"required":["street","postal_code","city"]},"other_stops":{"description":"The other orders you are placing for the customer in this conversation (other shops, same day): used only to warn when they are too far apart in time (trip_warnings). Nothing is looked up about the customer.","maxItems":10,"type":"array","items":{"type":"object","properties":{"shop":{"type":"string","minLength":1,"maxLength":100,"description":"The \"shop\" value from find_shops"},"fulfillment":{"type":"string","enum":["pickup","delivery"]},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"time":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"},"address":{"description":"Required for delivery","type":"object","properties":{"street":{"type":"string","minLength":2,"maxLength":120,"description":"Street and number"},"postal_code":{"type":"string","minLength":3,"maxLength":10},"city":{"type":"string","minLength":2,"maxLength":60}},"required":["street","postal_code","city"]}},"required":["shop","fulfillment","date","time"]}}},"required":["fulfillment","date","time","items"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Quote order","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"4a47fc6181092279c6c0a8f8fdd1626d1a3e27158cb57486edbc1a4b3277f9cc","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"search_products","title":"Search products","description":"Search the shop's products by name, description or category (e.g. \"pizza\", \"vegetar\", \"cola\"). Returns product_id, price in DKK incl. VAT, availability, image and whether the product has options.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"query":{"type":"string","minLength":2,"maxLength":80,"description":"What to look for"},"limit":{"description":"Max products (default 20)","type":"integer","minimum":1,"maximum":50}},"required":["query"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Search products","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"8889b09f58240e4f3e84d4352ee5704b457f160a4ef3b454c4ec9ed97804f21c","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"start_age_check","title":"Confirm age with AltID","description":"Only when the customer orders products with an age limit from several shops: start one age check with AltID with the highest age limit across all the orders (min_age from get_menu/quote_order) and reuse the age_check_id in every place_order (valid 30 minutes after approval, at any shop). With an order from one shop, call place_order instead: it shows the AltID card itself. Shows the AltID card (QR code / \"Åbn AltID app\") that updates by itself. Never make your own QR code.","inputSchema":{"type":"object","properties":{"min_age":{"type":"integer","minimum":1,"maximum":120,"description":"The age to confirm, e.g. 18"}},"required":["min_age"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Confirm age with AltID","readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true},"definitionHash":"34236f22d9b34aadeeeff71613e85464647f2067a0fb131c4ee14f9175c23a3b","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"},{"serverName":"app.lenius/takeaway","endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","name":"validate_cart","title":"Validate cart","description":"Check a cart before quoting: every item is checked against the shop catalogue (exists, available, current price, required and valid options) and all problems are returned at once, with the price per item. With fulfillment, date and time (and address for delivery) the time, address and minimum order are checked too. Saves nothing.","inputSchema":{"type":"object","properties":{"shop":{"description":"The \"shop\" value from find_shops (not needed on a shop's own address <shop>.lenius.app/mcp)","type":"string","minLength":1,"maxLength":100},"items":{"minItems":1,"maxItems":50,"type":"array","items":{"type":"object","properties":{"product_id":{"type":"string","minLength":1,"maxLength":100,"description":"Product id from get_menu"},"quantity":{"type":"integer","minimum":1,"maximum":99},"options":{"description":"Answers to the product's options from get_menu (option_id + choice_id, option_id + text, or option_id + choices for choose_many). Required options must be answered; ask the customer, never pick for them.","maxItems":20,"type":"array","items":{"anyOf":[{"type":"object","properties":{"option_id":{"type":"string","minLength":1,"maxLength":32},"choice_id":{"type":"string","minLength":1,"maxLength":32,"description":"choice_id from get_menu"}},"required":["option_id","choice_id"],"additionalProperties":false},{"type":"object","properties":{"option_id":{"type":"string","minLength":1,"maxLength":32},"text":{"type":"string","maxLength":500,"description":"The customer's own words, e.g. \"uden løg\""}},"required":["option_id","text"],"additionalProperties":false},{"type":"object","properties":{"option_id":{"type":"string","minLength":1,"maxLength":32},"choices":{"maxItems":100,"type":"array","items":{"type":"object","properties":{"choice_id":{"type":"string","minLength":1,"maxLength":32},"quantity":{"type":"integer","minimum":1,"maximum":100,"description":"1 unless the option has quantities"}},"required":["choice_id","quantity"],"additionalProperties":false},"description":"choose_many: the chosen choices; the total must be between min_total and max_total"}},"required":["option_id","choices"],"additionalProperties":false}]}}},"required":["product_id","quantity"]}},"fulfillment":{"type":"string","enum":["pickup","delivery"]},"date":{"description":"YYYY-MM-DD (from available_times)","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"time":{"description":"HH:MM (from available_times)","type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"},"address":{"description":"For delivery","type":"object","properties":{"street":{"type":"string","minLength":2,"maxLength":120,"description":"Street and number"},"postal_code":{"type":"string","minLength":3,"maxLength":10},"city":{"type":"string","minLength":2,"maxLength":60}},"required":["street","postal_code","city"]}},"required":["items"],"$schema":"http://json-schema.org/draft-07/schema#"},"annotations":{"title":"Validate cart","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"794b126cb2d434feefed250b822adfef42e2329e851dc6318679acaaddac2db3","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-11-02T11:46:58.843Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"77e0c4088e4c4201b06360d18c1fe50b81e018bb67478678735f6ac9064c4751","protocol":"streamable-http","status":"indexed","toolCount":25,"observedAt":"2026-11-02T11:46:58.843Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"app.lenius/takeaway":{"url":"https://mcp.lenius.app/mcp"}}},"Cursor":{"mcpServers":{"app.lenius/takeaway":{"url":"https://mcp.lenius.app/mcp"}}},"VS Code":{"servers":{"app.lenius/takeaway":{"type":"http","url":"https://mcp.lenius.app/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://mcp.lenius.app/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:app.lenius%2Ftakeaway","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/app.lenius%2Ftakeaway","name":"app.lenius/takeaway","description":"Order from local Danish shops: products, pickup times, card payment and AltID age verification.","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://mcp.lenius.app/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://www.lenius.dk","repositoryUrl":null,"version":"1.1.0"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"app.lenius/takeaway","status":"online","lastCheckedAt":"2026-11-03T19:17:56.651Z","lastSuccessfulCheck":"2026-11-03T19:17:56.651Z","latencyMs":613,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T19:17:56.651Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T19:17:56.651Z"},"security":null,"timestamps":{"createdAt":"2026-10-17T20:56:28.514Z","updatedAt":"2026-10-17T20:56:28.514Z","observedAt":"2026-11-03T19:17:56.651Z"},"compatibility":{"serverVersion":"1.1.0","protocolVersions":[{"protocol":"mcp","version":null}]}}}}