Skip to main content
Glama
README.md
# idux-ui-mcp

[![Tests](https://github.com/hangboss1761/idux-mcp/workflows/Tests/badge.svg)](https://github.com/hangboss1761/idux-mcp/actions)

idux-ui-mcp 是一个基于 Model Context Protocol (MCP) 的mcp服务,提供对 [iDux UI](https://idux.site/components/button/zh) 组件库的智能访问。本mcp服务允许开发者和 AI 助手更有效地检索 iDux 组件信息、文档和示例代码。

## 功能特性

Tools:

- list_idux_components: 获取所有可用的 idux 组件列表
- get_component_details: 获取特定 idux 组件的详细信息
- get_component_examples: 获取特定 idux 组件的使用示例
- search_components: 通过关键词搜索 idux 组件
- update_components_cache: 手动更新组件信息缓存

## 优势对比

相较于 RAG (Retrieval-Augmented Generation) 方案:

| 特性 | RAG 方案 | idux-ui-mcp |
|------|----------|-------------|
| 数据新鲜度 | 依赖训练数据更新周期 | 可以实时从官方源获取 |
| 信息准确性 | 相似度匹配、信息不全 | 100% 精确匹配且信息完整 |
| 响应速度 | 向量检索耗时 | 本地缓存,毫秒级响应 |
| 版本控制 | 不支持 | 支持多版本切换 |

## 使用场景

场景一:开发使用idux-ui 的 web页面

实现一个TODO List应用,要求TODO项使用表格展示,UI组件使用idux


场景二:组件库问答

idux 的 pagination 组件如何实现分页总数自定义的效果

## 安装

使用npx

```json
{
  "mcpServers": {
    "idux-ui-mcp": {
      "command": "npx",
      "args": ["-y", "idux-ui-mcp"]
    }
  }
}
```

环境变量配置:

| 环境变量 | 描述 | 必须 | 示例 | 默认值 |
|---------|------|------|------|--------|
| IDUX_ZIP_URL_VUE2 | Vue2 版本 zip 包下载地址(预留) | 否 | https://your.domain/idux-vue2.zip | - |
| IDUX_ZIP_URL_VUE3 | Vue3 版本 zip 包下载地址 | 否 | https://your.domain/idux-vue3.zip | https://github.com/IDuxFE/idux/archive/refs/heads/main.zip |
| DEFAULT_VUE_VERSION | 默认使用的Vue版本 | 否 | vue3 | vue3 |
| DOWNLOAD_TIMEOUT | 下载超时时间(毫秒) | 否 | 60000 | 60000 |
| LOG_LEVEL | 日志级别(debug/info/warn/error) | 否 | error | error |

```json
{
  "mcpServers": {
    "idux-ui-mcp": {
      "command": "...",
      "args": ["..."],
      "env": {
        "DOWNLOAD_TIMEOUT": "60000",
        "LOG_LEVEL": "error"
      }
    }
  }
}
```

## 开发

```bash
# 构建项目
pnpm build

# 监视文件变更并自动重新构建
pnpm watch

# 运行测试
pnpm test
```

## 调试

使用 MCP Inspector 工具可以对服务器进行调试:

```bash
# 先构建项目
pnpm watch

npx @modelcontextprotocol/inspector node dist/index.js
```

## 缓存机制

组件信息缓存存储在用户目录下:
- macOS/Linux: `~/.idux-mcp/cache/`
- Windows: `%USERPROFILE%\.idux-mcp\cache\`

缓存清除也可以选择直接删掉上面的目录

## 日志

日志存放在缓存目录:`~/.idux-mcp/logs/` or `%USERPROFILE%\.idux-mcp\logs\`

TDQS

B3.3/5.0

Scored across 5 tools

Disambiguation4/5

Tools target distinct operations: listing all components, searching by keyword, retrieving details, retrieving examples, and cache maintenance. list_idux_components and search_components have some overlap since search can also return component lists, but descriptions clarify. An agent could occasionally confuse when to list versus search.

Naming Consistency4/5

Names mostly follow verb_noun snake_case (list_idux_components, get_component_details, get_component_examples, search_components, update_components_cache). Minor deviations: list_idux_components embeds 'idux' while others do not, and singular/plural varies (component vs components). Still readable and largely consistent.

Tool Count5/5

Five tools are well-scoped for a component documentation MCP: discovery, detail, examples, search, and cache refresh. Each has a clear role with no bloat or missing essentials. The count fits the narrow domain perfectly.

Completeness4/5

Core lifecycle for component lookup is covered: list/search, details, examples, and cache update. Minor gap: no explicit version listing or selection despite 'default Vue3' mentions, but agents can likely pass arguments or work around it.

Maintenance

ActivityInactive
ResponsivenessNo issues