DuckHub QR Menu
Server Details
Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.
- Status
- Unhealthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- tykhokhod-dmytro/duckhub-mcp-server
- GitHub Stars
- 0
- Server Listing
- DuckHub QR Menu
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
26 tool updates
- Changed
build_menu26 fields changed- added
Input schema / properties / categories / descriptionAdded value: +"Categories to upsert (idempotent by externalId)." - added
Input schema / properties / categories / items / properties / isActive / descriptionAdded value: +"Whether the category is shown on the menu." - added
Input schema / properties / categories / items / properties / name / descriptionAdded value: +"Category display name." - added
Input schema / properties / categories / items / properties / schedule / items / properties / day / descriptionAdded value: +"Day of week." - added
Input schema / properties / categories / items / properties / schedule / items / properties / isOpen / descriptionAdded value: +"Whether the category is available on this day." - added
Input schema / properties / categories / items / properties / sortOrder / descriptionAdded value: +"Display order (ascending); lower shows first." - added
Input schema / properties / ingredients / descriptionAdded value: +"Ingredients to upsert (idempotent by externalId)." - added
Input schema / properties / ingredients / items / properties / externalId / descriptionAdded value: +"Your stable id — upserts are idempotent by externalId." - added
Input schema / properties / ingredients / items / properties / name / descriptionAdded value: +"Ingredient display name." - added
Input schema / properties / ingredients / items / properties / sortOrder / descriptionAdded value: +"Display order (ascending)." - added
Input schema / properties / products / descriptionAdded value: +"Products to upsert (idempotent by externalId)." - added
Input schema / properties / products / items / properties / badgeColor / descriptionAdded value: +"Badge color — get_reference → badge colors. Omit = keep current value, null = clear, value = set." - added
Input schema / properties / products / items / properties / description / descriptionAdded value: +"Product description (max 1000 chars)." - added
Input schema / properties / products / items / properties / isSaleActive / descriptionAdded value: +"Whether the sale price is currently applied." - added
Input schema / properties / products / items / properties / menuVisible / descriptionAdded value: +"Whether the product is shown on the menu." - added
Input schema / properties / products / items / properties / modifierGroups / items / properties / isRequired / descriptionAdded value: +"Whether the guest must choose an option." - added
Input schema / properties / products / items / properties / modifierGroups / items / properties / name / descriptionAdded value: +"Modifier-group display name." - added
Input schema / properties / products / items / properties / modifierGroups / items / properties / options / descriptionAdded value: +"The group’s options (each references an ingredient)." - added
Input schema / properties / products / items / properties / modifierGroups / items / properties / options / items / properties / action / descriptionAdded value: +"Whether the option adds or removes the ingredient (default follows the group type)." - added
Input schema / properties / products / items / properties / modifierGroups / items / properties / options / items / properties / ingredientExternalId / descriptionAdded value: +"externalId of the ingredient this option offers." - added
Input schema / properties / products / items / properties / modifierGroups / items / properties / options / items / properties / sortOrder / descriptionAdded value: +"Display order (ascending)." - added
Input schema / properties / products / items / properties / modifierGroups / items / properties / sortOrder / descriptionAdded value: +"Display order (ascending)." - added
Input schema / properties / products / items / properties / modifierGroups / items / properties / type / descriptionAdded value: +"Group behavior — see get_reference → modifier types." - added
Input schema / properties / products / items / properties / name / descriptionAdded value: +"Product display name." - changed
Input schema / properties / products / items / properties / salePriceMinor / descriptionPrevious value: -"Omit = keep current value, null = clear, value = set."New value: +"Sale price in minor units. Omit = keep current value, null = clear, value = set." - added
Input schema / properties / products / items / properties / sortOrder / descriptionAdded value: +"Display order within the category (ascending)."
- Changed
delete_banner1 field changed- added
Input schema / properties / ref / descriptionAdded value: +"Banner ref: externalId or opaque id."
- Changed
delete_promotion1 field changed- added
Input schema / properties / ref / descriptionAdded value: +"Promotion ref: externalId or opaque id."
- Changed
delete_table1 field changed- added
Input schema / properties / ref / descriptionAdded value: +"Table ref: externalId or opaque id."
- Changed
get_audit_log2 fields changed- added
Input schema / properties / limit / descriptionAdded value: +"Page size, max 100 (default 20)." - added
Input schema / properties / page / descriptionAdded value: +"1-based page (default 1)."
- Changed
get_translations3 fields changed- added
Input schema / properties / filter / descriptionAdded value: +"Row filter (default all): untranslated | translated | stale." - added
Input schema / properties / limit / descriptionAdded value: +"Page size, max 50." - added
Input schema / properties / page / descriptionAdded value: +"1-based page (default 1)."
- Changed
list_banners3 fields changed- added
Input schema / properties / limit / descriptionAdded value: +"Page size, max 100." - added
Input schema / properties / locale / descriptionAdded value: +"Localize banner title/description." - added
Input schema / properties / page / descriptionAdded value: +"1-based page (default 1)."
- Changed
list_modifier_groups1 field changed- added
Input schema / properties / page / descriptionAdded value: +"1-based page (default 1)."
- Changed
list_orders3 fields changed- added
Input schema / properties / limit / descriptionAdded value: +"Page size, max 100." - added
Input schema / properties / page / descriptionAdded value: +"1-based page (default 1)." - added
Input schema / properties / status / descriptionAdded value: +"Filter by order status."
- Changed
list_promotions2 fields changed- added
Input schema / properties / limit / descriptionAdded value: +"Page size, max 100." - added
Input schema / properties / page / descriptionAdded value: +"1-based page (default 1)."
- Changed
list_tables2 fields changed- added
Input schema / properties / limit / descriptionAdded value: +"Page size, max 100." - added
Input schema / properties / page / descriptionAdded value: +"1-based page (default 1)."
- Changed
set_banner2 fields changed- added
Input schema / properties / description / descriptionAdded value: +"Banner description (max 2000 chars)." - added
Input schema / properties / isActive / descriptionAdded value: +"Whether the banner is shown on the menu."
- Changed
set_image1 field changed- added
Input schema / properties / target / descriptionAdded value: +"What to attach the image to."
- Changed
set_modifier_group2 fields changed- added
Input schema / properties / isRequired / descriptionAdded value: +"Whether the guest must choose an option." - added
Input schema / properties / options / items / properties / sortOrder / descriptionAdded value: +"Display order (ascending)."
- Changed
set_product8 fields changed- added
Input schema / properties / badgeColor / descriptionAdded value: +"Badge color — get_reference → badge colors. Omit = keep current value, null = clear, value = set." - changed
Input schema / properties / description / descriptionPrevious value: -"Omit = keep current value, null = clear, value = set."New value: +"Product description. Omit = keep current value, null = clear, value = set." - added
Input schema / properties / isSaleActive / descriptionAdded value: +"Whether the sale price is currently applied." - added
Input schema / properties / menuVisible / descriptionAdded value: +"Whether the product is shown on the menu." - added
Input schema / properties / name / descriptionAdded value: +"Product display name (omit to keep)." - changed
Input schema / properties / salePriceMinor / descriptionPrevious value: -"Omit = keep current value, null = clear, value = set."New value: +"Sale price in minor units. Omit = keep current value, null = clear, value = set." - added
Input schema / properties / sortOrder / descriptionAdded value: +"Display order within the category (ascending)." - added
Input schema / properties / unit / descriptionAdded value: +"Portion unit (get_reference → units). Omit = keep current value, null = clear, value = set."
- Changed
set_promotion2 fields changed- added
Input schema / properties / schedule / items / properties / day / descriptionAdded value: +"Day of week." - added
Input schema / properties / schedule / items / properties / isOpen / descriptionAdded value: +"Whether open on this day."
- Changed
set_table1 field changed- added
Input schema / properties / isActive / descriptionAdded value: +"Whether the table is active (its QR resolves)."
- Changed
set_translations2 fields changed- added
Input schema / properties / items / descriptionAdded value: +"Up to 50 translation upserts, one per entity (per-item results)." - added
Input schema / properties / items / items / properties / model / descriptionAdded value: +"Entity type being translated."
- Changed
update_languages1 field changed- added
Input schema / properties / defaultLanguage / descriptionAdded value: +"Canonical content language — see get_reference → languages."
- Changed
update_menu_design1 field changed- added
Input schema / properties / theme / descriptionAdded value: +"Public-menu theme (LIGHT or DARK)."
- Changed
update_notifications5 fields changed- added
Input schema / properties / notifyBillEnabled / descriptionAdded value: +"Notify staff on bill requests." - added
Input schema / properties / notifyBookingEnabled / descriptionAdded value: +"Notify staff on new bookings." - added
Input schema / properties / notifyHookahEnabled / descriptionAdded value: +"Notify staff on hookah requests." - added
Input schema / properties / notifyOrderEnabled / descriptionAdded value: +"Notify staff on new orders." - added
Input schema / properties / notifyWaiterEnabled / descriptionAdded value: +"Notify staff on waiter-call requests."
- Changed
update_order_status1 field changed- added
Input schema / properties / status / descriptionAdded value: +"New status — must be an allowed transition (get_reference → order status transitions)."
- Changed
update_ordering_config4 fields changed- added
Input schema / properties / deliveryEmail / descriptionAdded value: +"Email that receives order notifications." - added
Input schema / properties / deliveryEnabled / descriptionAdded value: +"Enable delivery ordering." - added
Input schema / properties / dineInOrderingEnabled / descriptionAdded value: +"Enable dine-in ordering." - added
Input schema / properties / pickupEnabled / descriptionAdded value: +"Enable pickup ordering."
- Changed
update_seo_and_links6 fields changed- added
Input schema / properties / googleReviewsUrl / descriptionAdded value: +"Google Reviews URL." - added
Input schema / properties / instagramUrl / descriptionAdded value: +"Instagram profile URL." - added
Input schema / properties / telegramUrl / descriptionAdded value: +"Telegram URL." - added
Input schema / properties / tiktokUrl / descriptionAdded value: +"TikTok profile URL." - added
Input schema / properties / tripAdvisorUrl / descriptionAdded value: +"TripAdvisor page URL." - added
Input schema / properties / twitterUrl / descriptionAdded value: +"Twitter/X profile URL."
- Changed
update_venue_info6 fields changed- added
Input schema / properties / additionalInfo / descriptionAdded value: +"Extra free-text info shown on the menu." - added
Input schema / properties / address / descriptionAdded value: +"Street address." - added
Input schema / properties / googleMapsUrl / descriptionAdded value: +"Google Maps link to the venue." - added
Input schema / properties / name / descriptionAdded value: +"Displayed venue name (does NOT change the URL slug)." - added
Input schema / properties / phone / descriptionAdded value: +"Contact phone number." - added
Input schema / properties / wifiPassword / descriptionAdded value: +"Guest Wi-Fi password shown on the menu."
- Changed
update_working_hours2 fields changed- added
Input schema / properties / schedule / items / properties / day / descriptionAdded value: +"Day of week." - added
Input schema / properties / schedule / items / properties / isOpen / descriptionAdded value: +"Whether open on this day."
39 tool updates
- First observed
build_menu - First observed
cleanup_menu - First observed
delete_banner - First observed
delete_modifier_group - First observed
delete_product - First observed
delete_promotion - First observed
delete_table - First observed
get_audit_log - First observed
get_menu - First observed
get_order - First observed
get_product - First observed
get_reference - First observed
get_settings - First observed
get_translations - First observed
list_banners - First observed
list_categories - First observed
list_modifier_groups - First observed
list_orders - First observed
list_products - First observed
list_promotions - First observed
list_publications - First observed
list_tables - First observed
publish_menu - First observed
rollback_publish - First observed
set_banner - First observed
set_image - First observed
set_modifier_group - First observed
set_product - First observed
set_promotion - First observed
set_table - First observed
set_translations - First observed
update_languages - First observed
update_menu_design - First observed
update_notifications - First observed
update_order_status - First observed
update_ordering_config - First observed
update_seo_and_links - First observed
update_venue_info - First observed
update_working_hours
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Cloud-hosted MCP server for durable AI memory
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
MCP server for Pinchwork - an agent-to-agent task marketplace with credits-based economy
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceAn MCP server that lets restaurants operate their point-of-sale through an LLM agent — edit menus, 86 items, check sales, restock inventory, monitor voids, and more via twenty tools over both stdio and Streamable HTTP transports with per-request tenancy from API keys.Apache 2.0
- AlicenseNot gradedqualityAmaintenanceHosted MCP server for the 6DuckLearn learning platform, enabling integration with AI agents like Codex and Claude Code.1Apache 2.0
- AlicenseAqualityAmaintenanceAn MCP server that acts as a bridge to query multiple OpenAI-compatible LLMs with MCP tool access. Just like rubber duck debugging, explain your problems to various AI "ducks" who can actually research and get different perspectives!12294176MIT
- FlicenseNot gradedqualityCmaintenanceMCP server exposing restaurant tools including search by cuisine, price, rating, and open status, restaurant details, user preferences stored in Neon Postgres, and RAG knowledge search covering 50 mock restaurants across Scottsdale and Phoenix.-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct entity or action: bulk menu operations, individual product edits, settings updates, translations, orders, etc. Even overlapping areas like build_menu vs set_product are clearly delineated in descriptions.
All tool names follow a consistent verb_noun pattern (e.g., delete_product, set_banner, update_settings) using lowercase and underscores, making the API predictable.
With 39 tools, the server covers a wide range of venue management tasks (menu, promotions, orders, settings, translations). While on the higher end, each tool has a clear purpose and the count reflects the domain's complexity.
The tool surface covers full lifecycle CRUD for menus, products, categories, banners, promotions, tables, orders, and settings with no obvious gaps. Additional features like translations, audit log, and publishing complete the picture.