Browse the docs ▾

MCP tools

Site design tools

Read a site the way the builder sees it, then change it with exact, checkable steps.

An app reads first: get_site gives the pages, sections, theme and the revision to send with any change. Every node has a ref like home/home-hero/headline. Changes are small ops such as set_text, set_style or add_element, sent in batches of up to 50.

Read

TOOL

WHAT IT DOES

list_orgs

The businesses this connection can use, with your role in each. Start here.
Permission: any

get_site

Pages, sections, shared parts, theme colours and fonts, and the current revision.
Permission: site:read

get_page_outline

One page as a tree of nodes with their refs, words, images and links.
Permission: site:read

get_node

Everything about one node: its fields, styles per screen size and children.
Permission: site:read

search_site

Find nodes by their words.
Permission: site:read

get_element_catalogue

The ops, style properties and this site's colours, sizes and text styles.
Permission: site:read

get_page_screenshot

A picture of a page, draft or live, at desktop, tablet or phone width.
Permission: site:read

Change

TOOL

WHAT IT DOES

preview_site_ops

Check a batch of ops without saving: what would change and any problem.
Permission: site:read

apply_site_ops

Apply 1 to 50 ops to the draft, all or none.
Permission: site:write

undo_site_change

Undo one batch by its action_id.
Permission: site:write

set_brand_logo

Set the wide or square logo.
Permission: site:write

start_builder_site

Give a brand-new business its starter design as a draft.
Permission: site:write

open_in_builder

Copy a classic-theme site into a builder draft.
Permission: site:write

Publish

TOOL

WHAT IT DOES

preview_site_publish

Everything that would go live, and a one-time publish_token.
Permission: site:publish

publish_site

Publish the draft with that token.
Permission: site:publish
What ops exist, and what each accepts, comes from get_element_catalogue. Ask it with with_schemas for the JSON Schema of every op.

Change a headline

{
  "name": "apply_site_ops",
  "arguments": {
    "org_id": 121,
    "base_revision": "7d95…",
    "note": "New headline",
    "ops": [{
      "op": "set_text",
      "ref": "home/home-hero/headline",
      "value": "Cakes for your day"
    }]
  }
}

Result

{
  "action_id": "01M68…",
  "revision": "a41f…",
  "changes": "Changed 1 thing",
  "note": "Saved to the draft;
    visitors see it after
    publish_site."
}