MCP Magic UI 服务
一个模型上下文协议(MCP)服务器,提供对Magic UI组件的访问,允许AI助手和其他MCP客户端发现并使用来自Magic UI设计系统的UI组件。
服务介绍
MCP Magic UI
一个用于访问和探索来自 magicuidesign/magicui 仓库的 Magic UI 组件的 MCP(Model Context Protocol)服务器。
什么是 MCP Magic UI?
MCP Magic UI 是一个实现了 Model Context Protocol (MCP) 的服务器,用于提供对 Magic UI 组件的访问。它从 Magic UI GitHub 仓库中获取组件数据,对它们进行分类,并通过 MCP API 提供这些组件。这使得 AI 助手和其他 MCP 客户端能够轻松地发现并使用 Magic UI 组件在他们的应用程序中。
特性
- 组件发现:通过 MCP 工具访问所有 Magic UI 组件
- 组件分类:根据组件名称和依赖关系自动对组件进行分类
- 缓存系统:本地缓存组件数据以减少 GitHub API 调用并支持离线工作
- 多种传输选项:支持 stdio 和 HTTP 传输方式
- 回退机制:当 GitHub API 不可用时提供模拟数据
安装
# Clone the repository
git clone https://github.com/idcdev/mcp-magic-ui.git
cd mcp-magic-ui
# Install dependencies
npm install
# Build the project
npm run build
配置
为了避免 GitHub API 的速率限制,建议设置 GitHub 个人访问令牌:
- 在 https://github.com/settings/tokens 创建一个令牌
- 在项目根目录下创建一个
.env文件(或从.env.example复制) - 将你的令牌添加到
.env文件中:
GITHUB_TOKEN=your_github_token_here
使用
启动服务器
你可以使用 stdio 或 HTTP 传输方式来启动服务器:
# Using stdio transport (default)
npm start
# Using HTTP transport
TRANSPORT_TYPE=http npm start
连接到服务器
你可以使用任何 MCP 客户端连接到服务器。例如,使用 MCP Inspector:
npx @modelcontextprotocol/inspector mcp-magic-ui
或者,如果使用 HTTP 传输:
npx @modelcontextprotocol/inspector http://localhost:3000
可用工具
服务器提供了以下 MCP 工具:
get_all_components- 获取所有可用的 Magic UI 组件及其元数据列表get_component_by_path- 通过文件路径获取特定组件的源代码
项目结构
-
src/- 源代码index.ts- 服务器的主要入口点cli.ts- 命令行接口server.ts- MCP 服务器配置和工具定义services/- 服务模块github.ts- GitHub API 交互和缓存component-parser.ts- 组件分类和处理
-
cache/- 组件数据的本地缓存 -
dist/- 编译后的 JavaScript 代码
工作原理
- 服务器从 Magic UI GitHub 仓库中获取组件数据
- 组件数据被本地缓存以减少 API 调用并启用离线使用
- 根据组件名称和依赖关系对组件进行分类
- 服务器暴露 MCP 工具以访问和搜索组件
- 客户端可以使用 stdio 或 HTTP 传输方式连接到服务器
贡献
欢迎贡献!以下是你可以贡献的一些方式:
- 通过创建问题报告错误并提出功能建议
- 改进文档
- 提交带有错误修复或新功能的拉取请求
许可证
MIT