Free restaurant websites and menus: read any public menu, or build, import and publish a site.
Connect Remote server
claude mcp add --transport http lokand https://api.lokand.com/mcp
{
"mcpServers": {
"lokand": {
"url": "https://api.lokand.com/mcp"
}
}
}
{
"servers": {
"lokand": {
"type": "http",
"url": "https://api.lokand.com/mcp"
}
}
}
Settings > Connectors > Add custom connector
URL: https://api.lokand.com/mcp
Tools 73 found in our last check
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.
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.
get_businessLook up a public Lokand restaurant/business by its slug. Returns profile, hours, contact info, locale and theme metadata.
list_menusList the active menus of a public Lokand restaurant by its slug.
get_menuFetch a single menu (categories + items with prices) of a public Lokand restaurant.
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.
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).
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.
add_categoryAdd a category (section) to a menu. Returns the new category_id.
add_itemAdd a dish/item to a menu (optionally inside a category). Returns the new item_id.
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).
delete_itemDelete a menu item.
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.
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.
rename_categoryRename a menu category (section).
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.
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.
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.
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.
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…
publish_sitePublish (or unpublish) the business's public menu site at https://<slug>.lokand.co.
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:…
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).
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 quote…
get_billing_summaryCurrent plan, billing region, and subscription state of a business the caller manages.
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.
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.
commit_importCommit a completed AI menu import as a real menu (creates the menu, categories, and items). Returns the new menu_id.
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…
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.
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, an…
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.
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.
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.
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.
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_s…
apply_site_presetAlias of apply_template (`preset` = template id).
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).
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.
remove_pageRemove a custom page and its sections. The home page can't be removed — make another page home first (set_page make_home).
set_nav_linksReplace the navigation with custom links ([] restores the automatic page list).
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.
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].
remove_sectionRemove a section from a page. To keep it for later, hide it with update_section hidden=true instead.
move_sectionMove a section to a 0-based position within its page.
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.
update_blockMerge-patch one block's settings (null removes a key) and/or hide/show it.
move_blockMove a block to a 0-based position among its siblings.
remove_blockRemove a block (and any blocks nested in it).
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.
set_system_themeSwitch to another system theme (get_site lists `system_themes`). Pages, sections and settings are kept.
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.
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 pu…
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.
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.
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 otherw…
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.
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).
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, the…
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,…
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 g…
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).
theme_unpublishStop using custom theme code: the site goes back to its system theme. The custom theme is kept as unpublished.
theme_deleteDelete a custom theme and all its stored versions. The live theme can't be deleted — unpublish it first.
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…
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.
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.
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 (defaul…
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.
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 imag…
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.
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…
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,…
Details
| Endpoint | https://api.lokand.com/mcp (Streamable HTTP) |
| First published | 10 Nov 2026 |
| Last updated | 10 Nov 2026 |
| Registry name | com.lokand/lokand |
More files and documents servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
