Skip to main content
Glama
yinxianwei

Element Plus Docs MCP

by yinxianwei
README.md
# Element Plus Docs MCP

一个通过 MCP 查询 [Element Plus 中文组件文档](https://cn.element-plus.org/zh-CN/component/overview) 的本地服务。

服务会实时读取官网,并在内存中缓存一小时。它提供三个工具:

- `list_components`:列出或筛选全部组件
- `get_component_doc`:按中英文名或 slug 获取组件文档,可指定小节
- `search_component_docs`:在全部或指定组件文档中搜索关键词

## 环境要求

- Node.js 20 或更高版本

## 安装和构建

```bash
npm install
npm run build
```

从源码使用时,可以将命令链接到本机:

```bash
npm link
```

完成后可以直接运行 `element-plus-docs-mcp` 启动服务。

## 配置 MCP 客户端

在支持 stdio MCP 的客户端配置中加入:

```json
{
  "mcpServers": {
    "element-plus-docs": {
      "command": "element-plus-docs-mcp",
      "args": []
    }
  }
}
```

使用上述配置前,请先执行 `npm run build && npm link`。

## Claude Code VS Code 扩展

Claude Code 的 VS Code 扩展可以管理已经配置的 MCP 服务。添加服务时,可以使用项目级 `.mcp.json`,或者在 VS Code 集成终端中写入用户级配置。

### 项目级配置

适合只在当前项目中使用,也可以将配置提交到版本库与团队共享。

1. 确认本服务已经构建:

   ```bash
   npm install
   npm run build
   npm link
   ```

2. 在需要使用 MCP 的 VS Code 项目根目录创建 `.mcp.json`:

   ```json
   {
     "mcpServers": {
       "element-plus-docs": {
         "type": "stdio",
         "command": "element-plus-docs-mcp",
         "args": [],
         "env": {}
       }
     }
   }
   ```

3. 在 VS Code 中执行 `Developer: Reload Window`,然后打开 Claude Code 聊天面板并输入 `/mcp`。
4. 首次加载项目级 MCP 时确认授权,并检查 `element-plus-docs` 是否显示为已连接。

### 用户级配置

如果希望 Claude Code VS Code 扩展在所有项目中都能使用该服务,请在 VS Code 集成终端中运行:

```bash
claude mcp add \
  --transport stdio \
  --scope user \
  element-plus-docs \
  -- element-plus-docs-mcp
```

配置完成后,在 Claude Code 聊天面板输入 `/mcp` 进行查看、重连或停用。用户级 MCP 配置会同时提供给 Claude Code CLI 和 VS Code 扩展。

可以用下面的问题验证:

```text
使用 element-plus-docs 查询 Table 组件的 span-method 用法
```

如果连接失败,请检查:

- `dist/index.js` 是否存在;不存在时重新运行 `npm run build`
- 是否已经执行 `npm link`,并能在终端中运行 `element-plus-docs-mcp`
- 在 Claude Code 面板的 `/mcp` 中尝试重新连接

## 工具示例

获取 Button 的基础用法:

```json
{
  "component": "button",
  "section": "基础用法"
}
```

搜索 Table 的 `span-method`:

```json
{
  "query": "span-method",
  "components": ["table"]
}
```

## 配置项

- `ELEMENT_PLUS_DOCS_BASE_URL`:文档基础地址,默认 `https://cn.element-plus.org/zh-CN/component`
- `ELEMENT_PLUS_CACHE_TTL_MS`:缓存时间(毫秒),默认 `3600000`

## 开发

```bash
npm run dev
npm run check
```

TDQS

A3.8/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clear, distinct purpose: listing components, retrieving a specific component's documentation, and searching across documentation. There is no functional overlap between the tools.

Naming Consistency4/5

All tools follow a verb_noun pattern with snake_case, but there is a minor inconsistency in singular vs plural usage ('doc' vs 'docs'). This is a small deviation from an otherwise consistent convention.

Tool Count5/5

Three tools is well-scoped for a documentation server, covering the essential actions of browse, retrieve, and search without unnecessary bloat.

Completeness5/5

The tool surface covers the core documentation needs: list components, fetch a specific doc, and search across all docs. There are no obvious gaps for its stated purpose.

Maintenance

ActivitySlowing
ResponsivenessNo issues