Skip to content
SproutAceve · v3.25.1
Get started
Overview What is your role? Connect to Sprout MCP reference Adopting Sprout
Foundations
Brand & logos Color Typography Spacing & layout Elevation Iconography Accessibility
Components
Overview Buttons Inputs & forms Numeric input Data grid Ribbon toolbar Navigation Cards Alert Avatar Badge Dialog Tabs Floating tabs Menu
Practice
Interaction & motion Voice & content Product patterns
Artificial Intelligence
AI patterns AI transparency & disclosure AI disclosure label
People & ethics
Design principles Personas Trust and ethics Meet the makers
Playground
Build the systemplay Tower of tokensplay
Behind the system
How it works Changelogv3.25 Roadmap Contribute
Ready for review
Get started

MCP reference

Everything the Sprout MCP server exposes. If you just want to connect, the Connect page is the shorter read.

The endpoint

Open, read-only, no login. Everything it serves is already public on this site.

claude mcp add --transport http sprout https://aceve.design/api/mcp

Anything that speaks MCP over HTTP works the same way — Cursor, Windsurf, Claude Desktop, VS Code, a claude.ai custom connector. Point it at https://aceve.design/api/mcp.

Prompts

Five workflows. The design team's method, runnable.

A prompt is a ready-made workflow with arguments. In Claude Code each one is a slash command, /mcp__sprout__build_ui and so on; elsewhere they appear in a prompt picker.

Worth understanding, because it explains what you will see happen: a prompt returns instructions, not an answer. It cannot call a tool itself. So each one hands the model a numbered plan of which tools to call and in what order — which is why invoking one is followed by a burst of tool calls before any output appears. That plan is the part the design team controls.

build_ui
brief, product, platform, persona, output, language

Designs or builds a screen. Fetches the prototyping playbook narrowed to your platform and persona, the ready-component list, the theme CSS and the anti-slop checklist before writing anything. Refuses to start until platform and persona are known.

review_ux
target, persona, platform, scope, format

Reviews against WCAG 2.2 AA, the ten Nielsen Norman heuristics layered with the eight Aceve principles, tone of voice, Simple First and the ethics checklist. Every contrast ratio is measured with check_contrast, never estimated.

write_ui_copy
strings, surface, locale, product

Rewrites copy for a specific surface — button, error, empty state, label, toast, dialog, notification. Returns current, proposed and why, one row per string.

apply_brand
what, format, background, brand

Applies the visual identity to a deliverable. Resolves the right logo file for the background, the right typeface for the format, and every colour to a token.

audit_tokens
code, path

Finds hardcoded hex, pixel spacing and hand-written shadows, and maps each to the token it should have been.

Every argument is optional. Leave one out and the prompt asks for it rather than guessing — and a value it does not recognise becomes a note telling the model to check with you, never an error.

Tools

Sixteen. The model calls these itself; you rarely name one.

Tokens and colour
search_tokensquery, categoryEvery token by name, CSS variable or role. Light and dark values.
get_theme_csstheme, format, prefixThe whole custom-property set, ready to paste. Light by default; both is around 20 kB.
find_token_for_hexhex, toleranceWhich token a raw colour should have been. Ranked by perceptual distance, so near-identical shades sort first.
check_contrastforeground, background, size, themeThe measured WCAG ratio and whether it passes AA and AAA. Takes token names as well as hex.
Icons
search_iconsquery, limitFind the exact name. There are 522, and the names are rarely what you would guess.
get_iconnameSVG markup for one icon, with a did-you-mean on a miss.
Components
list_componentsstatusThe coverage board — what is ready, beta, planned or deprecated.
get_componentidStatus, shipped-in version and docs URL for one component.
get_component_sourceid, includeThe real prop API of a React primitive, plus where the Figma component and the code disagree.
Context
get_personaidOne of the four people Aceve designs for — environment, goals, pains, input habits.
get_productidAn Aceve product, with a starting guess at platform and primary persona.
get_logobrand, lockup, backgroundThe right logo file for a given background, and its URL.
Method
get_playbooktopic, platform, persona, product, scope, format, surface, sectionHow we prototype, review, write or brand — narrowed to what you asked for. Returns markdown.
get_checklistkind, severityAccessibility, anti-slop, ethics, release or review-dimensions. Each item carries severity, reason, fix and source.
get_versionreleasesCurrent version, links and recent changelog.
get_guidelinestopicThe seven voice rules and the type scale.

Resources

The same material, addressable as documents.

For clients that surface documents rather than tool calls. These are the default views — when you want a playbook narrowed to a platform and persona, call get_playbook instead, which takes arguments.

sprout://versionapplication/json
sprout://playbook/{prototyping | ux-review | brand | content}text/markdown
sprout://checklist/{accessibility | anti-slop | ethics | release}application/json
sprout://tokens/light.css and dark.csstext/css
sprout://personasapplication/json
sprout://component/{id}application/json
sprout://icon/{name}image/svg+xml

What the playbooks replace

These used to be personal claude.ai skills.

Four playbooks were ported into this repo from skills that lived on one person’s account, where nobody else could update them and no product team could reach them.

Prototyping playbookThe Aceve UI Builder skill — intake, platform rules, anti-slop, quality gates.
UX review playbookThe UX Reviewer skill — six dimensions, severity flags, output contract.
Brand playbookThe Aceve Branding skill — palette, logo usage, typography by format.
Content playbookThe tone-of-voice reference — microcopy patterns per surface, market emphasis.

They are ordinary source files now, so changing how we review or what counts as done is a merge request in the design system repo. Everyone gets the new version on the next deploy. That is the whole point of moving them.

The port also settled four places where the old skills disagreed with this site or with each other — three drifted hex values, the minimum touch target, how many design principles there are, and whether the palette contains any purple. The site won each time, which is why the playbooks read tokens at call time rather than restating values.

Logging and privacy

What is recorded when you use it, and what is not.

Each call writes one line to the Vercel runtime log: the tool name, how long it took, how large the response was, and any arguments that are fixed choices — a topic, a platform, a format.

Free-text arguments are never logged. Whatever you paste into a brief, a review target or a search query is recorded only as its length, because those fields can contain anything and the logs are readable by everyone with project access. Nothing identifies you: no IP address, no user agent, no account.

It is worth being plain about the limit. Runtime logs are live-tailable and searchable for a short window, so this answers “is anyone using it” and “what is slow”. It does not answer “how many reviews did we run last month”. That would need somewhere to keep the data, which we deliberately have not built.

← PreviousConnect to SproutNext →Adopting Sprout
Sprout · Aceve Design System · v3.25.1
Figma library GitLabReleases