Shadcn Registry Manager

by reuvenaor

615 downloads Not rated yet
GitHub

About

MCP server for Shadcn UI, enabling automated, remote, or containerized project management via local or remote registries.

Explore

- Exposes shadcn CLI operations as MCP tools.
- Supports project initialization and component addition.
- Can fetch, list, and add registry items including block components.
- Works with both official and custom/self-hosted registries.
- Deployable via Docker or npx.
- Integrates with AI agents and Claude.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Shadcn Registry Manager
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

{
  "shadcn-registry-manager": {
    "type": "stdio",
    "command": "npx",
    "args": [
      "@reuvenorg/shadcn-registry-manager"
    ],
    "env": {
      "REGISTRY_URL": "https://ui.shadcn.com/r",
      "WORKSPACE_DIR": "/Library/Projects/resume",
      "STYLE": "new-york"
    }
  }
}
use the tool get_blocks to get the blocks from the registry
use the tool add_item - dashboard-01 to your project

get_init_instructions

Get project initialization instructions

execute_init

Run full project initialization

get_items

List available registry items

get_item

Fetch a specific registry item

add_item

Add a registry item to your project

execute_add

Add multiple components to your project

get_blocks

Get current blocks from the registry

- get_init_instructions: Get project initialization instructions
- execute_init: Run full project initialization
- get_items: List available registry items
- get_item: Fetch a specific registry item
- add_item: Add a registry item to your project
- execute_add: Add multiple components to your project
- get_blocks: Get current blocks from the registry

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "shadcn registry manager": {
            "shadcn-registry-manager": {
                "command": "docker",
                "args": [
                    "run",
                    "--rm",
                    "-i",
                    "--mount",
                    "type=bind,src=<your-project-path>,dst=/workspace",
                    "-e",
                    "REGISTRY_URL=https://ui.shadcn.com/r",
                    "-e",
                    "STYLE=new-york",
                    "reuvenaor/shadcn-registry-manager"
                ]
            }
        }
    }
}

McpServers

{
    "shadcn-registry-manager": {
        "command": "docker",
        "args": [
            "run",
            "--rm",
            "-i",
            "--mount",
            "type=bind,src=<your-project-path>,dst=/workspace",
            "-e",
            "REGISTRY_URL=https://ui.shadcn.com/r",
            "-e",
            "STYLE=new-york",
            "reuvenaor/shadcn-registry-manager"
        ]
    }
}

This project provides an MCP (Model Context Protocol) server for the shadcn/ui component registry and CLI. It enables remote, programmatic, or containerized execution of shadcn CLI commands (such as init, add, etc.) that you would normally run locally, making it easy to automate, integrate, or run in cloud/dev environments. The MCP server can connect to both local and remote shadcn registries, providing a secure, extensible, and technical interface for automating project management tasks via AI or CLI agents.

What It Does

This MCP server exposes shadcn CLI operations as MCP tools, so you (or an AI agent) can:

- Initialize a project
- Add components from the shadcn registry including block components
- List and fetch registry items
- Run all shadcn CLI workflows remotely
- Supports both the official shadcn registry - https://ui.shadcn.com/r and custom/self-hosted registries follow this guide: https://ui.shadcn.com/docs/blocks

Usage

Docker

Run the MCP server in a container, mounting your project directory:

Add the following to your mcp.json file:

   "shadcn-registry-manager": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--mount",
        "type=bind,src=<your-project-path>,dst=/workspace",
        "-e", 
        "REGISTRY_URL=https://ui.shadcn.com/r",
        "-e", 
        "STYLE=new-york",
        "reuvenaor/shadcn-registry-manager"
      ],
    },
Docker mounting explanation:

- \<your-project-path\> - Is the path to your project directory.

Example: /Library/Projects/shadcn-registry-manager/www

- /workspace - is the path to the workspace directory inside the container.
(Don't change it, if you do, you must pass the same path as cwd param on every tool call)

Docker ENV Variables:
- REGISTRY_URL - option 1: https://ui.shadcn.com/r - The URL of the shadcn registry - option 2: http://localhost:3000>/r - The URL of your own registry server (follow this guide: https://ui.shadcn.com/docs/blocks) - STYLE - is the style of the shadcn registry - new-york

npx

You can also run the MCP server using npx, which is convenient for local development or CI/CD pipelines.

Add the following to your mcp.json file:

  "shadcn-registry-manager": {
    "command": "npx",
    "args": [
      "@reuvenorg/shadcn-registry-manager"
    ],
    "env": {
      "REGISTRY_URL": "https://ui.shadcn.com/r",
      "WORKSPACE_DIR": "/Library/Projects/mcp-docker/www",
      "STYLE": "new-york"
    }
  }

Claude

You can also use the MCP server with Claude. Here are the configuration options:

Claude CLI Command:
claude mcp add --scope project shadcn-registry-manager npx @reuvenorg/shadcn-registry-manager -e REGISTRY_URL=https://ui.shadcn.com/r -e WORKSPACE_DIR=/Library/Projects/resume -e STYLE=new-york
Claude .mcp.json Configuration:
{
  "shadcn-registry-manager": {
    "type": "stdio",
    "command": "npx",
    "args": [
      "@reuvenorg/shadcn-registry-manager"
    ],
    "env": {
      "REGISTRY_URL": "https://ui.shadcn.com/r",
      "WORKSPACE_DIR": "/Library/Projects/resume",
      "STYLE": "new-york"
    }
  }
}
npx ENV Variables:

- WORKSPACE_DIR - The path to your project directory (mounted as the workspace)
- REGISTRY_URL
- option 1: https://ui.shadcn.com/r - The URL of the shadcn registry
- option 2: http://localhost:3000/r - The URL of your own registry server (follow this guide: https://ui.shadcn.com/docs/blocks)
- STYLE - is the style of the shadcn registry - new-york

Example MCP Tools

- get_init_instructions: Get project initialization instructions - execute_init: Run full project initialization - get_items: List available registry items - get_item: Fetch a specific registry item - add_item: Add a registry item to your project - execute_add: Add multiple components to your project - get_blocks: Get current blocks from the registry

Example Usage

use the tool get_blocks to get the blocks from the registry
use the tool add_item - dashboard-01 to your project

Source

- shadcn/ui - Model Context Protocol

made with ❤️ by Reuven Naor

---

MIT License. See LICENSE for details.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.