{"_id":"@boallin/mcp-struts2-tag-manager","_rev":"3-1d2eda08e85f85cff0989d08efb96a30","name":"@boallin/mcp-struts2-tag-manager","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@boallin/mcp-struts2-tag-manager","version":"1.0.0","keywords":["mcp","model-context-protocol","struts2","jsp","tag","component","ui","enterprise","tag-library","component-manager","ai-assisted","developer-tools"],"author":{"name":"boallin"},"license":"MIT","_id":"@boallin/mcp-struts2-tag-manager@1.0.0","maintainers":[{"name":"boallin","email":"linqicong@outlook.com"}],"bin":{"mcp-struts2-tag-manager":"index.js"},"dist":{"shasum":"988ec1cdb0bb21f7b94efac2117887c7b263f021","tarball":"https://registry.npmjs.org/@boallin/mcp-struts2-tag-manager/-/mcp-struts2-tag-manager-1.0.0.tgz","fileCount":6,"integrity":"sha512-5Fhtkzgc2XetK405y6sFK/uRK3JCOSkKQxgJKaT4j1zDZmE1xQwFXqtJe7h9qjikIz/e+mA9DaYL0KUREUN90g==","signatures":[{"sig":"MEUCIQCgBwmvf+BuKmBH0elQUti08+V4FGtILuZCmnAz5vZZLwIgAp3NRlqYF4rNBYjWW8T7qjUuIwkUChaZcLNP1Hh/Frs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286938},"main":"index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"9eced84502d5828351c3db7b568d8d878c686407","scripts":{"dev":"node --watch index.js","test":"node test/test.js","start":"node index.js","prepublishOnly":"echo 'Preparing to publish...'"},"_npmUser":{"name":"boallin","email":"linqicong@outlook.com"},"_npmVersion":"10.8.2","description":"企业级MCP服务用于管理Struts2 JSP标签组件库 - 智能检索与组件推荐","directories":{},"_nodeVersion":"20.19.6","dependencies":{"xml2js":"^0.6.2","@modelcontextprotocol/sdk":"^0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-struts2-tag-manager_1.0.0_1765415133684_0.7119593104237882","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@boallin/mcp-struts2-tag-manager","version":"1.0.2","keywords":["mcp","model-context-protocol","struts2","jsp","tag","component","ui","enterprise","tag-library","component-manager","ai-assisted","developer-tools"],"author":{"name":"boallin"},"license":"MIT","_id":"@boallin/mcp-struts2-tag-manager@1.0.2","maintainers":[{"name":"boallin","email":"linqicong@outlook.com"}],"bin":{"mcp-struts2-tag-manager":"index.js"},"dist":{"shasum":"032b19b2cc3aa7f1cff29e7da48fd3ec80600a6a","tarball":"https://registry.npmjs.org/@boallin/mcp-struts2-tag-manager/-/mcp-struts2-tag-manager-1.0.2.tgz","fileCount":6,"integrity":"sha512-IK3hN4h1HqFjJqyvJuAr7RvxjhVlpSjoenQnzW1ZqarJMBhGxf7gxvFZ5w33EIbQM7qAMdnF1pvlnEEmaq5XhA==","signatures":[{"sig":"MEQCIGk4C46pOziGi1aih27+g7DcacSHlLX8jK+3uD0dlLo/AiAfWhhWdWU61ZLDnTxFqLaAFf3UvgTqwimreWCkbSXqnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286487},"main":"index.js","type":"module","engines":{"node":">=16.0.0"},"gitHead":"9eced84502d5828351c3db7b568d8d878c686407","scripts":{"dev":"node --watch index.js","test":"node test/test.js","start":"node index.js","prepublishOnly":"echo 'Preparing to publish...'"},"_npmUser":{"name":"boallin","email":"linqicong@outlook.com"},"_npmVersion":"10.8.2","description":"企业级MCP服务用于管理Struts2 JSP标签组件库 - 智能检索与组件推荐","directories":{},"_nodeVersion":"20.19.6","dependencies":{"xml2js":"^0.6.2","@modelcontextprotocol/sdk":"^0.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mcp-struts2-tag-manager_1.0.2_1765421433387_0.0016043720294287578","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@boallin/mcp-struts2-tag-manager","version":"1.0.3","description":"企业级MCP服务用于管理Struts2 JSP标签组件库 - 智能检索与组件推荐","main":"index.js","type":"module","bin":{"mcp-struts2-tag-manager":"index.js"},"scripts":{"start":"node index.js","dev":"node --watch index.js","test":"node test/test.js","prepublishOnly":"echo 'Preparing to publish...'"},"dependencies":{"@modelcontextprotocol/sdk":"^0.4.0","xml2js":"^0.6.2"},"keywords":["mcp","model-context-protocol","struts2","jsp","tag","component","ui","enterprise","tag-library","component-manager","ai-assisted","developer-tools"],"author":{"name":"boallin"},"license":"MIT","engines":{"node":">=16.0.0"},"_id":"@boallin/mcp-struts2-tag-manager@1.0.3","gitHead":"4bc14ca9e165ef9af15c13527792d486a1903436","_nodeVersion":"20.19.6","_npmVersion":"10.8.2","dist":{"integrity":"sha512-BxSVsrjkHkQkSn8PfmURghpd011OwPuY2UoQnMtQoFjEyGI0gU68klSzZOK5ZPQj7UdZG2FEKNNY+utcHeZP0w==","shasum":"f706b127692851865f9d528bf18ead6bc4095816","tarball":"https://registry.npmjs.org/@boallin/mcp-struts2-tag-manager/-/mcp-struts2-tag-manager-1.0.3.tgz","fileCount":6,"unpackedSize":288209,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID3kJPZRAsDPwiaWbUhAMdoXG6vTiaqggoCutvDjSY6EAiBAl3m/Pi72EfEkMgmSKXz+03LMlT4Asi1j6LRukRiX7Q=="}]},"_npmUser":{"name":"boallin","email":"linqicong@outlook.com"},"directories":{},"maintainers":[{"name":"boallin","email":"linqicong@outlook.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-struts2-tag-manager_1.0.3_1765425877954_0.3105270581467918"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-11T01:05:33.614Z","modified":"2025-12-11T04:04:38.269Z","1.0.0":"2025-12-11T01:05:33.835Z","1.0.2":"2025-12-11T02:50:33.556Z","1.0.3":"2025-12-11T04:04:38.085Z"},"author":{"name":"boallin"},"license":"MIT","keywords":["mcp","model-context-protocol","struts2","jsp","tag","component","ui","enterprise","tag-library","component-manager","ai-assisted","developer-tools"],"description":"企业级MCP服务用于管理Struts2 JSP标签组件库 - 智能检索与组件推荐","maintainers":[{"name":"boallin","email":"linqicong@outlook.com"}],"readme":"# Struts2 JSP标签组件库管理MCP服务 v2.0\n\n这是一个功能强大的企业级MCP（Model Context Protocol）服务，专门用于管理完整的Struts2 JSP标签组件库。支持52个主要标签类型，978个属性定义，覆盖企业应用的各种UI需求。\n\n## 🚀 核心功能\n\n### 1. 智能组件检索\n- **多维度搜索**：支持按标签名称、描述、类名、分类进行搜索\n- **智能相关性排序**：根据匹配度智能排序结果\n- **实时索引**：自动解析XML文件构建高效索引\n\n### 2. 分类浏览系统\n- **10大功能分类**：基础UI、表单控件、日期时间、数据字典、业务组件、组织人员、文件上传、高级组件、权限控制、操作按钮\n- **分类导航**：快速定位所需组件类型\n- **组件统计**：每个分类包含的组件数量和概览\n\n### 3. 详细属性管理\n- **完整属性信息**：名称、描述、是否必填、支持表达式\n- **属性分类**：必填属性 vs 可选属性\n- **属性搜索**：根据属性名反向查找组件\n\n### 4. 智能推荐系统\n- **需求匹配**：根据描述推荐最适合的组件\n- **场景化推荐**：基于常见使用场景推荐组件组合\n- **关键词映射**：智能识别需求关键词\n\n### 5. 使用示例库\n- **代码示例**：每个组件都有详细的使用示例\n- **场景示例**：完整的业务场景实现示例\n- **最佳实践**：推荐的属性配置和用法\n\n### 6. 组件对比分析\n- **多组件对比**：同时对比多个组件的差异\n- **共同属性分析**：识别组件间的共同点\n- **独特功能识别**：突出每个组件的独特属性\n\n### 7. 增强自然语言处理\n- **智能意图识别**：理解复杂的查询意图\n- **多轮对话支持**：支持上下文相关的查询\n- **中文友好**：专门优化的中文自然语言处理\n\n## 🛠️ 可用工具\n\n### 基础查询工具\n- **search_tags** - 智能搜索标签组件\n- **get_tag_details** - 获取标签详细信息\n- **list_all_tags** - 列出所有标签组件\n- **get_required_attributes** - 获取必填属性\n- **get_optional_attributes** - 获取可选属性\n- **find_tags_by_attribute** - 根据属性查找标签\n\n### 分类浏览工具\n- **get_all_categories** - 获取所有组件分类\n- **get_tags_by_category** - 根据分类获取标签\n\n## 📦 安装和配置\n\n### 1. 环境要求\n- Node.js >= 16.0.0\n- 支持ES模块的环境\n\n### 2. 安装依赖\n```bash\nnpm install\n```\n\n### 3. 启动服务\n```bash\nnpm start          # 生产模式\nnpm run dev        # 开发模式（文件监听）\n```\n\n### 4. MCP客户端配置\n```json\n{\n  \"mcpServers\": {\n    \"struts2-tag-manager\": {\n      \"command\": \"node\",\n      \"args\": [\"index.js\"],\n      \"cwd\": \"d:/workplace/huiyang/ai/mcp-tools\"\n    }\n  }\n}\n\n{\n  \"mcpServers\": {\n    \"struts2-tag-manager\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@boallin/mcp-struts2-tag-manager@1.0.2\"]\n    }\n  }\n}\n```\n\n## 🎯 支持的组件库\n\n### 基础UI组件 (8个)\n- **datagrid** - 数据表格\n- **column** - 表格列\n- **card** - 数据卡片\n- **loading** - 加载提示\n- **tableform** - 表单布局\n- **item** - 表单项\n- **panel** - 面板容器\n- **splitline** - 分割线\n\n### 表单控件 (11个)\n- **textfield** - 文本输入框\n- **select** - 下拉选择框\n- **combobox** - 组合框\n- **checkbox** - 复选框\n- **radiobox** - 单选按钮\n- **switchbutton** - 开关按钮\n- **numberbox** - 数字输入框\n- **numberspinner** - 数字微调器\n- **timespinner** - 时间微调器\n- **colorpicker** - 颜色选择器\n- **address** - 地址选择器\n\n### 数据字典组件 (3个)\n- **dictionaryselect** - 数据字典选择框\n- **dictionarycheckbox** - 数据字典复选框\n- **dictionaryradiobox** - 数据字典单选框\n\n### 业务组件 (7个)\n- **statusfield** - 状态字段\n- **statusswitch** - 状态开关\n- **sexfield** - 性别字段\n- **sexswitch** - 性别开关\n- **yesornofield** - 是否字段\n- **yesornoswitch** - 是否开关\n- **authcodefield** - 验证码字段\n\n### 组织人员组件 (6个)\n- **person** - 人员选择器\n- **organization** - 组织选择器\n- **staff** - 员工选择器\n- **usergroup** - 用户组选择器\n- **workgroup** - 工作组选择器\n- **listbox** - 列表选择器\n\n### 文件上传组件 (7个)\n- **filelist** - 文件列表\n- **uploadlist** - 上传列表\n- **uploadbutton** - 上传按钮\n- **image** - 图片上传\n- **webuploadbutton** - Web上传按钮\n- **webuploadlist** - Web上传列表\n- **webfilelist** - Web文件列表\n\n### 高级组件 (3个)\n- **tree** - 树形结构\n- **htmleditor** - HTML编辑器\n- **watermark** - 水印组件\n\n### 权限控制和操作按钮\n- **permission** - 权限控制\n- **linkbutton** - 链接按钮\n\n## 💡 使用示例\n\n### 基础查询\n```json\n// 搜索组件\n{\n  \"tool\": \"search_tags\",\n  \"arguments\": {\n    \"query\": \"表格\"\n  }\n}\n\n// 获取组件详情\n{\n  \"tool\": \"get_tag_details\",\n  \"arguments\": {\n    \"tag_name\": \"datagrid\"\n  }\n}\n```\n\n### 分类浏览\n```json\n// 获取所有分类\n{\n  \"tool\": \"get_all_categories\"\n}\n\n// 获取特定分类的组件\n{\n  \"tool\": \"get_tags_by_category\",\n  \"arguments\": {\n    \"category_name\": \"表单控件\"\n  }\n}\n```\n\n## 🎯 支持的组件库\n\n### 基础UI组件 (8个)\n- **datagrid** - 数据表格\n- **column** - 表格列\n- **card** - 数据卡片\n- **loading** - 加载提示\n- **tableform** - 表单布局\n- **item** - 表单项\n- **panel** - 面板容器\n- **splitline** - 分割线\n\n### 表单控件 (11个)\n- **textfield** - 文本输入框\n- **select** - 下拉选择框\n- **combobox** - 组合框\n- **checkbox** - 复选框\n- **radiobox** - 单选按钮\n- **switchbutton** - 开关按钮\n- **numberbox** - 数字输入框\n- **numberspinner** - 数字微调器\n- **timespinner** - 时间微调器\n- **colorpicker** - 颜色选择器\n- **address** - 地址选择器\n\n### 数据字典组件 (3个)\n- **dictionaryselect** - 数据字典选择框\n- **dictionarycheckbox** - 数据字典复选框\n- **dictionaryradiobox** - 数据字典单选框\n\n### 业务组件 (7个)\n- **statusfield** - 状态字段\n- **statusswitch** - 状态开关\n- **sexfield** - 性别字段\n- **sexswitch** - 性别开关\n- **yesornofield** - 是否字段\n- **yesornoswitch** - 是否开关\n- **authcodefield** - 验证码字段\n\n### 组织人员组件 (6个)\n- **person** - 人员选择器\n- **organization** - 组织选择器\n- **staff** - 员工选择器\n- **usergroup** - 用户组选择器\n- **workgroup** - 工作组选择器\n- **listbox** - 列表选择器\n\n### 文件上传组件 (7个)\n- **filelist** - 文件列表\n- **uploadlist** - 上传列表\n- **uploadbutton** - 上传按钮\n- **image** - 图片上传\n- **webuploadbutton** - Web上传按钮\n- **webuploadlist** - Web上传列表\n- **webfilelist** - Web文件列表\n\n### 高级组件 (3个)\n- **tree** - 树形结构\n- **htmleditor** - HTML编辑器\n- **watermark** - 水印组件\n\n### 权限控制和操作按钮\n- **permission** - 权限控制\n- **linkbutton** - 链接按钮\n\n## 💡 使用示例\n\n### 基础查询\n```json\n// 搜索组件\n{\n  \"tool\": \"search_tags\",\n  \"arguments\": {\n    \"query\": \"表格\"\n  }\n}\n\n// 获取组件详情\n{\n  \"tool\": \"get_tag_details\",\n  \"arguments\": {\n    \"tag_name\": \"datagrid\"\n  }\n}\n```\n\n### 分类浏览\n```json\n// 获取所有分类\n{\n  \"tool\": \"get_all_categories\"\n}\n\n// 获取特定分类的组件\n{\n  \"tool\": \"get_tags_by_category\",\n  \"arguments\": {\n    \"category_name\": \"表单控件\"\n  }\n}\n```\n\n## 🔧 技术架构\n\n- **运行时**: Node.js + ES模块\n- **协议**: MCP (Model Context Protocol)\n- **解析**: xml2js - 高效XML解析\n- **数据源**: hy-base.xml (5936行，52个标签类型)\n- **配置**: component-categories.json + usage-examples.json\n\n## 📈 性能特性\n\n- **内存优化**: 智能缓存和索引机制\n- **快速检索**: 毫秒级搜索响应\n- **并发支持**: 支持多个并发查询\n- **热更新**: 支持配置文件热更新\n\n## 🚀 更新日志\n\n### v2.0.0 (当前版本)\n- ✅ 支持52个标签类型（从6个扩展到52个）\n- ✅ 新增10大功能分类\n- ✅ 完善的属性管理系统\n\n### v1.0.0\n- ✅ 基础标签管理\n- ✅ 属性查询\n- ✅ 简单搜索\n\n## 📝 开发指南\n\n服务会自动解析以下文件：\n- `hy-base.xml` - 主要组件库定义\n- `component-categories.json` - 组件分类配置\n- `usage-examples.json` - 使用示例库\n\n修改这些文件后重启服务即可生效。","readmeFilename":"README.md"}