shadcn/ui registries

58 component registries you can add to a project with one line. Copy the line, paste it into components.json, install by name.

Adding one takes one line

A registry is a URL that answers with a component. Namespacing it means you install by name instead of by URL.

Four steps

  1. Copy a registry's line from the list below.
  2. Paste it into the registries object in your project's components.json:
    {
      "registries": {
        "@aceternity": "https://ui.aceternity.com/registry/{name}.json"
      }
    }
  3. Install a component by its namespaced name, for example npx shadcn@latest add @namespace/button.
  4. A private registry takes its token from an environment variable rather than from this file.

All 58 registries

13 of these are in the directory and their card opens our page for them; the other 45 go to the registry's own site. 51 publish a line, and the button under the card copies it.

AI Elements

AI-powered UI component registry with smart, composable building blocks.

Alex Carpenter UI

Minimal and clean UI registry by Alex Carpenter for modern web projects.

Alpine UI

Lightweight UI registry offering simple, composable components.

Animate UI

Registry focused on animated, motion-rich UI components for React apps.

Motion Primitives

Motion-driven UI components and primitives built for React and Framer Motion.

Prompt Kit

AI-focused UI kit providing ready-to-use prompts and component templates.

React Bits

Handy React component patterns and snippets registry for developers.

PaceUI

Composable, modern UI registry for React with focus on developer speed.

BaseCN

Chinese-focused Shadcn-style UI registry with ready-to-use templates.

Billing SDK

Registry of UI components for billing, payments, and financial interfaces.

Elements

TryElements.dev registry offering clean, reusable UI components.

NativeUI

Cross-platform registry of UI components designed for native-like experiences.

SmoothUI

Registry of smooth, animated components for sleek modern web apps.

FormCN

Specialized registry for form components, inputs, and UI patterns.

Limeplay

Creative UI registry offering playful, colorful components for modern apps.

Skiper UI

Growing collection of Shadcn-based React/Next.js components for rapid MVPs.

Shadcn Blocks

Community-driven collection of reusable Shadcn UI blocks for accessible design.

Shadcn UI Registries: A Comprehensive Guide

Shadcn registries are centralized repositories that store and manage UI components for the shadcn framework. They enable developers to add, update, and distribute custom or official components across projects. The official shadcn registry is hosted at ui.shadcn.com, and developers can also create their own custom registries or use third-party registries to extend their component libraries.

The Shadcn MCP Server

Use the shadcn MCP server to browse, search, and install components from registries.

The shadcn MCP Server allows AI assistants to interact with items from registries. You can browse available components, search for specific ones, and install them directly into your project using natural language.

For example, you can ask an AI assistant to “Build a landing page using components from the acme registry” or “Find me a login form from the shadcn registry”.

Registries are configured in your project’s components.json file.

"registries": {
  "@acme": "https://acme.com/r/{name}.json"
}

What is MCP?

Model Context Protocol (MCP) is an open protocol that enables AI assistants to securely connect to external data sources and tools. With the shadcn MCP server, your AI assistant gains direct access to:

  • Browse Components - List all available components, blocks, and templates from any configured registry
  • Search Across Registries - Find specific components by name or functionality across multiple sources
  • Install with Natural Language - Add components using simple conversational prompts like “add a login form”
  • Support for Multiple Registries - Access public registries, private company libraries, and third-party sources

How It Works

The MCP server acts as a bridge between your AI assistant, component registries and the shadcn CLI.

  • Registry Connection - MCP connects to configured registries (shadcn/ui, private registries, third-party sources)
  • Natural Language - You describe what you need in plain English
  • AI Processing - The assistant translates your request into registry commands
  • Component Delivery - Resources are fetched and installed in your project

Supported Registries

The shadcn MCP server works out of the box with any shadcn-compatible registry.

  • shadcn/ui Registry - The default registry with all shadcn/ui components
  • Third-Party Registries - Any registry following the shadcn registry specification
  • Private Registries - Your company’s internal component libraries
  • Namespaced Registries - Multiple registries configured with @namespace syntax

Quick Start

Select your MCP client and follow the instructions to configure the shadcn MCP server. If you’d like to do it manually, see the Configuration section.

Run the following command in your project:

pnpm dlx shadcn@latest mcp init --client claude

Restart your MCP client and try the following prompts:

  • Show me all available components in the shadcn registry
  • Add the button, dialog and card components to my project
  • Create a contact form using components from the shadcn registry

Note: You can use /mcp command in your client to debug the MCP server.

Configuration

You can use any MCP client to interact with the shadcn MCP server. Here are the instructions for the most popular ones.

Claude Code

To use the shadcn MCP server with Claude Code, add the following configuration to your project’s .mcp.json file:

"mcpServers": {
  "shadcn": {
    "command": "npx",
    "args": ["shadcn@latest", "mcp"]
  }
}

After adding the configuration, restart Claude Code and run /mcp to see the shadcn MCP server in the list. If you see Connected, you’re good to go.

See the Claude Code MCP documentation for more details.

Cursor

To configure MCP in Cursor, add the shadcn server to your project’s .cursor/mcp.json configuration file:

"mcpServers": {
  "shadcn": {
    "command": "npx",
    "args": ["shadcn@latest", "mcp"]
  }
}

After adding the configuration, enable the shadcn MCP server in Cursor Settings.

Once enabled, you should see a green dot next to the shadcn server in the MCP server list and a list of available tools.

See the Cursor MCP documentation for more details.

VS Code

To configure MCP in VS Code with GitHub Copilot, add the shadcn server to your project’s .vscode/mcp.json configuration file:

"mcpServers": {
  "shadcn": {
    "command": "npx",
    "args": ["shadcn@latest", "mcp"]
  }
}

After adding the configuration, open .vscode/mcp.json and click Start next to the shadcn server.

See the VS Code MCP documentation for more details.

Configuring Registries

The MCP server supports multiple registries through your project’s components.json configuration. This allows you to access components from various sources including private registries and third-party providers.

Configure additional registries in your components.json:

"registries": {
  "@acme": "https://registry.acme.com/{name}.json",
  "@internal": {
    "url": "https://internal.company.com/{name}.json",
    "headers": {
      "Authorization": "Bearer ${REGISTRY_TOKEN}"
    }
  }
}

Note: No configuration is needed to access the standard shadcn/ui registry.

Authentication

For private registries requiring authentication, set environment variables in your .env.local:

REGISTRY_TOKEN=your_token_here
API_KEY=your_api_key_here

For more details on registry authentication, see the Authentication documentation.

Example Prompts

Once the MCP server is configured, you can use natural language to interact with registries. Try one of the following prompts:

  • Show me all available components in the shadcn registry
  • Find me a login form from the shadcn registry

Install Items

  • Add the button component to my project
  • Create a login form using shadcn components
  • Install the Cursor rules from the acme registry

Work with Namespaces

  • Show me components from acme registry
  • Install @internal/auth-form
  • Build me a landing page using hero, features and testimonials sections from the acme registry

Using Third-Party Registries with the MCP Server

To use third-party registries with the MCP server:

  • Add the third-party registry URL to your project’s components.json configuration file.
  • The MCP server automatically supports any shadcn-compatible registry without special setup.
  • You can interact with components from multiple registries using natural language commands or CLI with namespaced formats like @registry/component-name.
  • Private registries can be configured with authentication via environment variables.
  • The MCP server resolves dependencies and installs components seamlessly from the correct registries.

Troubleshooting

MCP Not Responding

If the MCP server isn’t responding to prompts:

  • Check Configuration - Verify the MCP server is properly configured and enabled in your MCP client
  • Restart MCP Client - Restart your MCP client after configuration changes
  • Verify Installation - Ensure shadcn is installed in your project
  • Check Network - Confirm you can access the configured registries

Registry Access Issues

If components aren’t loading from registries:

  • Check components.json - Verify registry URLs are correct
  • Test Authentication - Ensure environment variables are set for private registries
  • Verify Registry - Confirm the registry is online and accessible
  • Check Namespace - Ensure namespace syntax is correct (@namespace/component)

Installation Failures

If components fail to install:

  • Check Project Setup - Ensure you have a valid components.json file
  • Verify Paths - Confirm the target directories exist
  • Check Permissions - Ensure write permissions for component directories
  • Review Dependencies - Check that required dependencies are installed

No Tools or Prompts

If you see the No tools or prompts message, try the following:

  • Clear the npx cache - Run npx clear-npx-cache
  • Re-enable the MCP server - Try to re-enable the MCP server in your MCP client
  • Check Logs - In Cursor, you can see the logs under View -> Output and select MCP: project-* in the dropdown.

In Summary

Shadcn registries are centralized or custom-hosted collections of UI components for shadcn. The shadcn MCP server is a powerful tool enabling AI-assisted interaction with these registries, allowing seamless browsing, searching, and installation using natural language. By configuring multiple registries in components.json and setting up authentication, you can access public, private, and third-party components effortlessly. With support for various MCP clients and comprehensive troubleshooting, managing UI components becomes modular, scalable, and integrated into your development workflow.

More collections