Create digital QR menus for restaurants, bars and hotels from a menu photo, PDF or text.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Return factual information about PRENOTO Menu: what it does, price, supported languages and features. Use when the user asks what PRENOTO Menu is or how it works. Read-only.
This tool takes no arguments.
Return factual information about PRENOTO Menu: what it does, price, supported languages and features. Use when the user asks what PRENOTO Menu is or how it works. Read-only.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Use when the user asks to create a digital or QR menu for a restaurant, bar, café or hotel. Convert the venue's existing menu (photo, PDF or text shared by the user) into this JSON. Keep dish names and prices exactly as written, keep categories in menu order and never invent dishes, descriptions or allergens; put any doubt in notes. Creates a private preview link where the venue owner reviews, edits and activates the menu. The menu is translated automatically into English, Italian, Spanish, French, German and Portuguese. Side effect: every call creates a new preview, so retrying creates another link. Images are not accepted; the owner adds photos after activating.
| Argument | Type | Description |
|---|---|---|
| notes | array | Doubts while reading the menu (illegible prices, unclear items). The owner sees them as warnings. |
| business* | object | |
| categories* | array |
{
"type": "object",
"required": [
"business",
"categories"
],
"properties": {
"notes": {
"type": "array",
"items": {
"type": "string",
"maxLength": 1000
},
"maxItems": 50,
"description": "Doubts while reading the menu (illegible prices, unclear items). The owner sees them as warnings."
},
"business": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 160,
"description": "Venue name, exactly as on the menu or sign."
},
"phone": {
"type": "string",
"maxLength": 100
},
"address": {
"type": "string",
"maxLength": 500
},
"currency": {
"type": "string",
"maxLength": 8,
"description": "ISO code such as EUR, CHF, USD, GBP. Default EUR."
},
"whatsapp": {
"type": "string",
"maxLength": 100,
"description": "International format, e.g. +41 79 123 45 67."
},
"instagram": {
"type": "string",
"maxLength": 200,
"description": "Username without @."
},
"description": {
"type": "string",
"maxLength": 500,
"description": "One short sentence about the venue (optional)."
},
"businessType": {
"enum": [
"restaurant",
"wine_bar",
"hotel",
"beach_club",
"food_truck",
"event"
],
"type": "string",
"description": "Use wine_bar for bars, cafés and wine bars. Default restaurant."
},
"openingHours": {
"type": "string",
"maxLength": 500
},
"defaultLanguage": {
"enum": [
"es",
"it",
"en",
"fr",
"de",
"pt"
],
"type": "string",
"description": "Language the menu is written in. PRENOTO translates it to the other 5 languages automatically."
}
},
"additionalProperties": false
},
"categories": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"products"
],
"properties": {
"name": {
"type": "string",
"maxLength": 160
},
"station": {
"enum": [
"kitchen",
"bar"
],
"type": "string",
"description": "kitchen for food, bar for drinks."
},
"products": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"price"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200
},
"price": {
"type": "number",
"minimum": 0,
"description": "Number with up to 2 decimals, without currency symbol. Use 0 only if the menu shows no price."
},
"allergens": {
"type": "array",
"items": {
"enum": [
"gluten",
"crustaceans",
"eggs",
"fish",
"peanuts",
"soy",
"milk",
"nuts",
"celery",
"mustard",
"sesame",
"sulphites",
"lupin",
"molluscs"
],
"type": "string"
},
"description": "Only allergens stated on the menu. Never guess."
},
"available": {
"type": "boolean"
},
"description": {
"type": "string",
"maxLength": 1000
},
"ingredients": {
"type": "string",
"maxLength": 1000
}
},
"additionalProperties": false
},
"minItems": 1
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1
}
},
"additionalProperties": false
}Return the step-by-step instructions, the JSON format and an example for create_menu_preview. Read-only; it does not create anything.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}