MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Other

Lokand Restaurant MCP

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

Checks passed
11 / 22

3 failed · 8 not measured

Median response
328 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
73

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Outdated check

Last connection measurement is over 24 hours old. Current availability is unknown.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
220
Publisher identityCan the publisher be traced to its source?
312

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 328 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name lokand.

  • Pass
    Lists tools

    tools/list returned 73 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 328 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 328 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Fail
    Tools described

    1 tools have a description shorter than 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Fail
    Parameters documented

    144 of 370 parameters have a description (39%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Pass
    Website matches publisher

    The website host matches the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-11-10T19:57:59.529985Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using Lokand Restaurant MCP

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

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

Capabilities

Tools 73

add_block

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

Discovered
add_category

Add a category (section) to a menu. Returns the new category_id.

Discovered
add_item

Add a dish/item to a menu (optionally inside a category). Returns the new item_id.

Discovered
add_page

Add a new page with a text section (add more with add_section). Returns the updated document, where the new page's id appears.

Discovered
add_section

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

Discovered
apply_country_settings

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

Discovered
apply_site_preset

Alias of apply_template (`preset` = template id).

Discovered
apply_style_preset

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

Discovered
apply_template

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

Discovered
check_compliance

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

Discovered
claim_status

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

Discovered
commit_import

Commit a completed AI menu import as a real menu (creates the menu, categories, and items). Returns the new menu_id.

Discovered
create_checkout_link

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

Discovered
create_full_menu

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

Discovered
create_menu

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

Discovered
create_restaurant

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

Discovered
delete_category

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

Discovered
delete_item

Delete a menu item.

Discovered
delete_menu

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

Discovered
get_billing_summary

Current plan, billing region, and subscription state of a business the caller manages.

Discovered
get_business

Look up a public Lokand restaurant/business by its slug. Returns profile, hours, contact info, locale and theme metadata.

Discovered
get_menu

Fetch a single menu (categories + items with prices) of a public Lokand restaurant.

Discovered
get_site

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

Discovered
get_started

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

Discovered
get_status

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

Discovered
get_storefront_context

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

Discovered
get_style

Compile 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, 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').

Discovered
import_menu

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

Discovered
import_status

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

Discovered
list_assets

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

Discovered
list_businesses

List the businesses the signed-in user is a member of (id, name, slug, role). Use it to pick the business_id other ops need.

Discovered
list_menus

List the active menus of a public Lokand restaurant by its slug.

Discovered
make_menu_only

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

Discovered
move_block

Move a block to a 0-based position among its siblings.

Discovered
move_section

Move a section to a 0-based position within its page.

Discovered
publish_brand_template

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

Discovered
publish_site

Publish (or unpublish) the business's public menu site at https://<slug>.lokand.co.

Discovered
remove_block

Remove a block (and any blocks nested in it).

Discovered
remove_page

Remove a custom page and its sections. The home page can't be removed — make another page home first (set_page make_home).

Discovered
remove_section

Remove a section from a page. To keep it for later, hide it with update_section hidden=true instead.

Discovered
rename_category

Rename a menu category (section).

Discovered
reorder_categories

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

Discovered
reorder_items

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

Discovered
revert_last_site_change

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

Discovered
set_brand_link

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

Discovered
set_featured_items

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

Discovered
set_nav_links

Replace the navigation with custom links ([] restores the automatic page list).

Discovered
set_page

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

Discovered
set_system_theme

Switch to another system theme (get_site lists `system_themes`). Pages, sections and settings are kept.

Discovered
set_theme

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

Discovered
suggest_styles

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

Discovered
theme_delete

Delete a custom theme and all its stored versions. The live theme can't be deleted — unpublish it first.

Discovered
theme_get

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

Discovered
theme_git_access

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

Discovered
theme_history

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

Discovered
theme_list

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

Discovered
theme_publish

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

Discovered
theme_pull

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

Discovered
theme_rollback

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

Discovered
theme_sync

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

Discovered
theme_unpublish

Stop using custom theme code: the site goes back to its system theme. The custom theme is kept as unpublished.

Discovered
theme_upload

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

Discovered
theme_write_files

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

Discovered
update_block

Merge-patch one block's settings (null removes a key) and/or hide/show it.

Discovered
update_business

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

Discovered
update_item

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

Discovered
update_loyalty_card

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

Discovered
update_menu

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

Discovered
update_section

Change 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].

Discovered
update_site

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

Discovered
update_theme

Legacy look op: switch `preset`, patch v2-style `tokens` (colors, fonts, radius, hero layout, …) or set custom CSS. Prefer update_theme_settings / apply_style_preset.

Discovered
update_theme_settings

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

Discovered
use_asset

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

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected328 ms73