关于 MCP Magic UI
MCP Magic UI 让 AI 助手及其他 MCP 客户端发现并获取 Magic UI 仓库中的组件。它会对组件数据分类并在本地缓存,支持 stdio 和 HTTP 传输。
主要功能
- 01发现 Magic UI 组件
- 02自动对组件分类
- 03本地缓存并支持离线使用
- 04支持 stdio 和 HTTP 传输
- 05提供备用模拟数据
适用场景
- 01为应用查找组件
- 02按路径获取组件源代码
- 03GitHub 不可用时浏览组件
MCP 相关
该 MCP 服务提供列出组件元数据和按文件路径获取源代码的工具。客户端可通过 stdio 或 HTTP 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Magic UI
一个用于访问和浏览 magicuidesign/magicui 仓库中 Magic UI 组件的 MCP(模型上下文协议)服务。
什么是 MCP Magic UI?
MCP Magic UI 是一个实现模型上下文协议(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 传输方式连接到服务
参与贡献
欢迎贡献!你可以通过以下方式参与:
- 创建 issue 报告错误或建议功能
- 改进文档
- 提交包含错误修复或新功能的拉取请求
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。