Use the engine from your agent.
Connect Claude Code, Codex or Cursor to v-1.design over MCP. Your agent designs on your account, the finished screens + design system are pushed back into the chat, and it keeps building your real app from there — no copy-pasting, no polling.
Ask in plain English — “a calm habit tracker”. It plans, draws, and returns real TSX screens + a shadcn/Tailwind design system.
Grow a design — “add a Settings screen” — and it stays on-brand with the shared nav and tokens.
Fetch any design's globals.css, DESIGN.md and per-screen TSX whenever you need it.
The handoff tells your agent exactly how to wire routing, state and data against the design.
Push, not polling. A generation runs on the engine and is streamed back to your agent in a single tool call — it never hammers an API in a loop.
In the studio, open Account → Developer access and Generate key. Copy it — it's shown once. It scopes the agent to your account (your designs, your credits).
Open studioDrop your key into one of these:
# over HTTP (a URL):
claude mcp add --transport http v1design https://engine.v-1.design/mcp \
--header "Authorization: Bearer <your-key>"
# or over stdio (local npx):
claude mcp add v1design --env V1_DESIGN_API_KEY=<your-key> \
--env V1_DESIGN_API_URL=https://engine.v-1.design -- npx -y v1design-agent# ~/.codex/config.toml (stdio)
[mcp_servers.v1design]
command = "npx"
args = ["-y", "v1design-agent"]
env = { V1_DESIGN_API_KEY = "<your-key>", V1_DESIGN_API_URL = "https://engine.v-1.design" }// .cursor/mcp.json (HTTP)
{
"mcpServers": {
"v1design": {
"url": "https://engine.v-1.design/mcp",
"headers": { "Authorization": "Bearer <your-key>" }
}
}
}MCP endpoint: https://engine.v-1.design/mcp
In your agent, just ask. For example:
> create_design("a calm habit tracker with streaks and stats")
> get_design("<project-id>") // pull it back anytimeGenerate a new design from a brief. Blocks, streams progress, returns the finished bundle in one call.
Add a new on-brand screen to an existing design.
Pull a design's tokens + every screen's TSX. A single read — not a loop.
Get the TSX source for one screen.
List the designs on your account.
Attach to an in-flight generation and receive it here when it finishes.
Every design hands over a complete, ready-to-build bundle:
app/globals.css— the design system as Tailwind v4 / shadcn CSS variables (the single source of truth for color, radius, fonts).screens/*.tsx— one React/TSX component per screen, consuming those tokens.DESIGN.md+design-tokens.json— the system as docs + portable JSON.AGENTS.md— instructions telling your agent exactly how to continue (below).
From design to a real app — on any stack
The screens are a visual reference (web React + Tailwind). The shipped AGENTS.md tells your agent how to adapt them to your target — your agent owns routing, state, data and the implementation.
Use the screens almost directly.
- 1Drop in globals.css. Import it once. Use the token classes (bg-background, text-primary, rounded-lg) — never hard-code colors or re-declare tokens.
- 2Fonts + shared chrome. Add the two Google fonts from DESIGN.md; lift the nav / sidebar / tab bar into ONE reused component, byte-identical per screen.
- 3One route per screen. Use each screen's TSX as the markup, then wire real data, state and handlers. Keep the token classes intact.
Tailwind won't translate — rebuild from the look & feel.
- 1Mirror the tokens into your theme. Read design-tokens.json for the palette, type and radius (convert OKLCH → hex/rgb if needed) → RN StyleSheet / NativeWind, Flutter ThemeData / ColorScheme, or SwiftUI Color / Font.
- 2Rebuild each screen natively. Read the screen TSX for layout, hierarchy, spacing, composition and copy — then recreate it with native primitives (View/Text/FlatList, Column/Row, VStack/HStack). Match the structure; don't paste Tailwind classes.
- 3Stay consistent. Build the shared chrome once and reuse the same tokens / spacing / type across every screen.
Not on web? Your agent reads design-tokens.json + the screen TSX and re-creates the UI in your framework — same palette, type, spacing and layout, native components.
Generate a key in the studio and connect your agent in a minute.