Ant设计Vue MCP
用于Ant Design Vue文档的模型上下文协议(MCP)服务器,带有索引器CLI。该项目通过MCP工具提供对Ant Design Vue组件文档(v3和v4)的结构化访问,使AI助手能够查询组件API、搜索文档并提供准确的信息。
中文文档: README.zh-CN.md
特性
- 📚 文档索引器:抓取和索引Ant Design Vue v3和v4文档
- 🔍 全文检索:SQLite FTS5-在页面和API项目之间进行搜索
- 🛠️ MCP工具:通过VS Code以编程方式查询组件API
- 📊 结构化API数据:将Props、Events、Slots和Methods提取到可查询的数据库中
- 🏷️ 规范组件名称:使用组件标签(例如。,
a-button)作为规范标识符
需求
- Node.js>=20.0.0
- pnpm
安装
# Install dependencies
pnpm install
# Build all packages
pnpm build用法
1.索引文件
在使用MCP服务器之前,您需要索引Ant Design Vue文档:
# Index v3 documentation
pnpm index:v3
# Index v4 documentation
pnpm index:v4
# Index both v3 and v4
pnpm index:all索引器将:
- 发现所有组件文档页面
- 获取并解析每个页面
- 提取组件元数据和API表
- 将所有内容存储在SQLite数据库中
./data/antdv.sqlite
备注:数据库文件是gitignored的,必须在本地生成。
2.配置VS代码MCP
将MCP服务器添加到VS代码配置中。创建或编辑 ~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json:
{
"mcpServers": {
"antdv": {
"command": "node",
"args": [
"/absolute/path/to/antdv-mcp/packages/mcp-server/dist/index.js"
],
"env": {
"ANTDV_DB_PATH": "/absolute/path/to/antdv-mcp/data/antdv.sqlite"
}
}
}
}重要:对服务器脚本和数据库文件都使用绝对路径。
3.可用的MCP工具
配置后,VS Code中提供了以下工具:
adv_search_docs
使用全文搜索搜索文档。
{
query: string, // Search query
version?: 'v3' | 'v4' | 'all', // Default: 'all'
limit?: number // Default: 10
}示例:搜索按钮大小信息
{
"query": "button size",
"version": "v4",
"limit": 5
}adv_list_components
列出某个版本的所有可用组件。
{
version: 'v3' | 'v4'
}示例:列出所有v4组件
{
"version": "v4"
}adv_get_component_api
获取组件的结构化API文档。
{
component: string, // Component name (e.g., "a-button", "button", "Button")
version: 'v3' | 'v4'
}示例:获取按钮API用于v4
{
"component": "button",
"version": "v4"
}退货:
{
component: Component,
props: ApiItem[],
events: ApiItem[],
slots: ApiItem[],
methods: ApiItem[]
}adv_find_prop
找到一个特定的道具或API项目,并为类似的名称提供建议。
{
component: string,
prop: string,
version: 'v3' | 'v4'
}示例:找到按钮的“类型”道具
{
"component": "a-button",
"prop": "type",
"version": "v4"
}组件名称解析
系统使用 组件标签 (例如。, a-button)作为规范标识符。您可以使用以下方式进行查询:
- 规范标签:
a-button - 无前缀:
button - Pascal案例:
Button - 中文标题:将通过别名匹配
所有输出都使用规范标记格式。
项目结构
antdv-mcp/
├── packages/
│ ├── shared/ # Shared types and utilities
│ ├── indexer/ # Documentation crawler and indexer
│ └── mcp-server/ # MCP server implementation
├── data/ # SQLite database (gitignored, generated)
├── package.json # Root package with workspace scripts
└── pnpm-workspace.yaml # pnpm workspace configuration数据库模式
表格
- 页面:包含FTS的整页内容
- 组件:组件元数据和别名
- api_项目:API文档(道具/事件/槽/方法)
全文检索
pages_fts:页面内容的FTS5索引api_items_fts:API描述的FTS5索引
发展
建筑
# Build all packages
pnpm build
# Build specific package
pnpm --filter @antdv-mcp/indexer build测试
# Run all tests
pnpm test
# Run tests for specific package
pnpm --filter @antdv-mcp/indexer test掉毛
# Lint all packages
pnpm lint
# Format code
pnpm format运作原理
索引过程
- 发现:抓取概述页面以查找所有组件文档URL
- 获取:下载每个有速率限制的组件页面
- 变化检测:使用SHA-256哈希跳过未更改的页面
- 解析:使用Cheerio提取组件元数据和API表
- 归一化:标准化表头并提取枚举值
- 存储:使用全文搜索将结构化数据保存到SQLite
MCP服务器
- 作为基于stdio的MCP服务器运行
- 从SQLite数据库读取(只读)
- 公开文档查询工具
- 返回结构化JSON响应
故障排除
找不到数据库
请确保先运行索引器:
pnpm index:allMCP服务器未出现在VS代码中
- 检查路径
cline_mcp_settings.json是绝对的 - 确保服务器已构建:
pnpm build - 重新启动VS代码
找不到API项目
某些组件可能具有非标准表格式。解析器处理常见情况,但可能会错过边缘情况。
许可证
麻省理工学院
贡献
这是一个通用的文档索引器和MCP服务器,而不是官方的Ant Design Vue工具。欢迎投稿!

