@particle-network/mcp-ui
v0.0.3
Published
MCP server for using UniversalX UI components in your projects
Readme
UniversalX UI MCP Server
让开发者通过 AI 助手快速集成和使用 UniversalX Design System 组件库
概述
UniversalX UI MCP Server 是一个模型上下文协议服务,帮助开发者在他们的项目中通过 AI 助手(如 Cursor、Claude)快速集成和使用 UniversalX 组件库。
核心价值
当开发者在他们的项目中使用这个 MCP 服务后,可以:
- 自然语言使用组件 - "添加一个主按钮到我的登录页面"
- 智能代码生成 - 自动生成正确的导入语句和组件代码
- 实时文档查询 - "UXButton 组件有哪些属性?"
- 最佳实践指导 - 获取组件使用的最佳实践和示例
- 主题配置助手 - 快速配置和定制主题
工作原理
graph LR
A[开发者项目] --> B[AI 助手<br/>Cursor/Claude]
B --> C[MCP Server]
C --> D[UniversalX 组件库]
C --> E[组件文档]
C --> F[使用示例]
B --> G[生成代码]
G --> A快速开始
1. 在用户项目中安装
# 安装 MCP 服务器
npm install -D @particle-network/mcp-ui
# 或使用全局安装
npm install -g @particle-network/mcp-ui2. 配置 Cursor/VS Code
在项目根目录的 .cursorrules 或 .vscode/settings.json 中添加:
{
"mcpServers": {
"universalx-ui": {
"command": "npx",
"args": ["@particle-network/mcp-ui", "serve"],
"env": {
"PROJECT_PATH": "${workspaceFolder}"
}
}
}
}3. 开始使用
现在可以通过自然语言与 AI 助手交互:
示例对话
用户: "我需要创建一个登录表单"
AI 助手 (通过 MCP):
import { UXButton, UXInput, VStack, UXCard } from '@particle-network/ui-react';
import { useState } from 'react';
export function LoginForm() {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
return (
<UXCard className='w-full max-w-md mx-auto p-6'>
<VStack spacing='lg'>
<h2 className='text-2xl font-bold'>登录</h2>
<UXInput type='email' placeholder='邮箱' value={email} onChange={(e) => setEmail(e.target.value)} />
<UXInput type='password' placeholder='密码' value={password} onChange={(e) => setPassword(e.target.value)} />
<UXButton color='primary' size='md' className='w-full'>
登录
</UXButton>
</VStack>
</UXCard>
);
}MCP 工具列表
1. installComponent - 安装组件库
自动检测项目类型并安装合适的包:
// 工具调用示例
{
tool: "installComponent",
params: {
platform: "web" // 或 "native"
}
}
// 执行结果
// - 安装 @particle-network/ui-react (Web)
// - 或安装 @particle-network/ui-native (React Native)
// - 配置 Tailwind (如果需要)
// - 添加主题提供者2. useComponent - 生成组件使用代码
{
tool: "useComponent",
params: {
component: "UXButton",
props: {
color: "primary",
size: "lg",
children: "点击我"
}
}
}
// 生成代码
import { UXButton } from '@particle-network/ui-react';
<UXButton color="primary" size="lg">
点击我
</UXButton>3. searchComponents - 搜索可用组件
{
tool: "searchComponents",
params: {
query: "form input",
platform: "web"
}
}
// 返回匹配的组件列表及其文档4. getComponentDocs - 获取组件文档
{
tool: "getComponentDocs",
params: {
component: "UXButton"
}
}
// 返回完整的组件文档、Props、示例5. generateExample - 生成使用示例
{
tool: "generateExample",
params: {
useCase: "contact form",
components: ["UXInput", "UXTextarea", "UXButton"]
}
}
// 生成完整的示例代码6. configureTheme - 配置主题
{
tool: "configureTheme",
params: {
colors: {
primary: "#1890ff"
}
}
}
// 生成主题配置代码资源 (Resources)
MCP 服务器提供以下资源供 AI 查询:
1. 组件目录
resource://components/catalog返回所有可用组件的列表和简要说明
2. 组件文档
resource://components/{componentName}/docs返回特定组件的完整文档
3. 设计令牌
resource://design/tokens返回设计系统的颜色、间距、字体等令牌
4. 使用示例
resource://examples/{category}返回特定类别的使用示例(表单、布局、导航等)
5. 最佳实践
resource://guides/best-practices返回组件使用的最佳实践指南
智能提示 (Prompts)
MCP 服务器提供的智能提示模板:
1. 组件选择助手
"根据用户需求推荐最合适的组件"
2. 代码优化建议
"优化组件使用方式,提升性能和可维护性"
3. 无障碍性检查
"确保生成的代码符合无障碍标准"
4. 响应式设计
"自动添加响应式类名和断点"
使用场景示例
场景 1: 创建数据表格
用户: "我需要展示用户列表,包含姓名、邮箱和操作按钮"
MCP 响应:
import { UXTable, UXButton, HStack } from '@particle-network/ui-react';
const columns = [
{ key: 'name', title: '姓名' },
{ key: 'email', title: '邮箱' },
{
key: 'actions',
title: '操作',
render: (row) => (
<HStack spacing='sm'>
<UXButton size='sm' variant='ghost'>
编辑
</UXButton>
<UXButton size='sm' variant='ghost' color='danger'>
删除
</UXButton>
</HStack>
),
},
];
export function UserTable({ users }) {
return <UXTable columns={columns} data={users} />;
}场景 2: 创建响应式导航栏
用户: "创建一个响应式导航栏,包含 logo 和菜单"
MCP 响应:
import { UXNavbar, UXNavItem, UXLogo, Flex } from '@particle-network/ui-react';
export function Navigation() {
return (
<UXNavbar>
<Flex justify='between' align='center'>
<UXLogo src='/logo.svg' alt='Company' />
<Flex gap='lg' className='hidden md:flex'>
<UXNavItem href='/'>首页</UXNavItem>
<UXNavItem href='/products'>产品</UXNavItem>
<UXNavItem href='/about'>关于</UXNavItem>
<UXNavItem href='/contact'>联系</UXNavItem>
</Flex>
<UXMobileMenu className='md:hidden'>{/* 移动端菜单内容 */}</UXMobileMenu>
</Flex>
</UXNavbar>
);
}高级功能
1. 项目感知
MCP 服务器会自动检测:
- 项目类型(React/Next.js/React Native)
- 已安装的 UniversalX 包
- TypeScript 配置
- 样式方案(Tailwind/CSS Modules)
2. 智能导入
自动管理导入语句:
- 检测已有导入
- 合并新的组件导入
- 优化导入顺序
3. 代码风格适配
根据项目配置生成符合风格的代码:
- ESLint 规则
- Prettier 配置
- 命名约定
4. 版本兼容性
自动检查并提示:
- 组件库版本
- React 版本兼容性
- 依赖冲突
配置选项
// mcp-ui.config.js
module.exports = {
// 默认平台
platform: 'web', // 'web' | 'native'
// 组件库版本
version: 'latest',
// 代码风格
codeStyle: {
quotes: 'single',
semi: true,
indent: 2,
},
// 自定义模板
templates: {
component: './templates/component.hbs',
},
// 启用的功能
features: {
autoImport: true,
typescript: true,
tailwind: true,
storybook: false,
},
};故障排除
常见问题
Q: MCP 服务器无法启动
# 检查是否正确安装
npm list @particle-network/mcp-ui
# 手动测试
npx @particle-network/mcp-ui testQ: 组件导入错误
# 确保组件库已安装
npm install @particle-network/ui-reactQ: TypeScript 类型错误
# 安装类型定义
npm install -D @types/react贡献指南
欢迎贡献!请查看 CONTRIBUTING.md
许可证
MIT License
