M

MCP Magic UI 服务

@idcdev/mcp-magic-ui
1 Stars 591 次浏览 idcdev 更新于 2026-08-23

一个模型上下文协议(MCP)服务器,提供对Magic UI组件的访问,允许AI助手和其他MCP客户端发现并使用来自Magic UI设计系统的UI组件。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

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 个人访问令牌:

  1. https://github.com/settings/tokens 创建一个令牌
  2. 在项目根目录下创建一个 .env 文件(或从 .env.example 复制)
  3. 将你的令牌添加到 .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 代码

工作原理

  1. 服务器从 Magic UI GitHub 仓库中获取组件数据
  2. 组件数据被本地缓存以减少 API 调用并启用离线使用
  3. 根据组件名称和依赖关系对组件进行分类
  4. 服务器暴露 MCP 工具以访问和搜索组件
  5. 客户端可以使用 stdio 或 HTTP 传输方式连接到服务器

贡献

欢迎贡献!以下是你可以贡献的一些方式:

  • 通过创建问题报告错误并提出功能建议
  • 改进文档
  • 提交带有错误修复或新功能的拉取请求

许可证

MIT