Skip to main content
Glama
Element-UI MCP Server

Element-UI MCP Server

by yun8711

Element-UI MCP Server

中文文档

A Model Context Protocol (MCP) server that provides comprehensive information about Element-UI v2.15.14 components. This server enables AI assistants to query Element-UI component documentation, properties, events, and usage examples.

Project Introduction

Vue.js is an extremely powerful frontend framework, and Element-UI is one of the most popular and mature UI component libraries from the Vue 2 era. Although the Vue ecosystem has now entered the Vue 3 era, with Element-UI's last commit being on August 24, 2023, there are still many projects based on Vue 2 + Element-UI that continue to be maintained and iterated.

To enable large language models to more accurately understand Element-UI's components, properties, events, and examples when reading, generating, and completing code, and to further improve our development efficiency in maintaining legacy projects, I drew inspiration from the practices of other excellent component libraries and built this Element-UI dedicated MCP Server.

I hope it will be useful in your daily development and save more time for fellow developers who continue to maintain Vue 2 projects.

Related MCP server: Ant Design MCP Server

Features

  • 📋 List Components - Get a complete list of all Element-UI components

  • 🔍 Search Components - Search components by name or description

  • 📖 Component Details - Get detailed information about specific components

  • ⚙️ Component Properties - Access all props, types, and defaults for components

  • 🎯 Component Events - View all events and their parameters

  • 📝 Usage Examples - Extract code examples from component documentation

Installation

# Clone the repository
git clone https://github.com/yun8711/element-ui-mcp.git
cd element-ui-mcp

# Install dependencies
pnpm install

# Build the project
pnpm run build

MCP API

The server provides 6 MCP API:

1. list_components

Lists all available Element-UI components.

2. search_components

Search for components by keyword.

Parameters:

  • keyword: Search term

  • limit (optional): Maximum number of results

3. get_component

Get detailed information about a specific component.

Parameters:

  • tagName: Component tag name (e.g., "el-button")

4. get_component_props

Get all properties for a specific component.

Parameters:

  • tagName: Component tag name

  • propName (optional): Specific property name

5. get_component_events

Get all events for a specific component.

Parameters:

  • tagName: Component tag name

  • eventName (optional): Specific event name

6. get_component_examples

Get usage examples for a specific component.

Parameters:

  • tagName: Component tag name

  • exampleIndex (optional): Index of specific example

MCP Integration

To use this server with MCP-compatible clients, you can configure it in two ways:

Option 1: Local Installation

If you have cloned and built the project locally:

{
  "mcpServers": {
    "element-ui": {
      "command": "node",
      "args": ["/path/to/element-ui-mcp/stdio.js"]
    }
  }
}

Install the package globally and use npx:

npm install -g element-ui-mcp

Then configure in your MCP client:

{
  "mcpServers": {
    "element-ui": {
      "command": "npx",
      "args": ["-y", "element-ui-mcp"]
    }
  }
}

The npx approach is recommended as it automatically manages the package and ensures you're using the latest version.

Data Source

The component data is extracted from Element-UI v2.15.14 documentation and type definitions, including:

  • Component properties and types

  • Event definitions

  • Usage examples from documentation

  • TypeScript definitions

License

MIT

Available Tools

8 tools
get_componentGet Element-UI ComponentB

获取 Element-UI 组件库中某个组件的详细信息。返回:含前缀的标签名(tagName)、描述(description)、文档 URL(documentation URL)、属性(props)、事件(events)、插槽(slots)、示例代码(example)、类型定义(dts)。

Inputs: tagName (required). Returns: dts, props, slots, docUrl, +5 more

get_component_eventsGet Component EventsA

获取 Element-UI 组件的所有事件(Events)信息,包括事件名称、描述、参数等。

Inputs: tagName (required), eventName. Returns: total, events, tagName

get_component_examplesGet Component ExamplesC

获取 Element-UI 组件的具体使用示例。直接返回过滤后的文档内容。

Inputs: tagName (required). Returns: content, tagName

get_component_methodsGet Component MethodsB

获取 Element-UI 组件的所有方法(Methods)信息,包括方法名称、参数、返回值等。

Inputs: tagName (required), methodName. Returns: total, methods, tagName

get_component_propsGet Component PropsC

获取 Element-UI 组件的所有属性(Props)信息,包括名称、类型、描述、默认值等。

Inputs: tagName (required), propName. Returns: props, total, tagName

get_component_slotsGet Component SlotsA

获取 Element-UI 组件的所有插槽(Slots)信息,包括插槽名称、作用域参数、描述等。

Inputs: tagName (required), slotName. Returns: slots, total, tagName

list_componentsList Element-UI ComponentsA

列出 Element-UI 组件库中所有可用的组件。每个条目返回:含前缀的标签名(tagName)、描述(description)、文档 URL(documentation URL)。结果按标签名(升序)排序。

Inputs: no named parameters. Returns: components

search_componentsSearch Element-UI ComponentsB

根据关键词搜索 Element-UI 组件库中的组件。支持在组件名和描述中进行模糊匹配。

Inputs: keyword (required), limit. Returns: total, components

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 8 tools

    Disambiguation2/5

    Multiple tools have unclear boundaries and significant overlap. For example, get_component already includes events, props, slots, and examples in its output, making get_component_events, get_component_props, get_component_slots, and get_component_examples largely redundant. This creates ambiguity for an agent trying to select the right tool, as it might not know when to use the comprehensive get_component versus the specific sub-tools.

    Naming Consistency5/5

    The tool names follow a highly consistent verb_noun pattern throughout, with all tools using snake_case and starting with 'get_' or 'list_' or 'search_' followed by a clear noun. This predictability makes it easy for an agent to understand and navigate the tool set without confusion.

    Tool Count3/5

    With 8 tools, the count is borderline for the server's purpose of accessing Element-UI component information. While it covers various aspects, the redundancy among tools makes it feel heavy and over-specified, as a more streamlined set could achieve the same functionality with fewer tools, reducing complexity for agents.

    Completeness4/5

    The tool set provides comprehensive coverage for retrieving and searching Element-UI component details, including listings, searches, and detailed breakdowns of properties, events, slots, and examples. A minor gap is the lack of tools for creating, updating, or deleting components, but this is reasonable given the server's likely read-only documentation focus, so agents can still perform core lookup tasks effectively.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers