How to install
Install Open DS. Then take a scheme.
Connect your AI through MCP and let it deploy a scheme, or run the CLI yourself. Both use the same engine, so you get the same design system either way.


The MCP server is open now, with no key. The CLI is the open-ds package on npm, so the npx open-ds commands below run as they are.
Path A
Connect your AI (MCP)
- 1
Add the server to your AI
The server is at
https://open-ds.dev/mcp. Add it the way your client takes MCP servers:Claude Code
In a terminal. --scope user makes it available in every folder.
claude mcp add --transport http --scope user open-ds https://open-ds.dev/mcp
Claude (desktop and claude.ai)
Settings, Connectors, Add custom connector. Name it Open DS and paste the URL:
https://open-ds.dev/mcp
Cursor
In ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project):
{ "mcpServers": { "open-ds": { "url": "https://open-ds.dev/mcp" } } }VS Code
In .vscode/mcp.json in your project:
{ "servers": { "open-ds": { "type": "http", "url": "https://open-ds.dev/mcp" } } }Windsurf
In ~/.codeium/windsurf/mcp_config.json:
{ "mcpServers": { "open-ds": { "serverUrl": "https://open-ds.dev/mcp" } } }Any other client
If it takes a URL, use the one above. If it only runs local servers, run Open DS from npm (Node.js 22 or later):
{ "mcpServers": { "open-ds": { "command": "npx", "args": [ "-y", "open-ds", "mcp" ] } } } - 2
Ask your AI
Open your AI in an empty project folder and ask, for example:
- “Which Open DS scheme fits an order management tool, and why?”
- “Deploy it into this project.”
- “In this scheme, what do I use for a number in a table?”
- “Why does this scheme set line height that way?”
The server only reads: it answers with the schemes’ answers and reasons, and when you ask to set one up, it gives your AI the exact
npx open-dscommand and the files it will write. Your AI runs the command in your project.
Path B
Run the CLI yourself
The CLI needs Node.js 22 or later.
- 1
Install the CLI
npm install -g open-ds
open-ds --help
Or skip installing:
npx open-dsruns the latest version each time, which is what the commands below use. Installed? Drop thenpx. In a project, add it as a dev dependency withnpm install -D open-ds. - 2
See the schemes
npx open-ds list
Schemes: accessible-first, brand-expressive, content-first, dense-data, multi-brand.
- 3
Take a whole design system
npx open-ds create my-design-system --scheme dense-data
cd my-design-system npm install npm run storybook npm run docs
Its own components, tokens, Storybook and docs, built from the scheme’s answers. For Multi-brand, add
--brand aster,birchorcoral. - 4
Or add a scheme to an app you have
npx open-ds init dense-data
Run it in your app’s folder. It lists the component packages to install with
npm install; then importsrc/styles/open-ds.cssafter Tailwind. Add--docsto also write the design system’s docs pages todocs/. - 5
Ask why, and add more components
npx open-ds why dense-data typography.definition
npx open-ds when dense-data "a number in a table"
npx open-ds add tooltip
What init writes
A whole design system in your repo.
- src/styles/open-ds.css
- The semantic and component keys as CSS variables, light and dark, the shadcn variables and a Tailwind theme
- src/components/ui/*
- The scheme’s components, copied in. They read only component keys
- src/lib/utils.ts
- The class helper the components use
- AGENTS.md
- What an agent needs: usage rules, voice and tone, key decisions
- .claude/skills/open-ds/SKILL.md
- The agent skill, with this scheme’s rules
- .open-ds/scheme.json
- The full scheme: every answer with its reason
- .open-ds/tokens/*.tokens.json
- The resolved DTCG tokens for each theme
- .open-ds/content.json
- The voice tokens: the words for common actions
- docs/ (with --docs)
- The design system’s docs: reasons, voice, a page per scope, components, themes
- open-ds.json
- What was installed, with a hash for each file
Not sure which scheme? Pick a scheme or compare two.