@ncds/ui-admin-mcp 1.6.4-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/bin/server.d.ts +1 -0
  2. package/bin/server.js +67 -0
  3. package/bin/server.mjs +8 -0
  4. package/bin/tools/getComponentHtml.d.ts +3 -0
  5. package/bin/tools/getComponentHtml.js +30 -0
  6. package/bin/tools/getComponentProps.d.ts +3 -0
  7. package/bin/tools/getComponentProps.js +16 -0
  8. package/bin/tools/listComponents.d.ts +3 -0
  9. package/bin/tools/listComponents.js +15 -0
  10. package/bin/tools/ping.d.ts +11 -0
  11. package/bin/tools/ping.js +30 -0
  12. package/bin/tools/searchComponent.d.ts +3 -0
  13. package/bin/tools/searchComponent.js +20 -0
  14. package/bin/tools/validateHtml.d.ts +10 -0
  15. package/bin/tools/validateHtml.js +142 -0
  16. package/bin/types.d.ts +28 -0
  17. package/bin/types.js +5 -0
  18. package/bin/utils/dataLoader.d.ts +11 -0
  19. package/bin/utils/dataLoader.js +68 -0
  20. package/bin/utils/logger.d.ts +18 -0
  21. package/bin/utils/logger.js +27 -0
  22. package/bin/utils/response.d.ts +23 -0
  23. package/bin/utils/response.js +31 -0
  24. package/bin/version.d.ts +1 -0
  25. package/bin/version.js +4 -0
  26. package/data/_meta.json +7 -0
  27. package/data/badge-group.json +81 -0
  28. package/data/badge.json +101 -0
  29. package/data/bread-crumb.json +22 -0
  30. package/data/breadcrumb.json +31 -0
  31. package/data/button-group.json +70 -0
  32. package/data/button.json +119 -0
  33. package/data/carousel-arrow.json +65 -0
  34. package/data/carousel-number-group.json +62 -0
  35. package/data/carousel.json +22 -0
  36. package/data/checkbox.json +31 -0
  37. package/data/combobox.json +117 -0
  38. package/data/date-picker.json +80 -0
  39. package/data/divider.json +66 -0
  40. package/data/dot.json +67 -0
  41. package/data/dropdown.json +84 -0
  42. package/data/empty-state.json +34 -0
  43. package/data/featured-icon.json +98 -0
  44. package/data/file-input.json +76 -0
  45. package/data/horizontal-tab.json +80 -0
  46. package/data/image-file-input.json +97 -0
  47. package/data/input.json +107 -0
  48. package/data/modal.json +91 -0
  49. package/data/notification.json +126 -0
  50. package/data/number-input.json +134 -0
  51. package/data/pagination.json +68 -0
  52. package/data/password-input.json +47 -0
  53. package/data/progress-bar.json +56 -0
  54. package/data/progress-circle.json +63 -0
  55. package/data/radio.json +31 -0
  56. package/data/range-date-picker-with-buttons.json +64 -0
  57. package/data/range-date-picker.json +58 -0
  58. package/data/select-dropdown.json +32 -0
  59. package/data/select.json +77 -0
  60. package/data/selectbox.json +139 -0
  61. package/data/slider.json +62 -0
  62. package/data/spinner.json +60 -0
  63. package/data/switch.json +71 -0
  64. package/data/tab.json +140 -0
  65. package/data/tag.json +69 -0
  66. package/data/textarea.json +91 -0
  67. package/data/toggle.json +62 -0
  68. package/data/tooltip.json +148 -0
  69. package/data/vertical-tab.json +71 -0
  70. package/package.json +35 -0
  71. package/templates/.mcp.json.example +8 -0
  72. package/templates/README.md +31 -0
@@ -0,0 +1,148 @@
1
+ {
2
+ "name": "tooltip",
3
+ "description": "NCDS Tooltip 컴포넌트",
4
+ "aliases": [],
5
+ "props": {
6
+ "className": {
7
+ "type": "string",
8
+ "required": false
9
+ },
10
+ "content": {
11
+ "type": "string",
12
+ "required": false
13
+ },
14
+ "hideArrow": {
15
+ "type": "string",
16
+ "required": false,
17
+ "default": false
18
+ },
19
+ "iconColor": {
20
+ "type": "string",
21
+ "required": false,
22
+ "default": "var(--gray-300)"
23
+ },
24
+ "iconStyle": {
25
+ "type": "enum",
26
+ "required": false,
27
+ "values": [
28
+ "alert-circle",
29
+ "help-circle"
30
+ ],
31
+ "default": "help-circle"
32
+ },
33
+ "iconType": {
34
+ "type": "enum",
35
+ "required": false,
36
+ "values": [
37
+ "fill",
38
+ "stroke"
39
+ ],
40
+ "default": "stroke"
41
+ },
42
+ "position": {
43
+ "type": "enum",
44
+ "required": false,
45
+ "values": [
46
+ "auto",
47
+ "bottom",
48
+ "bottom-left",
49
+ "bottom-right",
50
+ "left",
51
+ "right",
52
+ "top",
53
+ "top-left",
54
+ "top-right"
55
+ ],
56
+ "default": "auto"
57
+ },
58
+ "size": {
59
+ "type": "enum",
60
+ "required": false,
61
+ "values": [
62
+ "md",
63
+ "sm"
64
+ ],
65
+ "default": "sm"
66
+ },
67
+ "title": {
68
+ "type": "string",
69
+ "required": false
70
+ },
71
+ "tooltipType": {
72
+ "type": "enum",
73
+ "required": false,
74
+ "values": [
75
+ "black",
76
+ "white"
77
+ ],
78
+ "default": "black"
79
+ },
80
+ "type": {
81
+ "type": "enum",
82
+ "required": false,
83
+ "values": [
84
+ "long",
85
+ "short"
86
+ ],
87
+ "default": "short"
88
+ }
89
+ },
90
+ "html": {
91
+ "default": "<span class=\"ncua-tooltip ncua-tooltip--sm ncua-tooltip--short ncua-tooltip--stroke ncua-tooltip--auto\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"none\" color=\"var(--gray-300)\"><path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3m.08 4h.01M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10\"></path></svg><span class=\"ncua-tooltip__bg ncua-tooltip__bg--black ncua-tooltip__bg--bottom\"><span class=\"ncua-tooltip__content\">툴팁 내용</span></span></span>"
92
+ },
93
+ "bemClasses": [
94
+ "ncua-tooltip",
95
+ "ncua-tooltip--alert-circle",
96
+ "ncua-tooltip--auto",
97
+ "ncua-tooltip--black",
98
+ "ncua-tooltip--bottom",
99
+ "ncua-tooltip--bottom-left",
100
+ "ncua-tooltip--bottom-right",
101
+ "ncua-tooltip--fill",
102
+ "ncua-tooltip--help-circle",
103
+ "ncua-tooltip--hidden-arrow",
104
+ "ncua-tooltip--left",
105
+ "ncua-tooltip--long",
106
+ "ncua-tooltip--md",
107
+ "ncua-tooltip--right",
108
+ "ncua-tooltip--short",
109
+ "ncua-tooltip--sm",
110
+ "ncua-tooltip--stroke",
111
+ "ncua-tooltip--top",
112
+ "ncua-tooltip--top-left",
113
+ "ncua-tooltip--top-right",
114
+ "ncua-tooltip--white",
115
+ "ncua-tooltip__bg",
116
+ "ncua-tooltip__bg--force-hidden",
117
+ "ncua-tooltip__bg--measuring",
118
+ "ncua-tooltip__bg--visible",
119
+ "ncua-tooltip__close-button",
120
+ "ncua-tooltip__content",
121
+ "ncua-tooltip__title"
122
+ ],
123
+ "usage": {
124
+ "import": "import { Tooltip } from '@ncds/ui-admin';",
125
+ "react": {
126
+ "default": "<Tooltip />",
127
+ "iconStyle:alert-circle": "<Tooltip iconStyle=\"alert-circle\" />",
128
+ "iconStyle:help-circle": "<Tooltip iconStyle=\"help-circle\" />",
129
+ "iconType:fill": "<Tooltip iconType=\"fill\" />",
130
+ "iconType:stroke": "<Tooltip iconType=\"stroke\" />",
131
+ "position:auto": "<Tooltip position=\"auto\" />",
132
+ "position:bottom": "<Tooltip position=\"bottom\" />",
133
+ "position:bottom-left": "<Tooltip position=\"bottom-left\" />",
134
+ "position:bottom-right": "<Tooltip position=\"bottom-right\" />",
135
+ "position:left": "<Tooltip position=\"left\" />",
136
+ "position:right": "<Tooltip position=\"right\" />",
137
+ "position:top": "<Tooltip position=\"top\" />",
138
+ "position:top-left": "<Tooltip position=\"top-left\" />",
139
+ "position:top-right": "<Tooltip position=\"top-right\" />",
140
+ "size:md": "<Tooltip size=\"md\" />",
141
+ "size:sm": "<Tooltip size=\"sm\" />",
142
+ "tooltipType:black": "<Tooltip tooltipType=\"black\" />",
143
+ "tooltipType:white": "<Tooltip tooltipType=\"white\" />",
144
+ "type:long": "<Tooltip type=\"long\" />",
145
+ "type:short": "<Tooltip type=\"short\" />"
146
+ }
147
+ }
148
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "vertical-tab",
3
+ "description": "NCDS Vertical Tab 컴포넌트",
4
+ "aliases": [],
5
+ "props": {
6
+ "activeTab": {
7
+ "type": "string",
8
+ "required": false
9
+ },
10
+ "breakPoint": {
11
+ "type": "enum",
12
+ "required": false,
13
+ "values": [
14
+ "mobile",
15
+ "pc"
16
+ ],
17
+ "default": "pc"
18
+ },
19
+ "menus": {
20
+ "type": "string",
21
+ "required": false,
22
+ "default": "[]"
23
+ },
24
+ "onSelect": {
25
+ "type": "string",
26
+ "required": false
27
+ },
28
+ "type": {
29
+ "type": "enum",
30
+ "required": false,
31
+ "values": [
32
+ "button-primary",
33
+ "button-white",
34
+ "line-vertical"
35
+ ],
36
+ "default": "button-primary"
37
+ }
38
+ },
39
+ "html": {
40
+ "default": "<div class=\"ncua-horizontal-tab\"></div>",
41
+ "breakPoint:mobile": "<div class=\"ncua-horizontal-tab ncua-horizontal-tab--mobile\"></div>",
42
+ "breakPoint:pc": "<div class=\"ncua-horizontal-tab ncua-horizontal-tab--pc\"></div>",
43
+ "type:button-primary": "<div class=\"ncua-horizontal-tab ncua-horizontal-tab--button-primary\"></div>",
44
+ "type:button-white": "<div class=\"ncua-horizontal-tab ncua-horizontal-tab--button-white\"></div>",
45
+ "type:line-vertical": "<div class=\"ncua-horizontal-tab ncua-horizontal-tab--line-vertical\"></div>"
46
+ },
47
+ "bemClasses": [
48
+ "ncua-horizontal-tab",
49
+ "ncua-horizontal-tab--button-primary",
50
+ "ncua-horizontal-tab--button-white",
51
+ "ncua-horizontal-tab--fullWidth",
52
+ "ncua-horizontal-tab--line-vertical",
53
+ "ncua-horizontal-tab--mobile",
54
+ "ncua-horizontal-tab--pc",
55
+ "ncua-horizontal-tab__item",
56
+ "ncua-tab-button",
57
+ "ncua-tab-close",
58
+ "ncua-vertical-tab"
59
+ ],
60
+ "usage": {
61
+ "import": "import { VerticalTab } from '@ncds/ui-admin';",
62
+ "react": {
63
+ "default": "<VerticalTab />",
64
+ "breakPoint:mobile": "<VerticalTab breakPoint=\"mobile\" />",
65
+ "breakPoint:pc": "<VerticalTab breakPoint=\"pc\" />",
66
+ "type:button-primary": "<VerticalTab type=\"button-primary\" />",
67
+ "type:button-white": "<VerticalTab type=\"button-white\" />",
68
+ "type:line-vertical": "<VerticalTab type=\"line-vertical\" />"
69
+ }
70
+ }
71
+ }
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@ncds/ui-admin-mcp",
3
+ "version": "1.6.4-alpha.2",
4
+ "description": "NCDS UI Admin MCP 서버 — AI 에이전트가 NCUA 컴포넌트를 조회하고 HTML을 검증할 수 있는 MCP 서버",
5
+ "bin": {
6
+ "ncua-mcp": "./bin/server.mjs"
7
+ },
8
+ "files": [
9
+ "bin",
10
+ "data",
11
+ "templates",
12
+ "package.json",
13
+ "README.md"
14
+ ],
15
+ "engines": {
16
+ "node": ">=20"
17
+ },
18
+ "scripts": {
19
+ "publish:npm": "npm publish --access=public"
20
+ },
21
+ "keywords": [
22
+ "ncds",
23
+ "nhn-commerce",
24
+ "design-system",
25
+ "mcp",
26
+ "model-context-protocol"
27
+ ],
28
+ "license": "MIT",
29
+ "private": false,
30
+ "dependencies": {
31
+ "@modelcontextprotocol/sdk": "^1.27.1",
32
+ "node-html-parser": "^7.1.0",
33
+ "zod": "^4.3.6"
34
+ }
35
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "mcpServers": {
3
+ "ncds-ui-admin": {
4
+ "command": "node",
5
+ "args": ["./node_modules/@ncds/ui-admin/mcp/bin/server.mjs"]
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,31 @@
1
+ # NCUA MCP 서버 설정 템플릿
2
+
3
+ ## 빠른 시작
4
+
5
+ 프로젝트 루트에 `.mcp.json` 파일을 생성하고 아래 내용을 추가합니다.
6
+
7
+ ```json
8
+ {
9
+ "mcpServers": {
10
+ "ncds-ui-admin": {
11
+ "command": "node",
12
+ "args": ["./node_modules/@ncds/ui-admin/mcp/bin/server.mjs"]
13
+ }
14
+ }
15
+ }
16
+ ```
17
+
18
+ 또는 이 디렉토리의 `.mcp.json.example` 파일을 프로젝트 루트로 복사합니다.
19
+
20
+ ```bash
21
+ cp node_modules/@ncds/ui-admin/mcp/templates/.mcp.json.example .mcp.json
22
+ ```
23
+
24
+ ## 요구사항
25
+
26
+ - Node.js 20 이상
27
+ - `@ncds/ui-admin` 설치 완료
28
+
29
+ ## 확인 방법
30
+
31
+ 설정 후 Claude Desktop 또는 Claude Code를 재시작하면 `ncds-ui-admin` MCP 서버가 자동으로 인식됩니다.