{"_id":"@charlotte-zone/wot-design-uni-mcp","_rev":"2-a80e8e8b0346debe391d7f6786593cb4","name":"@charlotte-zone/wot-design-uni-mcp","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"@charlotte-zone/wot-design-uni-mcp","version":"0.0.1","keywords":["mcp","model-context-protocol","wot-design-uni","wot-design","uni-app","vue","vue3","components","documentation","claude","ai","llm","component-library"],"author":{"name":"shichangxue","email":"shichangxue@jd.com"},"license":"MIT","_id":"@charlotte-zone/wot-design-uni-mcp@0.0.1","maintainers":[{"name":"charlotte1018","email":"shichangxue18@163.com"}],"homepage":"https://github.com/Charlotte1018/wot-design-uni-mcp#readme","bugs":{"url":"https://github.com/Charlotte1018/wot-design-uni-mcp/issues"},"bin":{"wot-design-uni-mcp":"dist/cli.js"},"dist":{"shasum":"8a792342f6e1dcebfc4d32980db13cad6cec16d6","tarball":"https://registry.npmjs.org/@charlotte-zone/wot-design-uni-mcp/-/wot-design-uni-mcp-0.0.1.tgz","fileCount":257,"integrity":"sha512-QcvyQ7T0K12rFqGt7Y5SZ0Fym033Jy9/d23+Wv2h9ggFbmByMLjqcBSeBeLRDjLfMmLy4ZvJjJluDUo04PP6uA==","signatures":[{"sig":"MEQCIDSxR3f0V74GLmM+Sx0liDCZkORT9NPguswOo5d2X5XMAiAeaTGMNoA5gd+v+otMWjLVBNSoTinGn1YBGR1hO2XzIQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1344324},"main":"./dist/src/server.js","type":"module","types":"./dist/src/server.d.ts","module":"./dist/src/server.js","engines":{"node":">= 18"},"exports":{".":{"types":"./dist/src/server.d.ts","import":"./dist/src/server.js"},"./package.json":"./package.json"},"gitHead":"c0a2ff9a9482ccf6df5e14327840d5995b6217eb","scripts":{"dev":"tsup --watch","test":"node dist/src/server.js","build":"tsup","extract":"tsx src/scripts/extract-docs.ts","prepack":"pnpm build","version":"node -p \"'export const VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts","test:mcp":"npx @modelcontextprotocol/inspector","prepublishOnly":"pnpm build"},"_npmUser":{"name":"charlotte1018","email":"shichangxue18@163.com"},"repository":{"url":"git+ssh://git@github.com/Charlotte1018/wot-design-uni-mcp.git","type":"git"},"_npmVersion":"10.9.2","description":"MCP 服务器，为 Claude 等 LLM 提供 Wot-Design-Uni 组件库文档","directories":{},"_nodeVersion":"22.15.0","dependencies":{"gray-matter":"^4.0.3","@modelcontextprotocol/sdk":"^0.6.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.0.0","tsup":"^8.0.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/wot-design-uni-mcp_0.0.1_1766647580871_0.08834184408967172","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@charlotte-zone/wot-design-uni-mcp","version":"0.0.2","description":"MCP 服务器，为 Claude 等 LLM 提供 Wot-Design-Uni 组件库文档","type":"module","bin":{"wot-design-uni-mcp":"dist/cli.js"},"main":"./dist/src/server.js","module":"./dist/src/server.js","types":"./dist/src/server.d.ts","exports":{".":{"types":"./dist/src/server.d.ts","import":"./dist/src/server.js"},"./package.json":"./package.json"},"scripts":{"build":"tsup","dev":"tsup --watch","extract":"tsx src/scripts/extract-docs.ts","test":"node dist/src/server.js","prepublishOnly":"pnpm build","prepack":"pnpm build","version":"node -p \"'export const VERSION = ' + JSON.stringify(require('./package.json').version) + ';'\" > src/version.ts","test:mcp":"npx @modelcontextprotocol/inspector"},"keywords":["mcp","model-context-protocol","wot-design-uni","wot-design","uni-app","vue","vue3","components","documentation","claude","ai","llm","component-library"],"author":{"name":"shichangxue","email":"shichangxue@jd.com"},"repository":{"type":"git","url":"git+ssh://git@github.com/Charlotte1018/wot-design-uni-mcp.git"},"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^0.6.0","gray-matter":"^4.0.3"},"devDependencies":{"@types/node":"^20.0.0","tsup":"^8.0.0","tsx":"^4.0.0","typescript":"^5.0.0"},"engines":{"node":">= 18"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"@charlotte-zone/wot-design-uni-mcp@0.0.2","gitHead":"5a160ff5707fe14068b5de44dab8e604f877eb57","bugs":{"url":"https://github.com/Charlotte1018/wot-design-uni-mcp/issues"},"homepage":"https://github.com/Charlotte1018/wot-design-uni-mcp#readme","_nodeVersion":"22.15.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-d8riqePlL2f6/NkC5uRJQp7Xv884ZRw4PoshRaAB/BRFyt479L4AVQTfvbM6BG7w+dH2jDGq3eY6uW7E9bn6Yg==","shasum":"eed792154a2f52ee113878443fb6e96c5f79041a","tarball":"https://registry.npmjs.org/@charlotte-zone/wot-design-uni-mcp/-/wot-design-uni-mcp-0.0.2.tgz","fileCount":177,"unpackedSize":500642,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDvy2e6/Y7Y9+b4zXKyuQRbupwrXC1nF2ePvmLWUuKQBwIgLWf8/lNbLLZva9qq3knWJYNrZeH+UoLIrFo7qCXS12U="}]},"_npmUser":{"name":"charlotte1018","email":"shichangxue18@163.com"},"directories":{},"maintainers":[{"name":"charlotte1018","email":"shichangxue18@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/wot-design-uni-mcp_0.0.2_1766649989174_0.7077614140403148"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-25T07:26:20.760Z","modified":"2025-12-25T08:06:29.576Z","0.0.1":"2025-12-25T07:26:21.044Z","0.0.2":"2025-12-25T08:06:29.343Z"},"bugs":{"url":"https://github.com/Charlotte1018/wot-design-uni-mcp/issues"},"author":{"name":"shichangxue","email":"shichangxue@jd.com"},"license":"MIT","homepage":"https://github.com/Charlotte1018/wot-design-uni-mcp#readme","keywords":["mcp","model-context-protocol","wot-design-uni","wot-design","uni-app","vue","vue3","components","documentation","claude","ai","llm","component-library"],"repository":{"type":"git","url":"git+ssh://git@github.com/Charlotte1018/wot-design-uni-mcp.git"},"description":"MCP 服务器，为 Claude 等 LLM 提供 Wot-Design-Uni 组件库文档","maintainers":[{"name":"charlotte1018","email":"shichangxue18@163.com"}],"readme":"# Find-Plus 组件库 MCP 服务\n\n为 Claude 等大型语言模型提供 Find-Plus 组件库的文档访问服务。\n\n## ✨ 特性\n\n- 🔍 快速检索 Find-Plus 所有组件\n- 📚 完整的组件文档和 API 说明\n- 💻 Vue 3 代码示例\n- ⚡ 内存缓存优化\n- 🤖 智能 Prompt 预设\n\n## 📦 安装\n\n```bash\nnpm install -g @jzone-mcp/find-plus-components-mcp\n```\n\n## 🚀 快速开始\n\n### 步骤 1：提取组件文档\n\n```bash\n# 克隆 Find-Plus 仓库\ngit clone https://github.com/your-org/find-plus.git --depth 1\n\n# 提取文档\nnpx @jzone-mcp/find-plus-components-mcp extract ./find-plus\n```\n\n### 步骤 2：配置 Claude Desktop\n\n编辑配置文件 `claude_desktop_config.json`：\n\n**macOS/Linux**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"Find-Plus Components\": {\n      \"command\": \"npx\",\n      \"args\": [\"@jzone-mcp/find-plus-components-mcp\"]\n    }\n  }\n}\n```\n\n### 步骤 3：重启 Claude Desktop\n\n重启后即可使用！\n\n## 🛠️ 可用工具\n\n### 1. list-components\n列出所有可用的 Find-Plus 组件及其描述。\n\n### 2. get-component-docs\n获取特定组件的详细文档（不包含代码示例）。\n\n**参数**:\n- `componentName` (string): 组件名称，如 \"Button\"、\"Table\"\n\n### 3. list-component-examples\n获取特定组件的 Vue 3 代码示例。\n\n**参数**:\n- `componentName` (string): 组件名称\n\n## 💡 使用示例\n\n在 Claude 中可以这样提问：\n\n```\n有哪些表单相关的组件？\n\n显示 Button 组件的完整文档\n\nButton 组件支持哪些 props？\n\n给我看看 Button 组件的示例代码\n\n用 Find-Plus 创建一个登录表单\n\n如何使用 Table 组件实现分页？\n```\n\n## 📁 目录结构\n\n```\nfind-plus-mcp/\n├── src/\n│   ├── constants/          # 常量定义\n│   │   └── path.ts        # 路径常量\n│   ├── prompt/            # Prompt 模板\n│   │   ├── system-description.ts\n│   │   └── index.ts\n│   ├── scripts/           # 脚本\n│   │   └── extract-docs.ts  # 文档提取脚本\n│   ├── tools/             # MCP 工具实现\n│   │   ├── list-components.ts\n│   │   ├── get-component-docs.ts\n│   │   ├── list-component-examples.ts\n│   │   └── index.ts\n│   ├── utils/             # 工具函数\n│   │   ├── cache.ts       # 缓存\n│   │   ├── components.ts  # 组件操作\n│   │   ├── md-extract.ts  # Markdown 处理\n│   │   ├── matter-parse.ts # Frontmatter 解析\n│   │   └── write.ts       # 文件写入\n│   └── server.ts          # MCP 服务器\n├── componentData/         # 提取的组件数据\n│   ├── components/        # 各组件文档和示例\n│   ├── components-index.json  # 组件索引\n│   └── metadata.json      # 元数据\n├── cli.ts                # CLI 入口\n├── package.json\n└── tsconfig.json\n```\n\n## 🔧 开发指南\n\n### 本地开发\n\n```bash\n# 安装依赖\npnpm install\n\n# 开发模式（监听文件变化）\npnpm dev\n\n# 构建\npnpm build\n\n# 测试服务器\npnpm test\n```\n\n### 提取文档流程\n\n提取脚本会执行以下操作：\n\n1. 扫描 `docs/zh-CN/component/` 目录下的所有 Markdown 文件\n2. 解析文档中的 `:::demo` 块，提取示例引用\n3. 读取 `docs/examples/` 目录下对应的 Vue 文件\n4. 清理和格式化文档内容\n5. 生成组件索引和元数据\n6. 保存到 `componentData` 目录\n\n### 核心实现\n\n#### 1. :::demo 块解析\n\nFind-Plus 使用特殊的 `:::demo` 标记来引用示例：\n\n```markdown\n:::demo 使用 type 属性定义按钮类型\n\nbutton/basic\n\n:::\n```\n\n提取脚本会将其解析为：\n- 描述：`使用 type 属性定义按钮类型`\n- 示例路径：`docs/examples/button/basic.vue`\n\n#### 2. 文档清理\n\n提取时会移除：\n- YAML frontmatter\n- API 文档部分（单独存储）\n- 多余的空行\n- :::demo 标记本身（保留描述）\n\n#### 3. 缓存机制\n\n使用内存缓存避免重复读取：\n- 组件列表缓存\n- 组件文档缓存\n- 组件示例缓存\n\n## 📊 与 Ant Design MCP 对比\n\n| 项目 | Ant Design MCP | Find-Plus MCP |\n|------|----------------|---------------|\n| 前端框架 | React | Vue 3 |\n| 文档位置 | `components/[组件]/index.zh-CN.md` | `docs/zh-CN/component/[组件].md` |\n| 示例位置 | `components/[组件]/demo/*.tsx` | `docs/examples/[组件]/*.vue` |\n| 示例引用 | `<code src=\"./demo/xx.tsx\">` | `:::demo\\n组件/示例\\n:::` |\n| 更新日志 | JSON 格式 | Markdown 文档 |\n\n## ❓ 常见问题\n\n### Q: 为什么需要先执行 extract 命令？\n\nA: MCP 服务器需要预处理的组件数据。提取过程会清理文档、提取示例，并生成优化的索引，让 LLM 能更高效地访问信息。\n\n### Q: 提取失败怎么办？\n\nA: 确保：\n1. Find-Plus 仓库路径正确\n2. 仓库包含 `docs/zh-CN/component/` 和 `docs/examples/` 目录\n3. 有足够的文件读写权限\n\n### Q: 如何更新到最新的组件文档？\n\nA: 重新执行：\n```bash\ncd find-plus\ngit pull\ncd ..\nnpx @jd/find-plus-mcp extract ./find-plus\n```\n\n### Q: 支持其他组件库吗？\n\nA: 目前只支持 Find-Plus。如需支持其他库，需要根据其文档结构修改提取脚本。\n\n## 🤝 贡献\n\n欢迎提交 Issue 和 Pull Request！\n\n## 📄 License\n\nMIT © 2025\n\n","readmeFilename":"README.zh-CN.md"}