Why Cursor needs a design system
Cursor's Agent and Composer generate whole features fast, but each generation can make fresh styling decisions. Without a fixed system, spacing, colors, and component shapes drift across files. A design system gives the Agent one set of semantic tokens and a written DESIGN.md, so later components follow the same rules as the first.
Cursor supports MCP natively. The Agent can use tools to search, fetch, and apply a kit while it works, in addition to reading the files the kit installs.
The kit you'll install
Below is the free ambient-sage kit, rendered from the exact tokens the Agent writes into your project:
After Work Chill
Double tap on a widget to edit settings
Plus Jakarta Sans · 28 semantic tokens · light + dark
Install it (MCP)
- 1
Write the MCP config
Run this in your project root to merge the server into
.cursor/mcp.json.npx --yes --package=https://identityforge.io/downloads/identityforge-0.3.0.tgz identityforge install --client cursor - 2
Enable the server in Cursor
Open Settings → MCP (or the MCP panel) and toggle the
identityforgeserver on. Restart Cursor if the tools don't appear. - 3
Sign in (optional for free kits)
npx --yes --package=https://identityforge.io/downloads/identityforge-0.3.0.tgz identityforge login - 4
Prompt the Agent to theme your app
Give product, audience, and mood; it shortlists with
search_themes, reads the brief withget_design_md, applies withapply_theme.Use Identity Forge to pick a minimal, warm theme for a wellness app, apply it, and follow the DESIGN.md.
The `.cursor/mcp.json` entry
The install command writes this stdio server. You can also paste it by hand:
{
"mcpServers": {
"identityforge": {
"command": "npx",
"args": ["-y", "identityforge@latest", "mcp"]
}
}
}Reinforce it with a Cursor rule (optional)
To make the Agent consistent even outside a kit-apply turn, add a short project rule (.cursor/rules) telling it to style only against the semantic tokens and to follow DESIGN.md. This pairs well with the kit: the tokens define the values, the rule enforces that generated code always uses them.
Always style against the semantic design tokens defined in the
project (bg-background, text-foreground, bg-primary, bg-muted,
border-border, …) and follow the rules and motifs in DESIGN.md.
Never hardcode raw hex colors or introduce a new font.Prefer no MCP? Direct paths
- 1
CLI apply
Writes DESIGN.md + a tokens file into the current directory; ask Cursor to wire them in.
identityforge apply ambient-sage - 2
shadcn registry
Installs the kit's CSS variables directly if you use shadcn/ui.
npx shadcn add https://identityforge.io/r/ambient-sage.json
See the same setup for Claude Code and Windsurf, or start from the pillar guide.
FAQ
How do I give Cursor a design system?
Run `… identityforge install --client cursor` to add the Identity Forge MCP server to .cursor/mcp.json, enable it under Settings → MCP, then ask Cursor's Agent to pick and apply a kit. It writes a DESIGN.md and semantic tokens into the project.
Where does the config go?
Into `.cursor/mcp.json` at your project root. After installing, enable the identityforge server in Cursor's MCP settings.
Should I use a Cursor rule too?
It helps. A short .cursor/rules note telling the Agent to style only against the semantic tokens and follow DESIGN.md keeps generated code on-system even when you're not explicitly applying a kit.
Can I do this without MCP?
Yes. `identityforge apply <slug>` writes DESIGN.md and tokens into the current directory, or `npx shadcn add https://identityforge.io/r/<slug>.json` installs the kit's CSS variables for shadcn/ui projects.