Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
Hosted MCP (Model Context Protocol) server for DuckHub. Manage a restaurant's menu β products, categories, modifiers, prices, images, translations, promotions, orders β straight from Claude, Cursor, or any MCP-capable AI agent. One URL, your
dk_live_API key, 39 ready-made tools. No install, no code β the server is hosted by DuckHub.
DuckHub is a SaaS platform for restaurants: digital menus, contactless
ordering, table reservations and delivery. The DuckHub MCP server exposes
the DuckHub v1 REST API to AI agents as typed
tools. Instead of writing HTTP requests, your agent sees build_menu,
set_image, publish_menu and can build and manage a full menu from a
conversation.
The server is remote / hosted β there is nothing to install or run. You add
one URL to your AI client and authenticate with the same dk_live_ API key the
REST API uses.
If the mcp. subdomain is not yet resolvable in your network, the same server is
also reachable at https://api.duck-hub.com/mcp.
Authorization: Bearer dk_live_... header (API key from the DuckHub
app β Integrations page)Get your API key from the DuckHub app β Integrations, then:
.cursor/mcp.jsonclaude_desktop_config.jsonDesktop connects remote servers through the mcp-remote bridge (needs Node.js):
claude.ai and ChatGPT connect custom MCP servers through OAuth (there is no API-key field). Add DuckHub as a custom connector with the URL:
then Sign in to DuckHub, choose the venue to connect, and approve. The flow uses OAuth 2.1 with PKCE β your DuckHub login authorizes access and no API key is stored in the client. One DuckHub account maps to one connected venue at a time (reconnect from the DuckHub app to switch venues).
The Integrations page can also issue a read-only key (same dk_live_
format). With it every read tool works normally, and every write tool fails with
403 READ_ONLY_KEY β the API refuses the write before touching anything. Write
tools are also marked with standard MCP annotations (readOnlyHint /
destructiveHint), so well-behaved clients can filter or confirm them. Use a
read-only key for agents that should analyse the menu but never change it.
All tools wrap the v1 REST API β same behavior, same limits.
| Group | Tools |
|---|---|
| Discover & read | get_reference, get_menu, list_products, get_product, list_categories, list_publications, get_audit_log |
| Build the menu | build_menu (bulk sync), set_product, delete_product, set_modifier_group, delete_modifier_group, list_modifier_groups |
| Settings | get_settings + 7 task-scoped update_* tools |
| Media | set_image β product / banner / logo |
| Translations | set_translations, get_translations |
| Merchandising | promotions / banners / tables β list_* / set_* / delete_* |
| Go live | publish_menu, rollback_publish, cleanup_menu |
| Orders (paid plans) | list_orders, get_order, update_order_status |
Agents should call get_reference first: it returns every allowed enum
value, the venue's plan limits and current usage, and the money conventions.
12.50 is sent as 1250 (cents).build_menu edits the draft;
publish_menu makes it live (with a rollback snapshot).build_menu and cleanup_menu accept dryRun: true.cleanup_menu arrays are KEEP-lists β anything not listed is hidden/deleted.403 PAID_PLAN_REQUIRED.β docs.duck-hub.com/mcp β connection guide, per-tool reference, error envelope, rate/plan limits.
MIT β see LICENSE. This repository contains documentation and the server manifest only; the MCP server itself is hosted by DuckHub.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/menu)<a href="https://allmcps.com/mcp/menu"><img src="https://allmcps.com/api/badge/menu?style=directory" alt="Menu on AllMCPs" /></a>