Guest API for meni.ge restaurants: browse menus, place orders, reserve tables. No auth needed.
Déduit des transports déclarés par cette annonce (streamable-http). Un client absent de cette liste n’est pas écarté pour autant — c’est simplement quelque chose que Forge ne peut pas confirmer.
La vérification confirme l’identité de l’éditeur (la propriété du dépôt), pas la sûreté du code. L’analyse de sécurité couvre les CVE connues et les scripts d’installation suspects.
Lu depuis un véritable échange MCP initialize → tools/list contre l’endpoint déclaré. Aucun outil n’a été invoqué — tools/list est l’appel d’introspection en lecture seule que le protocole prévoit pour cela. Cela reflète ce que le serveur annonçait à cet instant ; un endpoint hébergé n’est figé sur aucune version et peut changer sans préavis.
https://api.meni.ge/llm/mcp13 outils · 194 msget_menuGet the full menu of a meni.ge location: categories, items with prices, variant groups and addons, currency and ordering capabilities. domain = uppercase location code from the QR/menu URL.Get the full menu of a meni.ge location: categories, items with prices, variant groups and addons, currency and ordering capabilities. domain = uppercase location code from the QR/menu URL.
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | Location domain code, e.g. MYCAFE |
| language | string | ISO 639-1 menu language, default en |
get_itemGet one menu item with its variant groups and addons, or several at once: pass itemIds (up to 10) instead of itemId to look items up in bulk — the bulk answer is {items, notFound}.Get one menu item with its variant groups and addons, or several at once: pass itemIds (up to 10) instead of itemId to look items up in bulk — the bulk answer is {items, notFound}.
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | — |
| itemId | string | One item; mutually exclusive with itemIds |
| itemIds | array | Bulk lookup, up to 10 ids; mutually exclusive with itemId |
| language | string | — |
search_productsSemantic search over the location's catalog: product/dish names, descriptions, specifications, brand, SKU/barcodes and attached docs. Use for "do you have…" / "recommend…" / "how much is…" questions instead of paging through get_menu. Returns matching items with prices and a relevance score; falls…Semantic search over the location's catalog: product/dish names, descriptions, specifications, brand, SKU/barcodes and attached docs. Use for "do you have…" / "recommend…" / "how much is…" questions instead of paging through get_menu. Returns matching items with prices and a relevance score; falls…
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | — |
| query* | string | What the guest is looking for, in any language |
| language | string | ISO 639-1 menu language, default en |
| limit | integer | How many items to return (1–10, default 6) |
update_cartBuild the guest order step by step in a server-side cart, the way a human uses the web cart. Without cartId a new cart is created (keep the returned cartId — it is the access token). Each entry of updates: {itemId, quantity, variants?, addons?, comment?} adds a line; {lineId, quantity} changes one;…Build the guest order step by step in a server-side cart, the way a human uses the web cart. Without cartId a new cart is created (keep the returned cartId — it is the access token). Each entry of updates: {itemId, quantity, variants?, addons?, comment?} adds a line; {lineId, quantity} changes one;…
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | — |
| cartId | string | Omit to create a new cart |
| updates* | array | — |
| language | string | — |
get_cartRead a cart created with update_cart: lines with live unit prices, subtotal, item count, the checkoutUrl for a human hand-off and the expiry date (carts live 7 days). Lines whose item left the menu are flagged unavailable and excluded from the subtotal.Read a cart created with update_cart: lines with live unit prices, subtotal, item count, the checkoutUrl for a human hand-off and the expiry date (carts live 7 days). Lines whose item left the menu are flagged unavailable and excluded from the subtotal.
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | — |
| cartId* | string | — |
| language | string | — |
get_store_infoFacts about the location that are not on the menu: address, contacts, coordinates, working hours with openNow computed in the venue timezone, delivery and pickup terms (fees, minimum order, zones, ETA), accepted payment methods and currency, shipping/return terms and links to the published legal do…Facts about the location that are not on the menu: address, contacts, coordinates, working hours with openNow computed in the venue timezone, delivery and pickup terms (fees, minimum order, zones, ETA), accepted payment methods and currency, shipping/return terms and links to the published legal do…
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | — |
| language | string | ISO 639-1; falls back to the location default |
search_policies_and_faqsSearch the location's own published policies, FAQ entries and info pages (privacy, terms, returns, delivery, cookies, help articles) plus, when the owner allows it, their internal knowledge base. Returns short snippets with a link to the source. Use it for policy/help questions instead of guessing;…Search the location's own published policies, FAQ entries and info pages (privacy, terms, returns, delivery, cookies, help articles) plus, when the owner allows it, their internal knowledge base. Returns short snippets with a link to the source. Use it for policy/help questions instead of guessing;…
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | — |
| query* | string | The guest question, in any language |
| language | string | — |
| limit | integer | How many snippets to return (1–10, default 5) |
create_orderValidate and place an order at a meni.ge location. Returns orderId (keep it — it is the access token for status checks) and the computed total. customer.name/phone are required for pickup and delivery; delivery.address is required for delivery. Pass either items (inline) or cartId (the cart built w…Validate and place an order at a meni.ge location. Returns orderId (keep it — it is the access token for status checks) and the computed total. customer.name/phone are required for pickup and delivery; delivery.address is required for delivery. Pass either items (inline) or cartId (the cart built w…
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | — |
| cartId | string | Order this cart; mutually exclusive with items |
| idempotencyKey | string | Retry guard, e.g. a UUID you keep for this order attempt |
| items | array | — |
| orderType | string | — |
| customer | object | — |
| delivery | object | — |
| pickup | object | — |
| paymentMethod | string | — |
| notes | string | — |
| qrCode | string | — |
| language | string | — |
get_order_statusCheck the status of an order previously created with create_order.Check the status of an order previously created with create_order.
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | — |
| orderId* | string | — |
check_table_availabilityWhich tables of the location are free or busy in a given time window (uses the floor plan published by the restaurant). Pass the chosen table id to create_reservation as tableId.Which tables of the location are free or busy in a given time window (uses the floor plan published by the restaurant). Pass the chosen table id to create_reservation as tableId.
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | — |
| start* | string | ISO 8601 datetime |
| durationMinutes | integer | — |
create_reservationRequest a table reservation. Starts as "pending" until the restaurant confirms — check with get_reservation_status. Returns reservationId (keep it: it is the token for status and cancellation). Optionally bind a specific table via tableId (from check_table_availability).Request a table reservation. Starts as "pending" until the restaurant confirms — check with get_reservation_status. Returns reservationId (keep it: it is the token for status and cancellation). Optionally bind a specific table via tableId (from check_table_availability).
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | — |
| start* | string | ISO 8601 datetime |
| durationMinutes | integer | — |
| partySize | integer | — |
| name* | string | Guest name |
| phone | string | — |
| comment | string | — |
| tableId | string | — |
| codeId | string | — |
| idempotencyKey | string | Retry guard: repeating the same key returns the original reservation instead of booking twice. |
get_reservation_statusStatus of a reservation created with create_reservation (pending/confirmed/seated).Status of a reservation created with create_reservation (pending/confirmed/seated).
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | — |
| reservationId* | string | — |
cancel_reservationCancel a reservation previously created with create_reservation.Cancel a reservation previously created with create_reservation.
| Paramètre | Type | Description |
|---|---|---|
| domain* | string | — |
| reservationId* | string | — |
13 outils sur 13 ont publié une description.
Les noms et descriptions d’outils sont écrits par l’éditeur et affichés tels quels, comme du texte inerte. Ce sont les chaînes qu’un client MCP transmet à un modèle, alors Forge y recherche des motifs d’injection de prompt — tout constat apparaît avec l’analyse de sécurité ci-dessus. « Privilégié » est une correspondance de mot-clé sur le nom de l’outil, pas un audit de ce qu’il fait : un nom anodin peut tout de même tout faire.
Guest API for meni.ge restaurants: browse menus, place orders, reserve tables. No auth needed.
Les noms cliquables ouvrent l’index Forge de toutes les entrées observées exposant cet outil. Parcourir tous les outils indexés.
Cette entrée ne publie aucun paquet npm : Forge n'a donc pas d'arbre de dépendances pour elle. C'est une lacune de couverture — pas une affirmation qu'elle n'a aucune dépendance.