Your AI editor just learned shadcn/ui.
One MCP gives your agent every component, for React, Vue, Svelte and Solid, and 294k icons: live search, docs and installs, with every Pro plan.
Add shadcn.io to your AI agent. · Pro About a minute in Claude Code, Cursor or any MCP client.
Set it upHow it works: one prompt, real components
- shadcn.io MCP connected · 18 tools
Agent step: Read components/icons/Returns: Your project uses LucideMCP call: search_icons({ query: "search" })Returns: Searched 222 libraries: Lucide, Tabler, Phosphor…MCP call: get_icon({ library: "lucide", name: "search" })Returns: React source + install commandAgent step: Ran shadcn addReturns: components/icons/lucide-search.tsx
In your project
Compared in 8 sets, picked Lucide
- Lucide, picked
- Tabler
- Heroicons
- Phosphor
- Material
- Radix
- Font Awesome
- Feather
Lucide Search
- The set your other icons use
- A typed React component
1 prompt → 2 MCP calls
Setup
Works with the editors you already use
About a minute in each, and any MCP-ready client works with the same URL. Guides for all 38 clients.
Claude Code
One terminal command
- Copy your MCP URL from the dashboard. It comes with every Pro plan.
- Run the command in your terminal.
- Check the connection with /mcp.
Terminal
$ claude mcp add --transport http --scope user shadcnio "https://kit.dev/api/mcp" --header "Authorization: Bearer YOUR_TOKEN"
Replace YOUR_TOKEN with your personal token. Treat it like an API key.
Cursor
A global server in settings
- Copy your MCP URL from the dashboard. It comes with every Pro plan.
- Open Settings → Cursor Settings → MCP.
- Add a global server, paste the config.
~/.cursor/mcp.json
{ "mcpServers": { "shadcnio": { "headers": { "Authorization": "Bearer YOUR_TOKEN" }, "url": "https://kit.dev/api/mcp" } } }
Replace YOUR_TOKEN with your personal token. Treat it like an API key.
Zed
An entry in settings.json
- Copy your MCP URL from the dashboard. It comes with every Pro plan.
- Add the shadcnio entry under context_servers.
- Relaunch Zed. It starts the server on launch.
~/.config/zed/settings.json
{ "context_servers": { "shadcnio": { "args": [ "-y", "mcp-remote", "https://kit.dev/api/mcp?token=YOUR_TOKEN" ], "command": "npx", "source": "custom" } } }
Replace YOUR_TOKEN with your personal token. Treat it like an API key.
Claude Desktop
Paste one URL
- Copy your MCP URL from the dashboard. It comes with every Pro plan.
- Open Settings → Connectors.
- Add a custom connector named shadcnio.
Settings → Connectors
Name: shadcnio URL: https://kit.dev/api/mcp?token=YOUR_TOKEN
Replace YOUR_TOKEN with your personal token. Treat it like an API key.
VS Code
One file in your workspace
- Copy your MCP URL from the dashboard. It comes with every Pro plan.
- Add .vscode/mcp.json to your workspace.
- Approve the trust prompt on first start.
.vscode/mcp.json
{ "servers": { "shadcnio": { "headers": { "Authorization": "Bearer YOUR_TOKEN" }, "type": "http", "url": "https://kit.dev/api/mcp" } } }
Replace YOUR_TOKEN with your personal token. Treat it like an API key.
Windsurf
A block in Cascade's config
- Copy your MCP URL from the dashboard. It comes with every Pro plan.
- In Cascade, open MCPs → View raw config.
- Merge the mcpServers block and save.
~/.codeium/windsurf/mcp_config.json
{ "mcpServers": { "shadcnio": { "headers": { "Authorization": "Bearer YOUR_TOKEN" }, "serverUrl": "https://kit.dev/api/mcp" } } }
Replace YOUR_TOKEN with your personal token. Treat it like an API key.
JetBrains
IntelliJ, WebStorm and more
- Copy your MCP URL from the dashboard. It comes with every Pro plan.
- Open Settings → Tools → AI Assistant → MCP.
- Add a server as JSON, paste the config, Apply.
Settings → Tools → AI Assistant → MCP
{ "mcpServers": { "shadcnio": { "url": "https://kit.dev/api/mcp?token=YOUR_TOKEN" } } }
Replace YOUR_TOKEN with your personal token. Treat it like an API key.
OpenAI Codex
CLI and IDE, one config
- Copy your MCP URL from the dashboard. It comes with every Pro plan.
- Add the block to ~/.codex/config.toml.
- Restart Codex, then check it with /mcp.
~/.codex/config.toml
[mcp_servers.shadcnio] url = "https://kit.dev/api/mcp?token=YOUR_TOKEN" startup_timeout_sec = 20
Replace YOUR_TOKEN with your personal token. Treat it like an API key.
Before and after
No more AI guesswork
What changes when your agent plugs into the shadcn.io MCP.
- Tokens per lookup
- With MCP: ~200
- 30k+ without MCP
- Tries per install
- With MCP: 1
- 3–4 without MCP
- Icons your agent can search
- With MCP: 294k
- None without MCP
Hallucinated output
Without MCP: Fake props, invented APIs, wrong deps
With MCP: Real metadata, verified dependencies
Context window
Without MCP: Pasting docs burns 30k+ context tokens
With MCP: Only what it asks for: one part's props, one demo
Installing components
Without MCP: Copy URL, paste token, every time
With MCP: One command with your token, or every file for Vue, Svelte and Solid
Starting a project
Without MCP: Tailwind, aliases and theme, set up by hand
With MCP: One call: the preset, the theme and the aliases
Finding an example
Without MCP: Written from scratch, or guessed from docs
With MCP: Search every demo for the pattern you need
Data freshness
Without MCP: Months-stale training data
With MCP: Live registry, always current
Your stack
Without MCP: React and Radix, whatever your project runs
With MCP: React, Vue, Svelte or Solid, on the primitives you use
Icon discovery
Without MCP: Copy SVG markup by hand
With MCP: Search 294k icons by meaning, then the exact import
See it before installing
Without MCP: Install first, then see what you got
With MCP: Live demos and an anatomy of every component
Stop paying for guesses. Real components, first try, with every Pro plan.
Get Pro18 tools
The entire shadcn.io registry
Your agent searches, reads and installs every component for React, Vue, Svelte and Solid, 294k icons and 500 brands' design systems, live.
Find any component, utility or hook for your framework and primitives: the catalog by category, ranked search that knows a modal is a dialog, and search across every demo for a pattern.
list_componentsBy category
The catalog, by category
› Show me every overlay for Solid. list_components({ category: "Overlays", framework: "solid" }) { "target": "Solid · Ark UI", "categories": [{ "category": "Overlays", … }], "count": 11, "next": "detail: true, or get_component, says what…" }
search_componentsRanked, with aliases
Ranked search with aliases
› I need a modal for my React Aria app. search_components({ base: "aria", limit: 3, query: "modal" }) { "target": "React · React Aria", "count": 3, "query": "modal", "results": [{ "name": "dialog", … }, …] }
search_demosAcross every demo
Find the demo of a pattern, across every component
› Is there a demo of a date range picker I can start from? search_demos({ query: "date range" }) { "target": "React · Base UI", "count": 10, "next": "get_demo({ name: \"date-input\", demo: \"…", "query": "date range", "results": [{ "name": "date-input", … }, …] }
A component and what you need of it, in one call: its install, usage and a demo. Then only what's next: one part's props, another demo, the docs or the source.
get_componentInclude what you need
A component, and what you need of it, in one call
› Add a dialog to this page. get_component({ include: ["install", "usage"], name: "dialog" }) { "name": "dialog", "title": "Dialog", "category": "Overlays", "target": "React · Base UI", "demos": ["default", …], "dependencies": ["@base-ui/react", …], "description": "A modal window that appears on top…", …
get_component_apiProps · Attributes · Keys
Props, data attributes, CSS variables, keyboard
› What props does the Dialog's content take? get_component_api({ name: "dialog", part: "Content" }) { "name": "dialog", "target": "React · Base UI", "parts": [{ "part": "DialogContent", … }] }
get_component_docsMarkdown
The docs page as Markdown, by section
› How do I use the Combobox in Svelte? get_component_docs({ framework: "svelte", name: "combobox", sections: ["Usage"] }) --- title: Combobox description: "Displays a searchable list of options." category: Selection --- ## Usage …
get_guideForms · Theming · RTL
Forms, theming, colors and RTL, as Markdown
› How do I validate this form with React Hook Form? get_guide({ sections: ["Validation"], topic: "react-hook-form" }) --- title: React Hook Form description: "Build forms in React using React Hook Form and Zod." --- ## Validation ### Client-side …
get_demoReady to paste
A demo's code, ready to paste
› Give me the Calendar's range demo for Vue. get_demo({ demo: "range", framework: "vue", name: "calendar" }) { "name": "calendar", "title": "Range", "target": "Vue · Ark UI", "code": "<script setup lang=\"ts\">\nimport { shal…", "demo": "range", "file": "calendar/example-range.vue", "language": "vue", …
A project's setup, once, then one add command with your token for any framework (several components at once): the shadcn CLI for React and Solid, shadcn-vue, shadcn-svelte. Or every file and package, without a CLI.
get_install_commandToken-embedded
The shadcn CLI command, token included
› Install the Color Picker. get_install_command({ name: "color-picker", packageManager: "pnpm" }) { "name": "color-picker", "target": "React · Base UI", "command": "pnpm dlx shadcn@latest add \"https://k…", "next": "Adds it to the project's ui folder, with …" }
get_install_planVue · Svelte · Solid
Every file and package an install needs
› Add the Dialog to my Vue project. get_install_plan({ framework: "vue", name: "dialog" }) { "name": "dialog", "target": "Vue · Ark UI", "cssVars": { "dark": {…}, "light": {…} }, "files": [{ "target": "lib/utils.ts", … }, …], "install": "npm install @ark-ui/vue @lucide/vue cn…", "items": ["utils", …], "next": "1 more file (pending): get_install_plan({…", …
get_project_setupPreset · Theme · Aliases
Init a project: preset, theme, aliases
› Set up a new Vite app with shadcn.io. get_project_setup({ framework: "react", stack: "vite" }) { "target": "React · Base UI", "guide": "## Use the shadcn.io Preset\n\n### Creat…", "init": "npx shadcn@latest init \"https://kit.dev/…", "next": "Then get_install_command (or get_componen…", "registry": { "componentsJson": {…}, … }, "stack": "Vite" }
Search 294k icons across 222 libraries by meaning, then add them: the import from the set's package, or a component for your framework.
list_icon_libraries222 libraries
Every icon library, most used first
› Which icon sets do you have? list_icon_libraries({ limit: 3, query: "material" }) { "count": 8, "libraries": [{ "name": "Material Symbols", … }, …] }
search_icons294k icons
Search 294k icons across 222 libraries
› Find icons for the sidebar: home, settings and logout. search_icons({ library: "lucide", queries: ["home", "settings", "logout"] }) { "count": 7, "next": "get_icon with names (one set) gives one i…", "results": [{ "names": ["house", …], … }, …] }
get_iconImport or component
The import, or a component, for any framework
› Add the sidebar's icons. get_icon({ library: "lucide", names: ["house", "settings", "log-out"] }) { "library": "lucide", "import": "import { HouseIcon, SettingsIcon, LogOu…", "package": "lucide-react", "framework": "react", "icons": [{ "name": "house", … }, …] }
A real brand's design system as a DESIGN.md (colors, type, spacing and components from 500 brands) for your agent to match a look, and templates to start a project from.
search_designs500 brands
500 brands' design systems, by name, product or color
› Find me a design system like Stripe's to base our app on. search_designs({ limit: 5, query: "fintech" }) { "count": 5, "next": "get_design({ name: \"stripe\" }) returns …", "query": "fintech", "results": [{ "name": "Stripe", … }, …] }
get_designDESIGN.md
A brand's DESIGN.md, whole or by section
› Make this app look like Linear. get_design({ name: "linear", sections: ["tokens"] }) { "name": "Linear", "slug": "linear", "categories": ["Project Management", …], "description": "A near-black product-focused marke…", "download": "https://kit.dev/design/linear/raw", "file": "DESIGN.md", "sections": ["tokens", …], …
search_templatesCode · Live demo
Templates to start from, by what the app is
› Is there a template I can start my SaaS dashboard from? search_templates({ limit: 3, query: "saas dashboard" }) { "count": 3, "next": "Start from one: clone its github (premium…", "query": "saas dashboard", "results": [{ "name": "Prodexa — Productivit…", … }, …] }
Who your agent is connected as, your plan, and how many calls are left this minute.
whoamiAccount · Limits
Who's connected, and the rate limit
› Is my MCP connection working? whoami() { "email": "you@example.com", "plan": "Pro", "rateLimit": { "limit": 600, "remaining": 598, … } }
ROI calculator
What Pro saves you
Plug in your own numbers. Hand-coding cost is blocks × hours × rate, over a year.
- Blocks you build per month
- Hours per block, by hand
- Your hourly rate
You keep
You keep $23,611 a year. Hand-coding: $24,000 a year. Pro, billed yearly: $389 a year. About 240 hours back each year.
Pricing
Get MCP with Pro
MCP comes with every Pro plan. Pick the seats you need.
4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.
Billing
Billed once a year in USD. Cancel anytime.
- How many people can use the license.
- Client work, SaaS products and anything you charge for.
- Production-ready React sections: hero, pricing, features, dashboards and more.
- Complete multi-page sites you can ship as they are.
- React icons from every major library, installable with one command.
- Presets that restyle every block, in light and dark.
- Lets your AI editor search, preview and install blocks for you.
- Priority requests are answered first.
Individual
For personal projects & open source
$32instead of $49/mo
$389 billed yearly
- Seats: 1 seat
- Commercial use: Personal & open source only
- Pro blocks: 6,000+ blocks
- Templates: All 14 templates
- React icons: 294k+ icons
- Themes: All 59 themes
- MCP server: Basic usage
- Support: Standard
Team
Most popularFor freelancers, agencies & startups
$66instead of $99/mo
$789 billed yearly · ≈ $13/dev/mo
- Seats: Up to 5 seats
- Commercial use: Included
- Pro blocks: 6,000+ blocks
- Templates: All 14 templates
- React icons: 294k+ icons
- Themes: All 59 themes
- MCP server: High usage
- Support: Priority
Organization
For companies with larger teams
$132instead of $199/mo
$1,589 billed yearly
- Seats: Unlimited seats
- Commercial use: Included
- Pro blocks: 6,000+ blocks
- Templates: All 14 templates
- React icons: 294k+ icons
- Themes: All 59 themes
- MCP server: Unlimited usage
- Support: Priority
Billed once a year in USD. Cancel anytime.
Individual
For personal projects & open source
$32instead of $49/mo
$389 billed yearly
- How many people can use the license.Seats: 1 seat
- Client work, SaaS products and anything you charge for.Commercial use: Personal & open source only
- Production-ready React sections: hero, pricing, features, dashboards and more.Pro blocks: 6,000+ blocks
- Complete multi-page sites you can ship as they are.Templates: All 14 templates
- React icons from every major library, installable with one command.React icons: 294k+ icons
- Presets that restyle every block, in light and dark.Themes: All 59 themes
- Lets your AI editor search, preview and install blocks for you.MCP server: Basic usage
- Priority requests are answered first.Support: Standard
Team
Most popularFor freelancers, agencies & startups
$66instead of $99/mo
$789 billed yearly · ≈ $13/dev/mo
Everything in Individual, plus
- How many people can use the license.Seats: Up to 5 seats
- Client work, SaaS products and anything you charge for.Commercial use: Included
- Lets your AI editor search, preview and install blocks for you.MCP server: High usage
- Priority requests are answered first.Support: Priority
Organization
For companies with larger teams
$132instead of $199/mo
$1,589 billed yearly
Everything in Team, plus
- How many people can use the license.Seats: Unlimited seats
- Lets your AI editor search, preview and install blocks for you.MCP server: Unlimited usage
- Secure checkout via Stripe
- Code lives in your repo
- Keep what you've shipped if you cancel
- License terms
Included in Pro
14 premium templates
Complete multi-page sites to start from, in every Pro plan.
Every template, every block. Included in every Pro plan.
Get ProReviews
Devs love shadcn.io
We've been blown away by the love & support from users.
“Beautiful landing page design with perfect balance and flow. The color palette combined with the animations creates an exceptional user experience.”
AOAlan Obeng-PeprahSenior Designer @ NativeXAI “The templates are not just visually stunning but also incredibly well-structured. Saved us weeks of development time.”
ABAbiola BraimahDeveloper @ Studio IX “shadcn.io templates have completely transformed how we approach new client projects. The code quality is exceptional and the designs are truly world-class.”
DGDanny G.Founder of DevStack “I've used many template libraries before, but shadcn.io stands out for its attention to performance optimization and clean code architecture.”
IDIan D.CTO at Wavelength “I appreciate how modular and well-documented these components are. We've been able to mix and match pieces from different templates seamlessly.”
GPGarrett P.Frontend Lead at TechFusion “The ROI on shadcn.io templates is incredible. We've dramatically reduced our development time while delivering higher quality sites to our clients.”
XCXavier C.Agency Owner
Ship like they do. MCP is in every Pro plan.
Get ProUsed by 50k devs and across top universities
- University of Washington
- University of Illinois Urbana-Champaign
- Arizona State University
- Harvard University
- UC Berkeley
- Cornell University
- Dartmouth College
- Carnegie Mellon University
- UCLA
- UC San Diego
- Northeastern University
- Boston University
- Rochester Institute of Technology
- Worcester Polytechnic Institute
- University of Pittsburgh
- University of Georgia
- University of Cincinnati
- IE Business School
- ESSEC Business School
- Universidad EAFIT
- Universitat Pompeu Fabra
FAQ
Frequently asked questions
What MCP gives your agent, how it compares to pasting docs, and how Pro access works.
Give your agent the whole registry
18 tools, every component for React, Vue, Svelte and Solid, and 294k icons, in every Pro plan: monthly, yearly or lifetime.







