An idea or a URL in; names, domains, logos, a brand sheet, a website, a component library and social and print layouts out. Every change is a commit you can branch from, and an MCP server lets Claude, Codex, Muse, Grok or OMP drive the whole pipeline.
You need Bun, a Boots checkout and an Anthropic API key, ideally in 1Password. The studio runs at 127.0.0.1:4310; nothing leaves your machine except calls to Claude and the pushes you ask for.
Install oncePackages, plus the headless Chromium that renders and audits pages.
cd ~/Code/boots && ./run exec foundations.install
3
Register the MCP serverThe config holds only a 1Password reference. The server runs op read the first time a tool needs the key, and 1Password asks you to approve.
claude mcp add boots-studio \
--env BOOTS_PROVIDER_KEY='op://<vault>/<item>/credential' \
--env BOOTS_OP_BIN="$(command -v op)" \
-- bun ~/Code/boots/foundations/task.ts mcp
No 1Password? Leave out the two --env lines and paste a key under the studio's Settings instead.
Or let the script do itChecks the checkout, Bun, op and claude, prints the exact steps, and registers only when you pass --register. It skips a server that is already registered and never stores a secret.
Then ask your agent“Use boots-studio to make a complete brand for frauthy.com, a fraud-checking API for online shops.” Start ./run exec foundations.studio to watch the agent's work appear live.
The pipeline
From a hunch to a whole brand
Every stage runs on its own or all together, from the studio or from any agent. Naming and domains are optional: bring your own, or neither. Pick a stage to see what it makes.
Stage 1 of 9
An idea, or a website
Describe the business or paste a link. Links are read first, so a URL brings its name, tone and colours along. Images you add are read too.
Makes
The starting prompt for every stage
Lives in
The studio home
Over MCP
brand_create {prompt}
Home composer · illustration
A fraud-checking API for online shops. We already own frauthy.com.
Full brand kitLogos first
Stage 2 of 9
Names, if you need one
Twenty names across types (coined, compound, real word, evocative, playful), each with a reason and a pronunciation note. Rounds are added, never replaced.
Every name is checked on your TLDs as it arrives. The fast path screens hundreds of names in seconds; the registries confirm the free ones.
Makes
Availability on up to ~1,000 open TLDs
Lives in
.studio/domains/
Over MCP
domains_check · domains_suggest
How a domain is checked
Learned cacheinstant
Zone setmicroseconds
DNS NS lookup20–90 ms
RDAP, else WHOIS100–300 ms
Stage 4 of 9
The brief
Name, tagline, audience and voice, a five-colour palette, three Google Fonts families and the logo concepts the marks are drawn from.
Makes
The brand's source of truth
Lives in
brands/<slug>/brand.json
Over MCP
brand_create
Palette and type · this theme
RokkittIBM Plex SansPlex Mono
Stage 5 of 9
Six marks, as SVG
Lockup, wordmark, icon, lettermark, emblem and mascot. Colours stay tokens, so the marks follow dark mode and palette edits without being redrawn.
Makes
Transparent SVGs with a version timeline each
Lives in
brands/<slug>/art/<mark>/vN.svg
Over MCP
logos_generate · version_select
The family · illustration
B·shLockup
BootsWordmark
Icon
BLettermark
★Emblem
∩Mascot
Stage 6 of 9
A full brand sheet
Voice, light and dark palettes with contrast fixed to 4.5:1, type, shape, components, a worked example and tokens, plus Logo and Brand in use sections.
Makes
A Boots style any page can wear
Lives in
styles/<slug>/
Over MCP
brand_sheet_generate
Brand sheet · this one is Cowboy
Stage 7 of 9
A marketing site
A site on the brand tokens that places the current logo and reuses library components instead of re-implementing them.
Makes
A demo site with nothing new to extract
Lives in
sites/<slug>/
Over MCP
site_generate
Website · illustration
Stage 8 of 9
The library, restyled
Nothing to generate: registering the style restyles every component in all six versions, and the library opens in the brand.
Makes
Components in HTML/JS, React and Solid × Tailwind or CSS
Lives in
library/index.html?style=<slug>
Over MCP
brand_complete
Six versions of each
HTML/JSReactSolid
TailwindCSS
Okbutton
⋯tabs
86%kpi-ring
Stage 9 of 9
Social and print layouts
Profiles, banners and posts for X, YouTube, Facebook, Instagram and LinkedIn, business cards at 300 dpi, link previews, a contact card and an email signature, each with the current mark dropped in.
Makes
Ready-to-upload boards
Lives in
brands/<slug>/art/<board>/
Over MCP
applications_generate
Boards · illustration
X header1500 × 500
Business card3.5 × 2 in · 300 dpi
Link preview1200 × 630
Email signatureHTML
History with branches
Every change is a commit in the brand database. Check out any point, bring back just the website, branch off and compare. Push it all to a private repo.
Audits built in
Palette contrast, Lighthouse on the sheet and site, axe-core on every component and element, light and dark. Claude turns the findings into a checklist.
Keys stay in 1Password
Settings and agent configs hold an op:// reference. The key is read just in time, held in memory and never written to disk.
Logos are first-class
Pick a new version of a mark and the sheet, site, library and layouts use it. No page is regenerated.
An assistant that sees the page
“Make this bolder” goes to the board, section or component on screen.
Bring your own style
Import a Tailwind v3 or v4 theme, CSS variables (shadcn too), DTCG tokens, or a site, Storybook or brand-docs URL. Preview it, apply it to a brand, or start a brand from it.
Tokens and cost, live
One model for every stage in a click, and a meter that counts tokens and estimates the cost as you go.
MCP server
42 tools, eight saddlebags
One call for a full kit (brand_create {mode: "full"}, then job_status), or one stage at a time. Long work returns a job with progress notifications.
Naming
7 tools
names_generateNames for a business, in rounds: more, refine or new.
names_get · names_shortlistA session's names with availability; the shortlist.
domains_checkNames × TLDs, with registry confirmation.
domains_suggestDomain ideas for one name, checked.
tlds_list · domains_cache_statusThe TLD catalogue, zone sets and learned results.
Brand
9 tools
brand_createIdea or URL → brief → logos, and with full mode everything after.
brand_list · brand_getBrands, stages, versions, palette, fonts and paths.
brand_editA plain-language change, routed like the assistant.
colors_set · fonts_setDirect token and typeface edits.
style_adopt · brand_completeAdopt a style; make whatever is still missing.
style_importImport a Tailwind theme, CSS variables, DTCG tokens or a URL; preview, apply or start a brand.
Logos
5 tools
logos_generateAny scope; an alternative or a refinement.
applications_generateSocial, card and share layouts.
versions_list · version_selectTimelines; pick or revert a version.
logo_getAn SVG in light, dark, reverse, ink or raw tokens.
Pages
3 tools
brand_sheet_generateA full Boots style with light and dark palettes.
site_generateA marketing site on the brand tokens.
pages_buildRebuild every page.
History
9 tools
brand_history · history_graphThe log on a branch; the commit graph with lanes.
history_checkout · history_branchMove to any point; manage branches.
history_restore · snapshot_restoreBring back one part from any commit.
storage_status · remote_push · remote_pullThe database and its remotes.
Audits
3 tools
audit_runPalette, sheet, site, components or one element, as a job.
audit_getScores and findings by impact.
audit_checklistClaude writes the prioritised fix list.
Export
4 tools
export_turnkeyOne zip: brand kit, built sheet and website, tokens in every format, and an SDK for your stack.
export_stacksThe stacks an SDK can be generated for.
export_kitThe brand kit as a zip: marks, layouts and tokens.
export_assetsA Figma plugin, self-contained HTML or PDF, for a kit, section, selection or board.
Jobs
2 tools
job_statusWaits up to 55 s and streams progress.
job_cancelStop a long run.
Supported agents
Ride with any agent
The studio's Connect an agent dialog writes the config for each one with full paths, since agents start servers with a minimal PATH.
Claude
Claude Code or Claude Desktop.
claude mcp add …claude_desktop_config.json
Codex
The CLI, or a server table.
codex mcp add … --env …~/.codex/config.toml
Muse
The only place Muse reads servers.
~/.config/muse/settings.json
Grok
Also picks up servers added to Claude Code.
grok mcp add … -e …~/.grok/config.toml
OMP
Per user or per project, or inside omp.
~/.omp/agent/mcp.json/mcp add
Export to your stack
One kit, every framework
export_turnkey writes one zip: the brand kit, the built brand sheet and website, tokens in every format, and an SDK generated for the stack you name.
A Figma plugin that builds real vector components, Light and Dark colour variables and text styles; a self-contained HTML page; or a PDF. Export the whole kit, one section, a selection or a single board.
React
npm package
Tokens, logos and a <Logo> component, plus the library in React.
Next.js
npm package
Tokens, logos and a <Logo> component, plus the library in React.
SolidJS
npm package
Tokens, logos, <Logo> and the library in Solid.
Vue
npm package
Tokens, logos and a Logo component for Vue.
Svelte
npm package
Tokens, logos and a Logo component for Svelte.
Astro
npm package
Tokens, logos and a Logo component for Astro.
HTML / Web Components
npm package
Tokens, logos, a Logo component and the library in HTML/JS.
SwiftUI
Swift package
Colours and type with light and dark variants, and the marks.
Jetpack Compose
Android
A Compose theme plus colour resources, day and night.
Flutter
Dart package
ThemeData for light and dark, and a BrandLogo widget.
The npm packages carry the component library in React, Solid or HTML/JS, styled with Tailwind or plain CSS, in TypeScript or JavaScript.
Pricing · draft
Free to self-host
Run it on your machine with your own Anthropic key and pay Anthropic for tokens, nothing else. Hosted plans use credits; a full kit is about 100. Every price below is a draft.
Draft prices while the hosted offer is decided. Nothing here is a commitment.
FAQ
Questions at the corral
Where do my brands live?
In a local SQLite brand database (.studio/boots.db). Every change is a commit with branches, and the current state is written out as files for the build. Back it up with remote_push to a private GitHub repo or another studio.
Which model does it use?
Anthropic's Claude, with your key. Settings pick the model per stage (briefs and chat, logos and layouts, brand sheet, website), or one model for every stage. The meter shows tokens and an estimated cost.
How is the API key handled?
Paste a 1Password reference (op://vault/item/field), not the key. The studio and the MCP server run op read the first time they need it, after you approve in 1Password, and hold it in memory only. A pasted key is kept in a git-ignored settings file with mode 0600.
Do I need to name the business first?
No. Naming and domains are optional stages. Bring your own name and domain, or neither, and start from the brief.
Can I start from a style I already have?
Yes. style_import reads a Tailwind v3 or v4 theme, CSS variables (shadcn too), DTCG tokens JSON, or a site, Storybook or brand-docs URL. Preview it, apply it to a brand, or start a new brand from it.
What does the install script change?
Nothing unless you ask. Without flags it only checks your tools and prints the steps. --register runs claude mcp add once and skips it if boots-studio is already registered; --install runs foundations.install in your checkout.
Can I edit what it generates?
Yes: in plain language through the assistant or brand_edit, directly with colors_set and fonts_set, or by hand and then committing the edit. Versions are append-only, so nothing is lost.
Pull your boots on
Three commands to a studio your agent can drive. Your machine, your key, your files.