Skip to main content

Lokand Restaurant MCP

com.lokand/lokandVersion 1.0.2

Free restaurant websites and menus: read any public menu, or build, import and publish a site.

Status

Responds1096 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:04 UTC
Latency
1096 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://api.lokand.com/mcpResponds1096 ms
No sign-in

Claude Code

claude mcp add --transport http lokand https://api.lokand.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: lokand
Remote MCP server URL: https://api.lokand.com/mcp

Cursor

{
  "mcpServers": {
    "lokand": {
      "url": "https://api.lokand.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"lokand","type":"http","url":"https://api.lokand.com/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

73 tools

Tools of Lokand Restaurant MCP
Read-only
Idempotent
Open world
add_blockAdd a block (a repeatable piece inside a section: a link, a photo, a testimonial, …) of a `type` the section accepts (get_site.theme.sections[type].blocks). Nest it in another block with parent_block_id.YesNoNoYes
add_categoryAdd a category (section) to a menu. Returns the new category_id.NoNoNoYes
add_itemAdd a dish/item to a menu (optionally inside a category). Returns the new item_id.NoNoNoYes
add_pageAdd a new page with a text section (add more with add_section). Returns the updated document, where the new page's id appears.YesNoNoYes
add_sectionAdd a section of a given `type` (keys of get_site.theme.sections) to a page, optionally from one of its presets, with a settings patch and a 0-based position (default: the end). Sections hold blocks; add them with add_block.YesNoNoYes
apply_country_settingsFill the business's menu display options with the values a country's rules suggest — a notice about tax-inclusive pricing, the price-effective date, ordering restrictions. These are DEFAULTS: the owner can change any of them afterwards, and nothing here is enforced.YesNoNoYes
apply_site_presetAlias of apply_template (`preset` = template id).YesNoNoYes
apply_style_presetSwitch the site's style preset (get_site.theme.style_presets, e.g. terra, porto, noir, marche, slate). Colors and fonts the owner changed are reset unless keep_overrides=true.YesNoNoYes
apply_templateRebuild the site's pages and sections from a segment template (cafe, ghost-kitchen, fine-dining, chain, bar, bakery — see get_site.templates). Replaces the page structure; hero copy and custom CSS carry over. keep_theme=true keeps the current style. Revertible with revert_last_site_change.YesNoNoYes
check_complianceCheck a business's published menu against what a country's menu rules ask for — allergen and calorie declarations, price-list notices, banned surcharges, operator identity. Returns each requirement with its official sources, plus which ones the menu currently falls short of and the item ids involved. ADVISORY ONLY: it reports, it never changes the site, and it is not legal advice.NoYesYesYes
claim_statusCheck whether the customer has claimed an agent-created restaurant. On the first poll after a claim with consent granted, returns fresh OAuth tokens for continued management (delivered exactly once).NoYesYesYes
commit_importCommit a completed AI menu import as a real menu (creates the menu, categories, and items). Returns the new menu_id.NoNoNoYes
create_checkout_linkCreate a Stripe Checkout link to upgrade a business to a paid plan. Hand the returned URL to the customer — anyone who opens it can pay; the plan activates automatically after payment (3-month free trial). Pass customer_country (ISO 3166-1 alpha-2) so first-time pricing is quoted in the customer's region, not the agent's.NoNoNoYes
create_full_menuCreate a COMPLETE menu (sections + items) in one call — prefer this over separate create_menu/add_category/add_item calls. With replace=true, existing menus are deactivated so this becomes the business's live menu (their data is kept, just hidden).YesNoNoYes
create_menuCreate an EMPTY menu on a business the caller manages (add sections with add_category, dishes with add_item). For a whole menu at once, use create_full_menu instead. Returns the new menu_id.NoNoNoYes
create_restaurantCreate a new Lokand restaurant on a customer's behalf — ONE call can produce a complete LIVE website when you pass `menu` (and optionally hours/theme). Returns working OAuth tokens (Bearer, for follow-up edit ops), the live site_url, and a claim_url. NEXT STEPS after this call: refine with add_item/update_item/set_theme if needed, then give the customer the claim_url so they take ownership (free signup); poll claim_status to keep access after they claim. Requires a client registered once via POST /api/auth/oauth2/register (see https://lokand.com/auth.md).NoNoNoYes
delete_categoryDelete a menu category (section). Its items are NOT deleted — they stay on the menu without a section; move them with update_item category_id or delete them with delete_item.YesNoNoYes
delete_itemDelete a menu item.YesNoNoYes
delete_menuPermanently delete a menu together with ALL of its sections and items. To take a menu off the site but keep it, use update_menu is_active=false instead.YesNoNoYes
get_billing_summaryCurrent plan, billing region, and subscription state of a business the caller manages.NoYesYesYes
get_businessLook up a public Lokand restaurant/business by its slug. Returns profile, hours, contact info, locale and theme metadata.NoYesYesYes
get_menuFetch a single menu (categories + items with prices) of a public Lokand restaurant.NoYesYesYes
get_siteRead the business's website: `document` (the v3 site document — settings, home, pages, and templates[page_id] → sections → blocks, with the ids every other site op needs), `theme` (what the live theme offers: every section and block type with its settings, the theme settings, and style presets), `resolved_settings` (the concrete theme settings the site renders with), `live_theme` (the custom theme code in use, with its file paths, or null for a system theme), `style_hooks` (stable [data-lk="…"] attributes custom_css can target on a system theme), `system_themes` (for set_system_theme) and `templates` (segment layouts for apply_template). Settings are listed compactly as "id:type(options)"; pass detail: "full" for labels and defaults. ALWAYS call this before changing the site.NoYesYesYes
get_startedHow to use Lokand as an agent: the recipes for creating a restaurant for a customer, editing menus, and handing over ownership. Call this first if you're unsure what to do.NoYesYesYes
get_statusPrivate status of a business the caller manages: profile (including unpublished state), all menus (active and inactive), and plan. Requires the menu:read scope and membership.NoYesYesYes
get_storefront_contextThe exact data a theme renders with (the StorefrontData Liquid objects are built from): the business (localized, brand site applied), every active menu with items, primary menu id, loyalty/ordering flags, the stamp-card program and its resolved style — plus theme_data (the site document) and live_theme. Use it to preview or test theme code locally.NoYesYesYes
get_styleCompile one look from the style library into the exact settings to send in ONE update_theme_settings call (palette, fonts, shape, spacing and a signature custom_css on the stable [data-lk] hooks), plus the menu section style to set, the photo to put in the home hero (hero_image, if any), how to shape the home page, the copy voice, and do / don't lists. By default it uses the logo's color when the logo has a strong one. level: safe, distinct or bold (from suggest_styles, or the owner's ask: 'bolder' / 'simpler').NoYesYesYes
import_menuStart an AI import of a restaurant's menu from the URL of its existing website. Returns an import_id to poll with import_status; when complete, call commit_import to turn the draft into a real menu.NoNoNoYes
import_statusCheck an AI menu import: processing, complete (draft ready to commit), or failed. `progress.found` lists what is known so far; complete responses include the draft for review.NoYesYesYes
list_assetsList every image the business owns: its media library (uploads, photos copied from its old website at import, photos the owner attached in chat), its logo and every menu item photo. Each entry has its url, kind, source, where it is used, and tags a vision model read off the image: subject (dish, drink, interior, exterior, people, logo, menu), what it shows, whether it matches the dish it is labelled as, quality 1-5, dominant colors and alt text. Use these urls for any site or menu image; never use an outside image.NoYesYesYes
list_businessesList the businesses the signed-in user is a member of (id, name, slug, role). Use it to pick the business_id other ops need.NoYesYesYes
list_menusList the active menus of a public Lokand restaurant by its slug.NoYesYesYes
make_menu_onlyTurn the site into a single menu page (the menu becomes the home page, every other page is disabled). Use when the owner wants "just the menu". Revertible with revert_last_site_change.YesNoNoYes
move_blockMove a block to a 0-based position among its siblings.YesNoNoYes
move_sectionMove a section to a 0-based position within its page.YesNoNoYes
publish_brand_templateChains only: make this location's published site the brand template that every linked location of its organization shows (see set_brand_link). Requires brand owner/admin and the franchise plan.YesNoNoYes
publish_sitePublish (or unpublish) the business's public menu site at https://<slug>.lokand.co.YesNoNoYes
remove_blockRemove a block (and any blocks nested in it).YesNoNoYes
remove_pageRemove a custom page and its sections. The home page can't be removed — make another page home first (set_page make_home).YesNoNoYes
remove_sectionRemove a section from a page. To keep it for later, hide it with update_section hidden=true instead.YesNoNoYes
rename_categoryRename a menu category (section).YesNoNoYes
reorder_categoriesSet the order of a menu's categories (sections). List category ids top to bottom; any you leave out keep their current relative order after the listed ones.YesNoNoYes
reorder_itemsSet the order of the items in one section of a menu. List item ids top to bottom; listed items from another section are moved into this one, and the section's other items keep their relative order after the listed ones.YesNoNoYes
revert_last_site_changeUndo the most recent site change made through the site ops or set_theme (up to the last 10, kept for 30 days). Call repeatedly to step further back. 404 when there is nothing to undo.YesNoNoYes
set_brand_linkChains only: link this location to its brand's shared site (linked=true) so it shows the brand template's pages and theme, or unlink it (linked=false) to use its own site again. Hours, address, menus and ordering always stay this location's own. The brand template is set with publish_brand_template.YesNoNoYes
set_featured_itemsChoose the dishes shown in the home page's "featured" section, in order (menu item ids, max 12; [] lets the site pick automatically). Adds the section after the hero if the page has none.YesNoNoYes
set_nav_linksReplace the navigation with custom links ([] restores the automatic page list).YesNoNoYes
set_pageChange one page: enable/disable it, show/hide it in the navigation, rename its title, change its path, make it the home page, or move it in the navigation. Only provided fields change. Page ids come from get_site.document.pages (built-ins: home, menu, about, loyalty).YesNoNoYes
set_system_themeSwitch to another system theme (get_site lists `system_themes`). Pages, sections and settings are kept.YesNoNoYes
set_themeSwitch the site to a system theme with `theme_id` (lokand-base, lokand-one — get_site lists them; pages, sections and settings are kept). Legacy shape: `theme_key` (a style preset) plus an optional v1 `theme_config` patch (colors, fonts, hero title/subtitle) — prefer apply_style_preset / update_theme_settings for that. Revertible with revert_last_site_change.YesNoNoYes
suggest_stylesRecommend looks for the business's website from Lokand's style library (14 hand-made looks, from a Michelin-style 'gastronomique' to a street 'bufe'), read from its menu, prices, logo and photos. Returns the three best fits, how bold to go (safe / distinct / bold, from how much material the business has) and why, and the whole library. Call this before a new look or a redesign, then get_style for the chosen look.NoYesYesYes
theme_deleteDelete a custom theme and all its stored versions. The live theme can't be deleted — unpublish it first.YesNoNoYes
theme_getOne theme's details and upload status: ready (the version is stored and can be published), processing (poll again in a second or two) or failed (with the error).NoYesYesYes
theme_git_accessGit access to a custom theme's code: the HTTPS remote and a repo-scoped token (read, or write on the Pro plan). Pushes to main compile automatically and, for the live theme, publish once compiled; theme_get shows a push that failed to compile as push_error. Tokens expire (default 1 hour).NoYesYesYes
theme_historyThe commit history of a custom theme's code, newest first: hash, message, author, time. The `commit` on theme_get is the one the site renders.NoYesYesYes
theme_listList the business's custom themes (id, name, role live|unpublished|development, version, upload status) and the system themes. Custom theme code is a Pro feature.NoYesYesYes
theme_publishMake a custom theme the live site's code (Pro plan). The previous live theme becomes unpublished and cached pages refresh. `warnings` lists parts of the current site document the new theme doesn't define (fix them with the site ops).YesNoNoYes
theme_pullDownload a theme's files ({path: text}). theme_id "lokand-base" or "lokand-one" returns a system theme to start from. Custom themes return their latest stored version. A whole theme is large: pass search to find the lines you need to change, or list_only for paths and sizes, then paths for whole files.NoYesYesYes
theme_rollbackRestore a custom theme's code to an earlier commit (Pro plan). It is saved as a new commit, so the rollback itself can be undone; on the live theme it goes live once compiled. Without commit, restores the version before the latest change.YesNoNoYes
theme_syncCompile the latest commit on a custom theme's main branch now (Pro plan). Pushes compile on their own; call this to apply a push immediately or to retry. Validates like an upload and, for the live theme, publishes once compiled. Poll theme_get for status.YesNoNoYes
theme_unpublishStop using custom theme code: the site goes back to its system theme. The custom theme is kept as unpublished.YesNoNoYes
theme_uploadUpload a complete custom theme (Pro plan) as a new commit in its Git repo. Files are validated and compiled at once — a 422 lists every problem as `path: message` lines — then compiled in the background: poll theme_get until status is ready, then theme_publish. Without theme_id, role development reuses your one development theme and role unpublished creates a new theme; with theme_id it stores the next version of that theme. Updating the live theme needs allow_live: true.YesNoNoYes
theme_write_filesChange some files of a custom theme (Pro plan) as one new commit: files maps path → whole new text (null deletes), edits are find/replace changes. Read the current files with theme_pull first. Same validation and background compile as theme_upload. On the LIVE theme the change goes live automatically once compiled; theme_rollback undoes it. On a system theme id (lokand-base, lokand-one) it creates a new unpublished theme from it; pass publish: true to make that live too.YesNoNoYes
update_blockMerge-patch one block's settings (null removes a key) and/or hide/show it.YesNoNoYes
update_businessUpdate a business's profile: name, description, about text, opening hours, contact info, currency, default locale, menu display options, country, business details, or place (location, address, timezone, category, cuisines). Only provided fields change.YesNoNoYes
update_itemUpdate a menu item's fields (name, description, price, availability, category, sort order). Only provided fields change. Setting is_available=false takes a dish off the public site (86 it).YesNoNoYes
update_loyalty_cardSet up or change the business's loyalty stamp card: how many stamps earn the reward, the reward text, whether the card is live, and its look. Only provided fields change; the first call must include stamps_required and reward_text. Requires the Pro plan (402 plan_required otherwise — offer create_checkout_link).YesNoNoYes
update_menuRename a menu, change its description, or switch it on/off on the public site (is_active). Only provided fields change. Menu ids come from get_status.YesNoNoYes
update_sectionChange one section: merge-patch its settings (null removes a key; settings: null resets them all) and/or hide/show it. Ids come from get_site.document.templates[page_id].YesNoNoYes
update_siteLow-level escape hatch: apply an RFC 7386 JSON merge patch to the whole v3 site document returned by get_site.document (objects merge, null deletes a key, arrays REPLACE). Prefer the specific site ops. The result is validated against the theme before anything is saved.YesNoNoYes
update_themeLegacy look op: switch `preset`, patch v2-style `tokens` (colors, fonts, radius, hero layout, …) or set custom CSS. Prefer update_theme_settings / apply_style_preset.YesNoNoYes
update_theme_settingsMerge-patch the theme's global settings (keys from get_site.theme.theme_settings, e.g. color_primary, font_heading, radius, custom_css). null resets a key to the theme/preset default.YesNoNoYes
use_assetPut one of the business's own images (a url from list_assets) to use: as the logo (target "logo") or as a menu item's photo (target "item" with item_id). For a site section or block image, pass the same url to update_section / update_block instead.NoNoNoYes

Details

Registry status
Active
Published
Nov 10, 2026
Updated
Nov 10, 2026
Repository
Not given
Categories (suggested)
SecurityFiles and storageSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing