README Documentation
shadcn registry manager - MCP Server
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)
- option 1:
- 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)
- option 1:
- STYLE - is the style of the shadcn registry -
new-york
Example MCP Tools
get_init_instructions
: Get project initialization instructionsexecute_init
: Run full project initializationget_items
: List available registry itemsget_item
: Fetch a specific registry itemadd_item
: Add a registry item to your projectexecute_add
: Add multiple components to your projectget_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
made with ❤️ by Reuven Naor
MIT License. See LICENSE for details.