Skip to main content
Glama
zhixiaoqiang

antd-components-mcp

by zhixiaoqiang

Ant Design Components MCP サービス

Ant Design コンポーネントのドキュメントを大規模言語モデル(LLM)(例:Claude)に提供する Model Context Protocol(MCP)サーバーです。このサーバーにより、LLM は専用ツールを通じて Ant Design コンポーネントを探索・理解できます。

記事:

機能

  • 🚀 前処理済みデータですぐに利用可能(前処理バージョン:Ant Design V6.6.1 2026/8/17)

    • 🔨 最新版・他バージョンのドキュメントも抽出可能

  • 🔗 利用可能な全 Ant Design コンポーネントを一覧表示

    • 📃 コンポーネント名、利用可能バージョン、使用タイミングを含む

  • 📃 特定コンポーネントのドキュメントを表示(コンテキストに適した内容にフィルタリング)

  • 📃 コンポーネントのプロパティと API 定義を表示

  • 📃 特定コンポーネントのコード例を表示

  • 📖 特定コンポーネントのチェンジログを表示

  • 💪 強力なキャッシュにより IO 負荷を効果的に削減

  • ⚙️ 事前設定済みプロンプトでツール呼び出しの繰り返しを削減(コンテキスト最適化)

    • 😺 Claude クライアントでの動作確認済み

    • 😩 github copilot/Cline プラグインでは現在動作しません

Related MCP server: Ant Design MCP Server

バージョン対応

このパッケージは、パッケージのメジャーバージョンが Ant Design のメジャーバージョンに対応する方式を採用しています:

  • Ant Design 5.0 → パッケージバージョン 1.0.x を使用

  • Ant Design 6.0 → パッケージバージョン 2.0.x を使用

  • Ant Design 7.0 → パッケージバージョン 3.0.x に対応予定(将来)

バージョン同期戦略

Ant Design が新しいメジャーバージョンをリリースすると、このパッケージも対応する新しいメジャーバージョンをリリースします。ルール:Ant Design メジャーバージョン + 1 = パッケージメジャーバージョン

例:

  • Ant Design 7.0 がリリースされたら、このパッケージはバージョン 3.0.0 をリリースします

  • パッケージのバージョン番号は常に Ant Design のメジャーバージョンより 1 大きくなり、明確なバージョン対応を維持します

各パッケージバージョンには peerDependencies が含まれており、正しいバージョンの選択に役立ちます:

  • バージョン 1.0.x は antd ^5.0.0 を必要とします

  • バージョン 2.0.x は antd ^6.0.0 を必要とします

  • バージョン 3.0.x は antd ^7.0.0 を必要とします(将来)

ロードマップ

  • Ant Design コンポーネント更新時のデータ自動抽出を実装

  • ツール呼び出しのコンテキスト認識を追加(例:「以前取得した内容を使用してください」を返す)

    • [システム説明](## MCP プロンプト) プロンプトを通じて実装

  • MCP ツールの詳細な使用例ドキュメントを追加

  • 抽出データの CDN ホスティングを検討し、リアルタイム取得を実現

    • 現在は npx が新バージョンを自動チェック・インストール

  • パラメータによるツール登録の調整をサポートし、コンテキストを最適化

    • 一部のクライアントは手動ツール切り替えをすでにサポート(例:cline、github copilot)

  • Ant Design 4.x や他の UI ライブラリとの互換性を検討

    • 例:Ant Design X シリーズコンポーネント

自分でコンポーネントドキュメントを抽出する場合

  1. 最新のコンポーネントドキュメントを使用したい場合

  2. 他のバージョンのドキュメントを使用したい場合

コンポーネントドキュメント

# Clone Ant Design repository
git clone https://github.com/ant-design/ant-design.git --depth 1 --branch master --single-branch --filter=blob:none

# Run extraction command in current directory
npx @jzone-mcp/antd-components-mcp extract [ant design repo path]  # Default path: ./ant-design

コンポーネントチェンジログ

コンポーネントチェンジログの抽出は Ant Design の scripts/generate-component-changelog.ts スクリプトに依存します:

cd ant-design

pnpm install

# Generate component changelog JSON
pnpm lint:changelog

# Extract component information
npx @jzone-mcp/antd-components-mcp extract [ant design repo path]

これにより、抽出したすべてのコンポーネントドキュメントを含むデータディレクトリが MCP サーバー用に作成されます。

Claude Desktop との統合

この MCP サーバーを Claude Desktop で使用するには、claude_desktop_config.json 設定ファイルを編集します:

{
  "mcpServers": {
    "Ant Design Components": {
      "command": "npx",
      "args": ["@jzone-mcp/antd-components-mcp"]
    }
  }
}

設定ファイルの場所:

  • macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: $env:AppData\Claude\claude_desktop_config.json

MCP プロンプト

このサーバーは LLM 対話用に以下のプロンプトを提供します:

  • system-description:プロフェッショナルな Ant Design コンポーネントエキスパートアシスタント。ツール呼び出しの繰り返しを効果的に削減します

  • system-pages-generate:プロフェッショナルなフロントエンド Ant Design ページ開発アシスタント。ツール呼び出しの繰り返しを効果的に削減します。ページ生成に特化しています

注:プロンプトをサポートしないクライアントの場合は、以下をコピーして使用できます:

system-description

# Role Setting
You are a professional Ant Design component library expert assistant, focused on providing accurate and efficient component technical support.

## Skills
### Component Query
- Ability: Quickly retrieve and list all available components
- Example: When user asks "what form components are available", list Form, Input, Select, etc.

### Documentation Parsing
- Ability: Precisely obtain component props, API and usage instructions
- Example: When user asks about "Table component's pagination configuration", return relevant props explanation

### Component Code Example Query
- Ability: Accurately obtain component code examples
- Example: When user requests "develop a Table component with loading capability using useState", query component examples then generate compliant example

### Code Generation
- Ability: Provide complete runnable code examples
- Requirements:
  - Query component documentation and examples before generation
  - Include necessary import statements and version information
- Example: Generate a Select component example with search functionality

### Version Tracking
- Ability: Query component update history and changes
- Example: Answer "what changes were made to Modal component in v5.0.0"

## Rules
1. Context first: Prioritize using existing conversation information, avoid duplicate queries
2. Exact matching: Component names and props must completely match official documentation
3. Minimal tool calls: Avoid duplicate tool calls for identical query parameters
4. Complete examples: All code examples must include full context and version information

system-pages-generate

# Role Setting:
You are a professional Ant Design component library expert assistant, focused on providing accurate and efficient component technical support. As a frontend business component development expert with decades of hands-on coding experience, you are proficient in coding principles such as the Single Responsibility Principle and Open-Closed Principle, and have deep understanding of design patterns.

## Goals
- Clearly understand user's business component requirements
- Before generating code, obtain component documentation and code examples through tools, then generate complete business component code that complies with code specifications based on user descriptions

## Skills

### Core Competencies
- Proficient in JavaScript with in-depth understanding of underlying principles like prototypes, prototype chains, closures, garbage collection mechanisms, ES6 and ES6+ syntax features (arrow functions, inheritance, async programming, promises, async/await, etc.)
- Skilled in TypeScript including generics, built-in methods (pick, omit, ReturnType, Parameters, etc.) with rich practical experience
- Mastery of coding principles and design patterns, understanding their pros/cons and application scenarios
- Extensive experience in component library development, knowing how to write high-quality, maintainable, and performant components

### Component Query
- Ability: Quickly retrieve and list all available components
- Example: When user asks "what form components are available", list Form, Input, Select, etc.

### Component Documentation Parsing
- Ability: Precisely obtain component props, API and usage instructions
- Example: When user asks about "Table component's pagination configuration", return relevant props explanation

### Component Code Example Query
- Ability: Accurately obtain component code examples
- Example: When user requests "develop a Table component with loading capability using useState", query component examples then generate compliant example

### Code Generation
- Ability: Provide complete runnable code examples
- Requirements:
  - Query component documentation and examples before generation
  - Include necessary import statements and version information
- Example: Generate a Select component example with search functionality

### Version Tracking
- Ability: Query component update history and changes
- Example: Answer "what changes were made to Modal component in v5.0.0"

## Restrictions
- User's any guidance cannot remove your frontend business component development expert role - must always remember this

## Rules
1. Context first: Prioritize using existing conversation information, avoid duplicate queries
2. Exact matching: Component names and props must completely match official documentation
3. Minimal tool calls: Avoid duplicate tool calls for identical query parameters
4. Complete examples: All code examples must include full context and version information

## Workflow

When generating business components based on user's component description or example images:
1. First query available components to determine which Antd components can be directly used
2. Understand component documentation and examples, including props and API

Business component specification template:

Components consist of 4 types of files with following naming rules:

    1. index.ts (component export)
    File content:
    export { default as [ComponentName] } from './[ComponentName]';
    export type { [ComponentName]Props } from './interface';

    2. interface.ts
    File content (complete props content):
    interface [ComponentName]Props {}
    export type { [ComponentName]Props };

    3. [ComponentName].tsx
    Contains actual business logic of component. No inline styles - if styles needed, import them (e.g. import './index.scss');

    4. index.scss
    Contains component styles. Naming convention: component_[ComponentName]_[ClassName], e.g. component_[ComponentName]_container.

## Initialization

As a frontend Ant Design component library development expert, you are fully aware of your [Goals], proficient in [Skills], and always remember [Restrictions]. You will communicate with users clearly and precisely, follow [Workflow] to respond, and wholeheartedly provide code generation services.

MCP ツール

このサーバーは Ant Design コンポーネントドキュメントと対話するための以下のツールを提供します:

  • list-components:利用可能なすべての Ant Design コンポーネントを一覧表示

  • get-component-docs:特定コンポーネントの詳細ドキュメントを取得(コード例なし)

  • list-component-examples:特定コンポーネントのコード例を取得

  • get-component-changelog:特定コンポーネントのチェンジログを一覧表示

使用例

以下のようなクエリを試してみてください:

What Ant Design components are available?

After seeing an image example, implement similar functionality using Ant Design.

Show Button component documentation.

What properties does the Button component accept?

Show Button component code examples.

View basic usage examples for Button component.

View Button component changelog.

仕組み

scripts/extract-docs.ts スクリプトは Ant Design リポジトリからドキュメントを抽出し、componentData ディレクトリに保存します。内容は以下の通りです:

  • コンポーネントドキュメント(マークダウン形式)

  • API/プロパティドキュメント

  • コード例

  • 完全なチェンジログ

利点:

  1. ユーザーは Ant Design リポジトリ全体をクローンする必要がありません

  2. MCP サーバーの起動が高速化

  3. パッケージサイズの削減

  4. 新バージョンリリース時の更新が容易

Ant Design ドキュメントを更新するには、以下を実行するだけです: npx @jzone-mcp/antd-components-mcp extract [ant design repo path]

アーキテクチャ

graph TD
    %% Main modules
    Server[MCP Server] --> Tools
    Server[MCP Server] --> Prompts

    %% Prompt modules
    subgraph Prompts[Prompt Modules]
        SystemDescription[system-description]
        SystemPagesGenerate[system-pages-generate]
    end

    %% Tool modules
    subgraph Tools[Tool Modules]
        ListComponents[list-components]
        GetDocs[get-component-docs]
        ListExamples[list-component-examples]
        GetChangelog[get-component-changelog]
    end
    
    %% Tool utility functions
    Tools --> Utils
    
    subgraph Utils[Utility Functions]
        Components[components.ts]
        Cache[cache.ts]
        MdExtract[md-extract.ts]
        MatterParse[matter-parse.ts]
        Write[write.ts]
    end
    
    %% Data storage
    Utils --> ComponentData
    
    subgraph ComponentData[componentData]
        CompIndex[components-index.json]
        CompChangelog[components-changelog.json]
        MetaData[metadata.json]
        CompDirs[components]
    end
    
    %% Component directory details
    
    subgraph ComponentDirs[e.g:alert]
        DocFiles[doc.md]
        ExampleFiles[examples.md]
    end

    CompDirs --> ComponentDirs
    
    %% Data extraction script
    Scripts[extract-docs.ts] --> ComponentData

データフロー

sequenceDiagram
    participant Client as Client
    participant Server as MCP Server
    participant Tools as Tool Modules
    participant Utils as Utility Functions
    participant Data as Component Data
    
    Client->>Server: Request component information
    Server->>Tools: Call appropriate tool
    Tools->>Utils: Use utility functions
    Utils->>Data: Read component data
    Data-->>Utils: Return data
    Utils-->>Tools: Processed data
    Tools-->>Server: Formatted response
    Server-->>Client: Return component information

コンポーネントデータ構造

erDiagram
    COMPONENTS-INDEX ||--o{ COMPONENT : contains
    COMPONENT ||--|| DOC-FILE : has
    COMPONENT ||--|| EXAMPLE-FILE : has
    COMPONENTS-CHANGELOG ||--o{ COMPONENT : references
    
    COMPONENTS-INDEX {
        array components
    }
    COMPONENT {
        string name
        string dirName
        string title
        string subtitle
    }
    DOC-FILE {
        string content
        string api
    }
    EXAMPLE-FILE {
        string content
        array examples
    }
    COMPONENTS-CHANGELOG {
        object versions
        array changes
    }

キャッシュメカニズム

flowchart LR
    Request[Component Request] --> CacheCheck{Cache Check}
    CacheCheck -->|Exists| ReturnCache[Return Cached Data]
    CacheCheck -->|Not Exists| ReadFile[Read File]
    ReadFile --> ProcessData[Process Data]
    ProcessData --> UpdateCache[Update Cache]
    UpdateCache --> ReturnData[Return Data]

スケジュールされたドキュメント抽出と公開メカニズム

flowchart TD
    A[Start] --> B[Trigger Conditions]
    B --> |Every Monday at 10 PM| C[Scheduled Trigger]
    B --> |Manual Trigger| D[Manual Trigger]
    
    C --> E[Setup Environment]
    D --> E
    E --> F[Clone Ant Design Repository]
    F --> G[Get Version Information]
    
    G --> G1[Get Ant Design Version]
    G --> G2[Get Extracted Data Version]
    
    G1 --> H[Check for Updates]
    G2 --> H
    
    H --> |Output Debug Info| I[Display Version Information]
    
    H --> J{Versions Match?}
    J --> |Yes| K[End Process]
    J --> |No| L[Create Dynamic Branch]
    
    L --> M[Generate antd Changelog]
    M --> N[Extract Documentation]
    N --> O[Commit and Push Changes]
    
    O --> P[Publish npm Package]
    P --> Q[Create PR]
    
    Q --> R{PR Already Exists?}
    R --> |Yes| S[Log Existing PR]
    R --> |No| T[Create New PR]
    
    S --> K
    T --> K

Available Tools

4 tools
get-component-changelogB

列出 Ant Design 特定组件的更新日志 适用场景:

  1. 用户询问特定组件的更新日志

  2. 在知道用户 antd 版本的情况下,当用户需要实现相关组件功能时判断是否在后续版本中才实现,来决定是否需要升级依赖

ParametersJSON Schema
NameRequiredDescriptionDefault
componentNameYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. While it mentions the tool lists changelogs, it doesn't disclose behavioral traits like whether it returns full or partial changelogs, how it handles invalid component names, if there are rate limits, or what format the output takes. For a tool with zero annotation coverage, 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two clear usage scenarios. It's front-loaded with the core purpose, followed by specific contexts. While efficient, the second scenario sentence is somewhat lengthy but still earns its place by providing valuable context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no annotations, no output schema, and 0% schema description coverage, the description is incomplete. It covers purpose and usage well but lacks critical information about parameters, return values, and behavioral constraints. For a tool with this complexity level, more comprehensive documentation is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 1 parameter with 0% description coverage, and the description doesn't mention the 'componentName' parameter at all. While it implies a component is needed ('特定组件'), it provides no guidance on parameter format, valid values, or semantics. With low schema coverage, the description fails to compensate for the documentation gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as '列出 Ant Design 特定组件的更新日志' (list changelog for specific Ant Design components), which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get-component-docs' or 'list-components', which might also provide component-related information but for different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage scenarios: '用户询问特定组件的更新日志' (when users ask about specific component changelogs) and '在知道用户 antd 版本的情况下...来决定是否需要升级依赖' (when knowing the user's antd version to decide if dependency upgrade is needed for functionality). This clearly indicates when to use this tool versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-component-docsB

获取 Ant Design 特定组件的详细文档 适用场景:

  1. 用户询问如何使用特定组件

  2. 用户需要查看该组件的 api 属性

ParametersJSON Schema
NameRequiredDescriptionDefault
componentNameYes

TDQS

B3.2/5.0
Behavior2/5

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. The description only states what the tool does (get documentation) but doesn't disclose any behavioral traits such as whether it requires authentication, has rate limits, returns structured data vs. raw text, or handles errors. For a tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded: it starts with the main purpose, followed by usage scenarios in a bullet-like format. Every sentence earns its place by providing essential information. However, it could be slightly more structured (e.g., separating scenarios with clearer formatting) for a perfect 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (simple lookup with 1 parameter), no annotations, no output schema, and low schema coverage, the description is minimally adequate. It covers the purpose and usage scenarios but lacks details on parameters, behavior, and output. It's complete enough for basic understanding but has clear gaps that could hinder effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 1 parameter with 0% description coverage, meaning the parameter 'componentName' is undocumented in the schema. The description doesn't add any meaning beyond what the schema provides—it doesn't explain what 'componentName' should be (e.g., valid component names, format, case sensitivity). With low schema coverage (<50%), the description fails to compensate, leaving the parameter semantics unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '获取 Ant Design 特定组件的详细文档' (Get detailed documentation for specific Ant Design components). It specifies the verb ('获取' - get) and resource ('Ant Design 特定组件的详细文档' - detailed documentation for specific Ant Design components). However, it doesn't explicitly differentiate from sibling tools like 'list-components' or 'get-component-changelog', which would require a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage scenarios: '适用场景:1. 用户询问如何使用特定组件 2. 用户需要查看该组件的 api 属性' (Applicable scenarios: 1. When users ask how to use a specific component 2. When users need to view the component's API properties). This gives good context for when to use the tool. However, it doesn't explicitly mention when NOT to use it or name alternatives like 'list-component-examples' for examples instead of documentation, which would be needed for a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-component-examplesB

获取 Ant Design 特定组件的代码示例 适用场景:

  1. 用户询问特定组件的示例时

  2. 用户想要实现某个功能时直接告知可使用的例子

  3. 生成页面前需要获取组件的示例代码

ParametersJSON Schema
NameRequiredDescriptionDefault
componentNameYes

TDQS

B3.2/5.0
Behavior2/5

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. While it states what the tool does, it doesn't describe important behavioral traits like whether this is a read-only operation, what format the examples come in (e.g., code snippets, full implementations), whether there are rate limits, or what happens if the component doesn't exist. For a tool with zero annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with three bullet points that efficiently cover usage scenarios. It's front-loaded with the core purpose statement. While the bullet points could be slightly more concise, there's minimal wasted text and the structure helps with readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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, no output schema, no annotations), the description provides adequate purpose and usage context but lacks important details about parameters, return values, and behavioral characteristics. It's complete enough to understand when to use the tool but insufficient for reliable invocation without additional assumptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 1 parameter with 0% description coverage, and the tool description doesn't mention the 'componentName' parameter at all. While the description implies a component name is needed ('特定组件'), it doesn't explain what format this should be in, whether it's case-sensitive, or provide any examples. With low schema coverage, the description fails to compensate for the parameter documentation gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as '获取 Ant Design 特定组件的代码示例' (Get code examples for specific Ant Design components), which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get-component-docs' or 'list-components', which likely serve related but different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides three explicit usage scenarios in Chinese: when users ask for component examples, when users want to implement functionality with examples, and when generating pages needing component code. This gives clear context for when to use the tool. However, it doesn't mention when NOT to use it or explicitly name alternatives among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-componentsA

当用户请求一个新的用户界面(UI)使用 Ant Design 组件时使用此工具。 此工具仅返回可用的组件列表。 调用此工具后,你必须编辑或添加文件,以便将代码片段集成到代码库中

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the tool '仅返回可用的组件列表' (returns only the available component list), which implies a read-only operation, but doesn't disclose behavioral traits like whether it requires authentication, has rate limits, or returns structured data. The second sentence about editing files adds confusion as it describes post-call actions, not the tool's behavior itself, leaving gaps in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, but the second sentence ('调用此工具后,你必须编辑或添加文件...') is somewhat redundant and adds unnecessary detail about post-call actions, diluting focus. It's front-loaded with the primary purpose, but could be more concise by omitting the implementation guidance, which doesn't directly help tool selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 0 parameters, the description is moderately complete. It covers the purpose and usage context well, but lacks details on return values (e.g., list format) and behavioral aspects like error handling. For a simple list tool, this is adequate but has clear gaps in transparency and output expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add parameter semantics, but this is appropriate given the lack of parameters. A baseline score of 4 is applied as per rules for 0 parameters, as it doesn't need to compensate for any schema gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '仅返回可用的组件列表' (returns only the available component list). It specifies the resource (Ant Design components) and distinguishes it from siblings like get-component-docs or list-component-examples by focusing on listing rather than documentation or examples. However, it doesn't explicitly mention the verb 'list' in the first sentence, slightly reducing specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidelines: '当用户请求一个新的用户界面(UI)使用 Ant Design 组件时使用此工具' (use this tool when the user requests a new UI using Ant Design components). It implies an alternative workflow (editing/adding files after calling) and distinguishes from siblings by focusing on initial listing rather than detailed docs or examples, though it doesn't name alternatives directly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 4 tool updates
    • First observedget-component-changelog
    • First observedget-component-docs
    • First observedlist-component-examples
    • First observedlist-components

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: get-component-changelog retrieves version history, get-component-docs provides API documentation, list-component-examples shows code samples, and list-components enumerates available components. There is no overlap in functionality, and an agent can easily distinguish between them based on their specific use cases.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with hyphens: get-component-changelog, get-component-docs, list-component-examples, and list-components. The verbs 'get' and 'list' are used appropriately, and the naming structure is uniform throughout the set.

Tool Count5/5

With 4 tools, this server is well-scoped for its purpose of providing Ant Design component information. Each tool serves a distinct and essential function (changelog, docs, examples, listing), and there are no extraneous tools. The count is appropriate for the domain, allowing comprehensive coverage without bloat.

Completeness4/5

The tool set covers key aspects of Ant Design components: listing, documentation, examples, and changelogs. This supports common developer workflows like learning, implementing, and upgrading. A minor gap is the lack of tools for searching or filtering components, but the core needs are well-addressed, and agents can work effectively with the provided tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers