Skip to main content

zeroheight MCP tools reference

Lewis Smith-Tong
Lewis Smith-Tong
  • Updated
Available on all plans. Free and Starter are limited to 500 calls per month. Search requires an Enterprise plan with AI features enabled. Upgrade for higher limits and other premium features.

The zeroheight MCP exposes two sets of tools:

  • Read tools give agents context from zeroheight — guidelines, components and tokens — so the output of a task is grounded in your design system. Available on every connection method.
  • Write tools let agents create and edit content in zeroheight. Only available to admins/editors who connect using Access via login. Learn more.

AI agents call these automatically as they work through your prompt — you don't invoke them directly.

Read tools

list-styleguides

Discovers all zeroheight styleguides accessible via the connected MCP. Returns a list of styleguide IDs and names. This is typically the first call an agent makes.

Not available when using Access via link — the tool isn't exposed because the connection is already scoped to a single styleguide.

search-pages

Searches the styleguide for pages matching a keyword or topic and returns a list of relevant chunks from the styleguide. The agent will likely use this tool first and may fetch further content if the chunks are insufficient. 

Search results don't include a way to access relevant images; agents will follow up with get-page and get-page-asset if needed. It's possible to search a specific release of a styleguide.

Note: only available on Enterprise plans with AI features enabled. Learn how to enable AI features here, or upgrade your plan.

list-pages

Returns the full navigation tree for a styleguide — sections, categories, pages, and tabs. The agent may use this to identify which pages are relevant before fetching content. It's possible to list the pages of a specific release of a styleguide.

get-page

Fetches the content of a specific page as Markdown, including usage notes, guidance, and any embedded assets. This is the source of truth for what the agent uses when applying your design system. It's possible to get the page from a specific release.

get-page-asset

Fetches images or file attachments referenced in a get-page response. Accepts multiple URIs in a single call.

How well an agent can use a fetched asset depends on the file type and the agent:

  • Images are the most reliably supported — they come back in a format agents can view and reason about directly.
  • Non-image files (PDFs, Word, Excel, ZIP) are inconsistent. Some agents can't process the content at all; others recognise the file type and skip the tool rather than attempt it. Agents with code execution (e.g. Claude Code) can sometimes unpack and read these files, but this isn't guaranteed across tools.

When an asset can't be fetched or parsed, the tool returns the asset's source URL so the agent can pass it on for direct download. This means content added to a styleguide as a non-image attachment may not be readable by every agent via MCP, even though it remains accessible on the web.

list-releases

Lists available releases for a styleguide. Only called when the user explicitly requests content from a specific release.

list-token-sets

Lists the design token sets available to the connection. For each set it gives the number of tokens and, for sets synced from Figma variables, the collections and modes (for example Light and Dark). Agents call this before writing or changing styles, and before list-tokens or suggest-tokens.

Which sets are returned depends on how you connect:

  • Access via link: only the token sets linked to that styleguide.
  • Access via login as a viewer: only the token sets linked to the styleguides you can access.
  • Access via login as an admin or editor: every token set in your team, whether or not it's linked to a styleguide.

Token sets are linked in Styleguide settings > Token sets. If no sets are available, the tool tells the agent what's missing so it doesn't guess token names.

list-tokens

Lists the tokens in one set, with each token's path, type and value. Results can be narrowed by collection, mode, token type or a search on the token name. Sets synced from Figma variables return one mode's values at a time. Returns up to 100 tokens by default, and up to 500 per call.

suggest-tokens

Checks style values from code against a token set and suggests matching tokens. This is the tool behind token linting. The agent sends up to 30 values in one call. These can be hardcoded values (such as #0055FF, 16px or 200ms) or token references (such as var(--color-primary)).

For each value, the tool reports whether a token matches exactly or closely, and whether it matches in every mode or only some. For a token reference, it checks the token exists, and suggests the nearest names if it doesn't. The agent uses this to swap in tokens where it's safe and to ask you about the rest.

How the tools work together

A typical agent session follows this sequence (assuming zeroheight team has enabled AI features):

  1. list-styleguides — identify available styleguides (skipped when using Access via link)
  2. search-pages — identify relevant chunks of the styleguide and the IDs of the pages that contain them
  3. get-page — (optional) fetch the content of relevant pages if the chunks are insufficient or the agent needs images/attachments
  4. get-page-asset — (optional) fetch any images or attachments referenced in those pages
  5. list-pages — (optional) list the full navigation tree in case the agent wants to identify relevant pages that weren't returned by search-pages

Without AI features enabled or on the Free/Starter plan, the sequence is:

  1. list-styleguides — identify available styleguides (skipped when using Access via link)
  2. list-pages — identify relevant pages of the styleguide
  3. get-page — fetch the content of relevant page
  4. get-page-asset — (optional) fetch any images or attachments referenced in those pages

list-releases is only used when versioned content is requested, after which list-pages and get-page are called with the relevant releaseId.

When the agent writes or checks styles, it also uses the token tools:

  1. list-token-sets: find the available token sets. If there's more than one, the agent asks you which to use.
  2. list-tokens: (optional) look up the tokens in the chosen set before writing styles
  3. suggest-tokens: check the finished code's style values against the set, then swap in tokens or ask you about them

Write tools

Only available for admins and editors who connect using Access via login. MCP write is on by default; a team admin can turn it off under Your organization → MCP. For a walkthrough of how an agent uses these tools together, see Writing to zeroheight via MCP.

get-page

While this tool is listed as a read tool, it gains a format property when writing is available. It defaults to the reading format but the agent typically asks for the editor format when in appropriate contexts, for example to reuse a canonical page as the basis for a new one, or immediately before an edit-page call. The editor format always reads the current page, so it can't be combined with a release ID. If the page has an open draft, the editor format returns the draft's content and version rather than the published page, and it's that version the agent must pass to edit-page.

create-page

Creates a page in a category, with content and an optional hidden flag. Returns the page's ID, URL and version, and whether the content was saved as a draft. On plans that include drafts the page is created as a draft unless the user explicitly asks for it to be created directly on the latest page; on plans without drafts it's always created directly. Pages that exist only as a draft are flagged in list-pages, so an agent can pick up a page it created in an earlier session.

edit-page

Applies ordered find/replace changes to an existing page's content. Edits are saved to a draft by default, so the latest/work in progress page isn't changed until the draft is merged. The user can ask for a change to be written straight to the latest page instead, which is refused while that page has an open draft. On plans without drafts, every edit goes straight to the latest page. Learn more about drafts here.

get-draft-changes / merge-draft

get-draft-changes reads what merging a page's open draft would do: a diff of the draft against the latest page, any name, status or display setting changes, everyone who has edited the draft and where their edits came from, and whether a review has been requested. It also returns a one-time merge token. merge-draft  takes that token and merges the draft, including edits other people made to it.

The token is what stops a draft being merged unseen: it describes the draft exactly as get-draft-changes read it, so if anyone saves the draft in between, the merge is refused and the agent has to read the changes and show them again before retrying. Both tools are only offered on plans that include drafts.

update-page-metadata

Renames a page, hides or shows it, moves it to another category, or reorders it within a category, without touching its content. Category overview pages can't be moved or renamed. Renaming a page that has an open draft renames the draft, so the new name only goes live when the draft is merged; hiding, moving and reordering always apply straight away.

get-structure / update-structure

Reads a styleguide's categories and navigation tabs, and creates, renames, nests or reorders them. Used when a new page needs a category that doesn't exist yet. Categories can be nested one level deep.

get-comments

Reads a page's comment threads, both inline (anchored to highlighted text) and block-level, including resolved ones, so the agent can act on review feedback with edit-page. Comments are read-only over MCP: the agent can't reply to or resolve them.

upload-asset

Uploads an image or a downloadable attachment and returns the path page content must use to reference it.

list-design-libraries

Lists the design libraries whose designs can be placed on a page, and reports whether Figma is still connected.

get-designs

Lists one library's designs, filterable by source node ID, kind or name, so the agent can reference an exact frame or component.

list-component-sets / get-component-set

Finds component sets and the component and field IDs a component-set block accepts.

list-token-sets / list-tokens

The same tools described under Read tools. When writing, the agent uses them to find the tokens and modes for token mentions and token management blocks.

list-repositories / get-repository / create-markdown-snapshot

Finds connected repositories, lists the markdown files in the last-synced tree, and snapshots one file for embedding. A repository that has never synced can't be read — only a person can sync it in zeroheight.

get-storybooks / get-stories

Lists Storybook links and their stories. VPN-restricted Storybooks can't be reached.

get-livecode-settings

Returns the npm packages and shared resources a styleguide's livecode previews run against.

list-page-templates / get-page-template

Lists the page templates a new page can start from — zeroheight's built-in templates followed by the team's custom templates — and fetches one template's content. Templates contain placeholder slots for page-specific content, which the agent fills in or removes before calling create-page.

get-tone-of-voice

Returns the tone of voice set in a styleguide's AI settings, if any. The agent calls this before writing or rewriting any page copy and follows the tone it returns.

read-resource

Reads this server's MCP resources — the editor XML guide and livecode templates — for clients that can't read resources directly.

Share this article
Was this article helpful?