DuckHub QR Menu

com.duck-hubPublished by duck-hub.comOfficial publisherv1.0.2Updated Oct 27, 2026

Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.

Overview

AI-generated overview

Hosted MCP server that lets an AI assistant read and edit a DuckHub restaurant menu — products, categories, modifiers, prices, images, translations…

What you can do
  • Read the menu: reference data, menu, products, categories, publications and audit log
  • Build the menu: bulk sync, create or delete products and modifier groups
  • Change settings, upload product, banner and logo images, and manage translations
  • Manage promotions, banners and tables, then publish, roll back or clean up the menu
  • List and update orders on paid plans
When to use it
Useful when a restaurant team wants an assistant to draft, translate, illustrate or restructure a DuckHub menu conversationally, or to check and update orders, instead of editing it by hand in the DuckHub app.
Requirements
Remote hosted endpoint over Streamable HTTP; nothing to install. Needs a DuckHub account and either a dk_live_ API key sent as an Authorization Bearer header, or OAuth sign-in for claude.ai and ChatGPT. Claude Desktop reaches it through the mcp-remote bridge, which needs Node.js. Orders tools require a paid plan.
Before you install
Write tools change live restaurant data: publish_menu makes the draft guest-visible, cleanup_menu treats its arrays as keep-lists so unlisted items are hidden or deleted, and delete tools remove products and modifier groups. Use dryRun where offered and a read-only key for analysis-only agents. The API key is a full-access secret; OAuth maps one account to one venue at a time. Plan limits, rate limits and the audit log apply.

Installation

In SourceWeft

  1. Open DuckHub QR Menu in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.duck-hub%2Fmenu/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "duckhub-qr-menu": {
      "type": "http",
      "url": "https://mcp.duck-hub.com/mcp"
    }
  }
}

README

DuckHub MCP Server — restaurant menu management for AI agents

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.

[MCP] [Transport] [Hosted] [Auth] [Docs] [Glama quality]


What is this?

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.

Endpoint

POST https://mcp.duck-hub.com/mcp

If the mcp. subdomain is not yet resolvable in your network, the same server is also reachable at https://api.duck-hub.com/mcp.

  • Transport: Streamable HTTP (stateless)
  • Auth: Authorization: Bearer dk_live_... header (API key from the DuckHub app → Integrations page)
  • All the usual rate limits, plan limits and the audit log apply unchanged.

Connect your client

Get your API key from the DuckHub app → Integrations, then:

Claude Code

bash
claude mcp add --transport http duckhub https://mcp.duck-hub.com/mcp \  --header "Authorization: Bearer dk_live_your_api_key"

Cursor — .cursor/mcp.json

json
{  "mcpServers": {    "duckhub": {      "url": "https://mcp.duck-hub.com/mcp",      "headers": { "Authorization": "Bearer ${env:DUCKHUB_API_KEY}" }    }  }}

Claude Desktop — claude_desktop_config.json

Desktop connects remote servers through the mcp-remote bridge (needs Node.js):

json
{  "mcpServers": {    "duckhub": {      "command": "npx",      "args": [        "mcp-remote",        "https://mcp.duck-hub.com/mcp",        "--header",        "Authorization: Bearer dk_live_your_api_key"      ]    }  }}

Claude API — MCP connector block

json
{  "mcp_servers": [    {      "type": "url",      "url": "https://mcp.duck-hub.com/mcp",      "name": "duckhub",      "authorization_token": "dk_live_your_api_key"    }  ]}

claude.ai (web) & ChatGPT — OAuth

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:

https://mcp.duck-hub.com/mcp

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).

Read-only access

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.

The 39 tools

All tools wrap the v1 REST API — same behavior, same limits.

GroupTools
Discover & readget_reference, get_menu, list_products, get_product, list_categories, list_publications, get_audit_log
Build the menubuild_menu (bulk sync), set_product, delete_product, set_modifier_group, delete_modifier_group, list_modifier_groups
Settingsget_settings + 7 task-scoped update_* tools
Mediaset_image — product / banner / logo
Translationsset_translations, get_translations
Merchandisingpromotions / banners / tables — list_* / set_* / delete_*
Go livepublish_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.

Things agents get wrong

  • Money is integers in minor units — 12.50 is sent as 1250 (cents).
  • Nothing is guest-visible until you publish. build_menu edits the draft; publish_menu makes it live (with a rollback snapshot).
  • Dry-run first. build_menu and cleanup_menu accept dryRun: true.
  • cleanup_menu arrays are KEEP-lists — anything not listed is hidden/deleted.
  • Orders tools need a paid plan — else 403 PAID_PLAN_REQUIRED.

Full documentation

→ docs.duck-hub.com/mcp — connection guide, per-tool reference, error envelope, rate/plan limits.

About / support

License

MIT — see LICENSE. This repository contains documentation and the server manifest only; the MCP server itself is hosted by DuckHub.

Source: README.md at commit 81b425a

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v1.0.2LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts