Element-UI MCP Server
Provides comprehensive information about Element-UI v2.15.14 components for Vue.js 2, including component documentation, properties, events, and usage examples to assist with code generation and maintenance of Vue 2 projects.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Element-UI MCP Servershow me the properties for the el-date-picker component"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 buildMCP 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 termlimit(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 namepropName(optional): Specific property name
5. get_component_events
Get all events for a specific component.
Parameters:
tagName: Component tag nameeventName(optional): Specific event name
6. get_component_examples
Get usage examples for a specific component.
Parameters:
tagName: Component tag nameexampleIndex(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"]
}
}
}Option 2: Global Installation (Recommended)
Install the package globally and use npx:
npm install -g element-ui-mcpThen 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 toolsget_componentGet Element-UI ComponentB
获取 Element-UI 组件库中某个组件的详细信息。返回:含前缀的标签名(tagName)、描述(description)、文档 URL(documentation URL)、属性(props)、事件(events)、插槽(slots)、示例代码(example)、类型定义(dts)。
| Name | Required | Description | Default |
|---|---|---|---|
| tagName | Yes | 组件标签名, 例如:el-button |
Output Schema
| Name | Required | Description |
|---|---|---|
| dts | Yes | 组件的TypeScript类型定义 |
| props | No | 组件属性列表 |
| slots | No | 组件插槽列表 |
| docUrl | Yes | 组件文档URL |
| events | No | 组件事件(Events)列表 |
| methods | No | 组件方法(Methods)列表 |
| tagName | Yes | 组件标签名, 例如:el-button |
| examples | Yes | 组件用法示例文档内容 |
| description | Yes | 组件描述 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what information is returned but doesn't cover important behavioral aspects: it doesn't mention error handling (e.g., what happens if tagName doesn't exist), performance characteristics, authentication needs, or rate limits. For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves beyond basic output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences: one stating the purpose and one listing the return fields. Every element serves a purpose—the return field list helps the agent understand the comprehensive nature of this tool versus its siblings. However, it could be slightly more front-loaded by explicitly contrasting with sibling tools earlier.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (single parameter, comprehensive output), the description is reasonably complete. The presence of an output schema means the description doesn't need to detail return values, and the 100% schema coverage handles parameters adequately. However, the lack of behavioral context (error handling, etc.) and usage guidance relative to siblings prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'tagName' clearly documented as '组件标签名, 例如:el-button' (component tag name, e.g., el-button). The description doesn't add any parameter semantics beyond what the schema already provides—it doesn't explain format constraints, provide additional examples, or clarify the '含前缀的标签名' (tag name with prefix) mentioned in the return values. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '获取 Element-UI 组件库中某个组件的详细信息' (Get detailed information about a component in the Element-UI component library). It specifies the verb ('获取' - get) and resource ('组件' - component), but doesn't explicitly differentiate it from sibling tools like get_component_props or get_component_events, which focus on specific aspects rather than comprehensive details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its siblings. It doesn't mention alternatives like using get_component_props for just properties or list_components for browsing, nor does it specify prerequisites or contextual usage scenarios. The agent must infer usage from tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_eventsGet Component EventsA
获取 Element-UI 组件的所有事件(Events)信息,包括事件名称、描述、参数等。
| Name | Required | Description | Default |
|---|---|---|---|
| tagName | Yes | 组件标签名, 例如:el-button | |
| eventName | No | 获取特定事件的名称,不指定则返回所有事件 |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | 事件总数 |
| events | Yes | |
| tagName | Yes | 组件标签名 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states what information is returned but doesn't disclose behavioral traits like whether this is a read-only operation (implied by 'get'), potential rate limits, authentication needs, or error conditions. The description is minimal on behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that directly states the tool's purpose and scope. It's front-loaded with the core action and includes no unnecessary information, making it highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, 1 required), 100% schema coverage, and presence of an output schema (which handles return values), the description is reasonably complete. It clearly states what the tool does and what information it returns, though it lacks behavioral details that would be helpful without annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema (e.g., no examples, format details, or edge cases). Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('获取' meaning 'get'), resource ('Element-UI 组件的所有事件'), and scope ('包括事件名称、描述、参数等'). It distinguishes from sibling tools like get_component_methods and get_component_props by focusing exclusively on events.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing event information for Element-UI components, but doesn't explicitly state when to use this vs. alternatives like get_component (which might provide broader info) or when not to use it. No explicit exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_examplesGet Component ExamplesC
获取 Element-UI 组件的具体使用示例。直接返回过滤后的文档内容。
| Name | Required | Description | Default |
|---|---|---|---|
| tagName | Yes | 组件标签名, 例如:el-button |
Output Schema
| Name | Required | Description |
|---|---|---|
| content | Yes | 过滤后的文档内容,包含组件描述和使用示例 |
| tagName | Yes | 组件标签名 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions '直接返回过滤后的文档内容' (directly return filtered documentation content), which hints at read-only behavior and filtering, but doesn't disclose important behavioral traits like whether this requires authentication, rate limits, error conditions, or what 'filtered' specifically means. For a tool with no annotation coverage, this is insufficient behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two clear sentences. The first sentence states the purpose, and the second provides behavioral context about returning filtered content. There's no wasted verbiage, though it could be slightly more structured with explicit separation of purpose and behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (which means the description doesn't need to explain return values) and 100% schema coverage, the description is minimally complete. However, for a tool with no annotations and multiple sibling alternatives, it should provide more context about when to use it and what 'filtered documentation content' specifically entails. The presence of an output schema raises the baseline, but the lack of usage guidance keeps this from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'tagName' clearly documented as '组件标签名, 例如:el-button' (component tag name, e.g.: el-button). The description doesn't add any meaningful parameter semantics beyond what the schema already provides. With high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '获取 Element-UI 组件的具体使用示例' (Get specific usage examples for Element-UI components). It specifies the verb ('获取' - get) and resource ('Element-UI 组件的具体使用示例' - Element-UI component usage examples). However, it doesn't explicitly differentiate from sibling tools like 'get_component' which might return general documentation rather than examples.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'get_component', 'get_component_props', and 'search_components', there's no indication of when examples are needed versus general documentation, properties, or search functionality. The description only states what the tool does, not when it's appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_methodsGet Component MethodsB
获取 Element-UI 组件的所有方法(Methods)信息,包括方法名称、参数、返回值等。
| Name | Required | Description | Default |
|---|---|---|---|
| tagName | Yes | 组件标签名, 例如:el-button | |
| methodName | No | 获取特定方法的名称,不指定则返回所有方法 |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | 方法总数 |
| methods | Yes | |
| tagName | Yes | 组件标签名 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns method information including name, parameters, and return values, but doesn't cover other important aspects like whether it's a read-only operation (implied but not stated), error handling, rate limits, authentication needs, or response format details. For a tool with no annotations, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose and what information it returns. It's front-loaded with the core function and avoids unnecessary details. However, it could be slightly more structured by explicitly separating input and output aspects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, 1 required), 100% schema coverage, and the presence of an output schema (which handles return values), the description is reasonably complete. It clearly defines the tool's scope (Element-UI component methods) and output content. However, it lacks behavioral context (e.g., error cases, permissions) and usage guidelines relative to siblings, which are minor gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents both parameters ('tagName' and 'methodName') with clear descriptions. The description adds no additional parameter semantics beyond what's in the schema—it mentions '方法名称、参数、返回值等' (method name, parameters, return values, etc.), but this refers to output, not input parameters. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '获取 Element-UI 组件的所有方法(Methods)信息' (Get all method information for Element-UI components). It specifies the resource (Element-UI components) and verb (get methods), but doesn't explicitly distinguish it from sibling tools like 'get_component' or 'get_component_props' beyond mentioning it's for methods specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_component' (which might return general component info) or 'get_component_events' (for events instead of methods), nor does it specify prerequisites or exclusions. Usage is implied by the purpose but not explicitly defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_propsGet Component PropsC
获取 Element-UI 组件的所有属性(Props)信息,包括名称、类型、描述、默认值等。
| Name | Required | Description | Default |
|---|---|---|---|
| tagName | Yes | 组件标签名, 例如:el-button | |
| propName | No | 获取特定属性的名称,不指定则返回所有属性 |
Output Schema
| Name | Required | Description |
|---|---|---|
| props | Yes | |
| total | Yes | 属性总数 |
| tagName | Yes | 组件标签名 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves property information but doesn't describe the return format (though an output schema exists, which helps), error handling (e.g., for invalid component names), or performance aspects (e.g., if it's a read-only operation, which is implied but not explicit). For a tool with no annotations, this leaves significant gaps in understanding its behavior beyond basic functionality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that clearly states the tool's purpose and what information it returns. It's front-loaded with the main action and includes specific details (name, type, description, default value). There's no wasted verbiage, though it could be slightly more structured for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, 1 required), 100% schema coverage, and the presence of an output schema, the description is minimally adequate. It explains what the tool does but lacks usage guidelines, behavioral details (e.g., error cases), and differentiation from siblings. The output schema mitigates the need to describe return values, but overall completeness is limited to basic functionality.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with clear descriptions for both parameters: 'tagName' (component tag name, e.g., el-button) and 'propName' (specific property name, optional to return all). The description adds minimal value beyond the schema, mentioning 'Element-UI 组件' to contextualize the tagName but not elaborating on parameter usage or constraints. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '获取 Element-UI 组件的所有属性(Props)信息,包括名称、类型、描述、默认值等' (Get all property information for Element-UI components, including name, type, description, default value, etc.). It specifies the verb ('获取' - get) and resource ('Element-UI 组件的所有属性' - all properties of Element-UI components). However, it doesn't explicitly differentiate from sibling tools like 'get_component' (which might get general component info) or 'get_component_events' (which gets events).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_component' (for general info), 'get_component_events' (for events), or 'list_components' (for listing components). There's no context about prerequisites, such as needing a valid component name, or exclusions. The agent must infer usage from the tool name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_slotsGet Component SlotsA
获取 Element-UI 组件的所有插槽(Slots)信息,包括插槽名称、作用域参数、描述等。
| Name | Required | Description | Default |
|---|---|---|---|
| tagName | Yes | 组件标签名, 例如:el-button | |
| slotName | No | 获取特定插槽的名称,不指定则返回所有插槽 |
Output Schema
| Name | Required | Description |
|---|---|---|
| slots | Yes | |
| total | Yes | 插槽总数 |
| tagName | Yes | 组件标签名 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states what information is returned (slot names, scope parameters, descriptions) but doesn't disclose behavioral traits like whether this is a read-only operation, potential rate limits, authentication needs, error conditions, or response format details. For a tool with no annotation coverage, this leaves significant gaps in understanding how it behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence in Chinese that front-loads the core purpose and includes the scope of returned information. Every word earns its place with no redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, 1 required), 100% schema coverage, and the presence of an output schema (which handles return values), the description is reasonably complete. It clearly states what the tool does and what information it returns. The main gap is the lack of behavioral context due to missing annotations, but the output schema mitigates some of this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema (e.g., it doesn't explain format constraints for tagName beyond '例如:el-button' which is already in schema, or clarify slotName behavior further). Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('获取' meaning 'get'), resource ('Element-UI 组件的所有插槽'), and scope ('包括插槽名称、作用域参数、描述等'). It distinguishes from siblings like get_component_props (which gets properties) and get_component_events (which gets events) by focusing specifically on slots.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving slot information about Element-UI components, but provides no explicit guidance on when to use this tool versus alternatives like get_component (which might return broader component info) or when not to use it. The context is clear but lacks sibling differentiation or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_componentsList Element-UI ComponentsA
列出 Element-UI 组件库中所有可用的组件。每个条目返回:含前缀的标签名(tagName)、描述(description)、文档 URL(documentation URL)。结果按标签名(升序)排序。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| components | Yes | 一份包含组件及其标签名称、描述、文档 URL 的列表(按标签名称排序)。 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well. It discloses key behavioral traits: returns specific fields (tagName with prefix, description, documentation URL), sorting behavior (ascending by tagName), and scope (all components). It doesn't mention pagination, rate limits, or authentication needs, but for a simple list tool this is reasonable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences with zero waste. First sentence states purpose, second specifies return format and sorting. Every element earns its place, and the description is appropriately sized for this simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no annotations, but has output schema), the description is complete. It explains what the tool does, what it returns, and how results are organized. With an output schema handling return structure details, the description doesn't need to explain return values further.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't discuss parameters since none exist, focusing instead on output behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('列出' - list) and resource ('Element-UI 组件库中所有可用的组件' - all available components in Element-UI component library). It distinguishes from siblings by specifying it returns ALL components with specific fields, unlike get_component (single component) or search_components (filtered results).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (to get ALL components with tagName, description, and documentation URL). However, it doesn't explicitly state when NOT to use it or name alternatives like get_component for single components or search_components for filtered results. The context is clear but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_componentsSearch Element-UI ComponentsB
根据关键词搜索 Element-UI 组件库中的组件。支持在组件名和描述中进行模糊匹配。
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | 搜索关键词 | |
| limit | No | 返回结果的最大数量,默认返回所有匹配结果 |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | 匹配到的组件总数 |
| components | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions fuzzy matching in component names and descriptions, which adds some context, but doesn't cover other important aspects like whether this is a read-only operation, what the output format is, if there are rate limits, or any error conditions. For a search tool with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded: it's a single, efficient sentence that directly states the purpose and key feature (fuzzy matching). Every word earns its place, with no redundancy or unnecessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is an output schema (which covers return values), the description doesn't need to explain outputs. However, with no annotations and a search tool that likely has behavioral nuances (e.g., search scope, result ordering), the description is minimal. It's adequate for a basic search but lacks depth for more complex usage scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents both parameters ('keyword' and 'limit') with descriptions. The description adds no additional meaning beyond what the schema provides, such as explaining the fuzzy matching algorithm or default behavior for 'limit'. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '根据关键词搜索 Element-UI 组件库中的组件' (search Element-UI component library components by keyword). It specifies the verb '搜索' (search) and resource 'Element-UI 组件库中的组件' (Element-UI component library components), but doesn't explicitly differentiate from sibling tools like 'list_components' or 'get_component', which is why it doesn't reach a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions '支持在组件名和描述中进行模糊匹配' (supports fuzzy matching in component names and descriptions), which hints at context, but doesn't specify when to choose this over 'list_components' or 'get_component', nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
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.
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.
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.
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
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI coding assistant for Radzen Blazor — docs, APIs, code samples, and templates for 100+ components.
Electronic component datasheets for AI agents — specs, pinouts, package data on demand.
Search 21st.dev UI components & themes, get their code, and generate new ones with 21st AI.
shadcn/ui for Laravel Blade — discover, read and install BlatUI components, blocks and charts.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides reference information for Flux UI components, enabling AI assistants to access component documentation and examples from the Flux UI design system.42293MIT
- AlicenseNot gradedqualityDmaintenanceFetches and structures Ant Design v4 component documentation into JSON format, enabling AI agents to search, analyze, and retrieve component metadata, APIs, and examples.MIT
- FlicenseNot gradedqualityDmaintenanceProvides AI assistants with comprehensive Ant Design component documentation, examples, API references, and best practices. Supports multiple versions and enables natural language queries for React UI component development.223
- AlicenseAqualityDmaintenanceProvides access to Ant Design component library documentation and information for automated code generation. Enables searching components by category or keyword, retrieving component props, examples, API documentation, and available icons.618ISC
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yun8711/element-ui-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server