- 手风琴 (Accordion)
- 警告 (Alert)
- 警告对话框 (Alert Dialog)
- 宽高比 (Aspect Ratio)
- 头像 (Avatar)
- 徽章 (Badge)
- 面包屑 (Breadcrumb)
- 按钮 (Button)
- 按钮组 (Button Group)
- 日历 (Calendar)
- 卡片 (Card)
- 轮播图 (Carousel)
- 图表 (Chart)
- 复选框 (Checkbox)
- 折叠面板 (Collapsible)
- 组合框 (Combobox)
- 命令面板 (Command)
- 上下文菜单 (Context Menu)
- 数据表格 (Data Table)
- 日期选择器 (Date Picker)
- 对话框 (Dialog)
- 抽屉 (Drawer)
- 下拉菜单 (Dropdown Menu)
- 空状态 (Empty)
- 字段 (Field)
- 表单 (Form)
- 悬停卡片 (Hover Card)
- 输入框 (Input)
- 输入组 (Input Group)
- 验证码输入 (Input OTP)
- 项 (Item)
- 键盘按键 (Kbd)
- 标签 (Label)
- 菜单栏 (Menubar)
- 原生选择器 (Native Select)
- 导航菜单 (Navigation Menu)
- 数字输入框 (Number Field)
- 分页 (Pagination)
- 引脚输入 (Pin Input)
- 气泡卡片 (Popover)
- 进度条 (Progress)
- 单选框组 (Radio Group)
- 范围日历 (Range Calendar)
- 可调整大小 (Resizable)
- 滚动区域 (Scroll Area)
- 选择器 (Select)
- 分隔线 (Separator)
- 侧边栏抽屉 (Sheet)
- 侧边栏 (Sidebar)
- 骨架屏 (Skeleton)
- 滑块 (Slider)
- 轻量提示 (Sonner)
- 加载动画 (Spinner)
- 步骤条 (Stepper)
- 开关 (Switch)
- 表格 (Table)
- 标签页 (Tabs)
- 标签输入 (Tags Input)
- 文本域 (Textarea)
- 吐司提示 (Toast)
- 切换按钮 (Toggle)
- 切换按钮组 (Toggle Group)
- 工具提示 (Tooltip)
- 排版 (Typography)
shadcn MCP 服务器允许 AI 助手与注册表中的内容进行交互。你可以浏览可用组件、搜索特定组件,并使用自然语言将其直接安装到你的项目中。
例如,你可以要求 AI 助手“使用 acme 注册表中的组件构建一个落地页”或“为我从 shadcn 注册表中查找一个登录表单”。
注册表在项目的 components.json 文件中进行配置。
{
"registries": {
"@acme": "https://acme.com/r/{name}.json"
}
}快速开始
选择你的 MCP 客户端并按照说明配置 shadcn MCP 服务器。如果想手动配置,请参阅配置章节。
在你的项目中运行以下命令
pnpm dlx shadcn-vue@latest mcp init --client claude
重启 Claude Code 并尝试以下提示词
- 显示 shadcn 注册表中所有可用组件
- 将 button、dialog 和 card 组件添加到我的项目中
- 使用 shadcn 注册表中的组件创建一个联系表单
注意: 你可以在 Claude Code 中使用 /mcp 命令来调试 MCP 服务器。
什么是 MCP?
Model Context Protocol (MCP) 是一种开放协议,使 AI 助手能够安全地连接到外部数据源和工具。通过 shadcn MCP 服务器,你的 AI 助手可以获得直接访问以下功能的能力:
- 浏览组件 - 列出任何已配置注册表中所有可用的组件、区块和模板
- 跨注册表搜索 - 通过名称或功能在多个源中查找特定组件
- 自然语言安装 - 使用简单的对话提示(如“添加一个登录表单”)来添加组件
- 支持多个注册表 - 访问公共注册表、私有公司库和第三方资源
工作原理
MCP 服务器充当你的 AI 助手、组件注册表和 shadcn CLI 之间的桥梁。
- 注册表连接 - MCP 连接到已配置的注册表(shadcn/ui、私有注册表、第三方源)
- 自然语言 - 你用纯英语描述你的需求
- AI 处理 - 助手将你的请求转换为注册表命令
- 组件交付 - 资源被获取并安装到你的项目中
支持的注册表
shadcn MCP 服务器可直接与任何兼容 shadcn 的注册表开箱即用。
- shadcn/ui 注册表 - 包含所有 shadcn/ui 组件的默认注册表
- 第三方注册表 - 任何遵循 shadcn 注册表规范的注册表
- 私有注册表 - 你公司的内部组件库
- 命名空间注册表 - 使用
@namespace语法配置的多个注册表
配置
你可以使用任何 MCP 客户端与 shadcn MCP 服务器交互。以下是主流客户端的配置说明。
Claude Code
要将 shadcn MCP 服务器与 Claude Code 一起使用,请将以下配置添加到项目的 .mcp.json 文件中
{
"mcpServers": {
"shadcn": {
"command": "npx",
"args": ["shadcn-vue@latest", "mcp"]
}
}
}添加配置后,重启 Claude Code 并运行 /mcp 以在列表中查看 shadcn MCP 服务器。如果你看到 Connected(已连接),说明配置成功。
详情请参阅 Claude Code MCP 文档。
Cursor
要在 Cursor 中配置 MCP,请将 shadcn 服务器添加到项目的 .cursor/mcp.json 配置文件中
{
"mcpServers": {
"shadcn": {
"command": "npx",
"args": ["shadcn-vue@latest", "mcp"]
}
}
}添加配置后,在 Cursor 设置中启用 shadcn MCP 服务器。
启用后,你应该会在 MCP 服务器列表中看到 shadcn 服务器旁边有一个绿点,以及可用的工具列表。
详情请参阅 Cursor MCP 文档。
VS Code
要在带有 GitHub Copilot 的 VS Code 中配置 MCP,请将 shadcn 服务器添加到项目的 .vscode/mcp.json 配置文件中
{
"mcpServers": {
"shadcn": {
"command": "npx",
"args": ["shadcn-vue@latest", "mcp"]
}
}
}添加配置后,打开 .vscode/mcp.json 并点击 shadcn 服务器旁边的 Start(启动)。
详情请参阅 VS Code MCP 文档。
Codex
注意: shadcn-vue CLI 无法自动更新 ~/.codex/config.toml。你需要手动添加配置。
要在 Codex 中配置 MCP,请将 shadcn 服务器添加到 ~/.codex/config.toml
[mcp_servers.shadcn]
command = "npx"
args = ["shadcn-vue@latest", "mcp"]添加配置后,重启 Codex 以加载 MCP 服务器。
Opencode
要在 opencode 中配置 MCP,请将 shadcn 服务器添加到 opencode.json
{
"$schema": "https://opencode.ac.cn/config.json",
"mcp": {
"shadcnVue": {
"type": "local",
"enabled": true,
"command": ["npx", "shadcn-vue@latest", "mcp"]
}
}
}详情请参阅 Opencode 文档。
配置注册表
MCP 服务器通过项目的 components.json 配置文件支持多个注册表。这使你能够从各种来源(包括私有注册表和第三方提供商)访问组件。
在 components.json 中配置额外的注册表
{
"registries": {
"@acme": "https://registry.acme.com/{name}.json",
"@internal": {
"url": "https://internal.company.com/{name}.json",
"headers": {
"Authorization": "Bearer ${REGISTRY_TOKEN}"
}
}
}
}注意: 访问标准 shadcn/ui 注册表无需任何配置。
身份验证
对于需要身份验证的私有注册表,请在 .env.local 中设置环境变量
REGISTRY_TOKEN=your_token_here
API_KEY=your_api_key_here有关注册表身份验证的更多详情,请参阅身份验证文档。
提示词示例
配置好 MCP 服务器后,你可以使用自然语言与注册表进行交互。尝试以下提示词
浏览与搜索
- 显示 shadcn 注册表中所有可用组件
- 从 shadcn 注册表中为我查找一个登录表单
安装项目
- 将 button 组件添加到我的项目中
- 使用 shadcn 组件创建一个登录表单
- 从 acme 注册表中安装 Cursor 规则
使用命名空间
- 显示来自 acme 注册表的组件
- 安装 @internal/auth-form
- 使用来自 acme 注册表的 hero、features 和 testimonials 区块为我构建一个落地页
故障排查
MCP 无响应
如果 MCP 服务器对提示词没有响应
- 检查配置 - 验证 MCP 服务器是否已正确配置并在你的 MCP 客户端中启用
- 重启 MCP 客户端 - 在修改配置后重启你的 MCP 客户端
- 验证安装 - 确保
shadcn-vue已安装在你的项目中 - 检查网络 - 确认你可以访问已配置的注册表
注册表访问问题
如果无法从注册表中加载组件
- 检查 components.json - 验证注册表 URL 是否正确
- 测试身份验证 - 确保已为私有注册表设置了环境变量
- 验证注册表 - 确认注册表在线且可访问
- 检查命名空间 - 确保命名空间语法正确 (
@namespace/component)
安装失败
如果组件安装失败
- 检查项目设置 - 确保拥有有效的
components.json文件 - 验证路径 - 确认目标目录存在
- 检查权限 - 确保组件目录具有写入权限
- 检查依赖项 - 检查是否已安装所需的依赖项
没有工具或提示词
如果你看到 No tools or prompts(无工具或提示词)消息,请尝试以下操作
- 清除 npx 缓存 - 运行
npx clear-npx-cache - 重新启用 MCP 服务器 - 尝试在你的 MCP 客户端中重新启用 MCP 服务器
- 检查日志 - 在 Cursor 中,你可以在 View -> Output 中查看日志,并在下拉菜单中选择
MCP: project-*。