@makitt.io/mds-mcp-server 0.1.2 → 0.2.0

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 (55) hide show
  1. package/README.md +142 -41
  2. package/dist/catalog.d.ts +16 -0
  3. package/dist/catalog.d.ts.map +1 -0
  4. package/dist/catalog.js +383 -0
  5. package/dist/catalog.js.map +1 -0
  6. package/dist/data/catalog.json +42535 -5019
  7. package/dist/data/playbook/ai-fill.md +62 -49
  8. package/dist/data/playbook/anti-patterns.md +112 -110
  9. package/dist/data/playbook/array-input.md +95 -50
  10. package/dist/data/playbook/async-states.md +71 -61
  11. package/dist/data/playbook/data-grid.md +177 -80
  12. package/dist/data/playbook/feedback.md +107 -88
  13. package/dist/data/playbook/form.md +164 -134
  14. package/dist/data/playbook/overlay.md +98 -89
  15. package/dist/data/playbook/page-layout.md +96 -77
  16. package/dist/data/playbook/responsive-tokens.md +78 -59
  17. package/dist/data/recipes/admin-list-page.md +86 -0
  18. package/dist/data/recipes/async-state-section.md +60 -0
  19. package/dist/data/recipes/dashboard-overview.md +65 -0
  20. package/dist/data/recipes/detail-drawer.md +69 -0
  21. package/dist/data/recipes/modal-form.md +67 -0
  22. package/dist/data/recipes/settings-form-page.md +79 -0
  23. package/dist/index.d.ts +4 -23
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +25 -339
  26. package/dist/index.js.map +1 -1
  27. package/dist/loaders.d.ts +8 -0
  28. package/dist/loaders.d.ts.map +1 -0
  29. package/dist/loaders.js +120 -0
  30. package/dist/loaders.js.map +1 -0
  31. package/dist/recipes.d.ts +13 -0
  32. package/dist/recipes.d.ts.map +1 -0
  33. package/dist/recipes.js +82 -0
  34. package/dist/recipes.js.map +1 -0
  35. package/dist/responses.d.ts +8 -0
  36. package/dist/responses.d.ts.map +1 -0
  37. package/dist/responses.js +25 -0
  38. package/dist/responses.js.map +1 -0
  39. package/dist/text.d.ts +4 -0
  40. package/dist/text.d.ts.map +1 -0
  41. package/dist/text.js +20 -0
  42. package/dist/text.js.map +1 -0
  43. package/dist/tool-definitions.d.ts +3 -0
  44. package/dist/tool-definitions.d.ts.map +1 -0
  45. package/dist/tool-definitions.js +199 -0
  46. package/dist/tool-definitions.js.map +1 -0
  47. package/dist/tools.d.ts +4 -0
  48. package/dist/tools.d.ts.map +1 -0
  49. package/dist/tools.js +233 -0
  50. package/dist/tools.js.map +1 -0
  51. package/dist/types.d.ts +107 -0
  52. package/dist/types.d.ts.map +1 -0
  53. package/dist/types.js +10 -0
  54. package/dist/types.js.map +1 -0
  55. package/package.json +20 -16
@@ -0,0 +1,107 @@
1
+ import type { CallToolResult, Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ export interface CatalogProp {
3
+ name: string;
4
+ type: string;
5
+ rawType?: string;
6
+ values?: Array<string | number | boolean | null>;
7
+ typeRef?: string;
8
+ required: boolean;
9
+ default?: string;
10
+ description?: string;
11
+ }
12
+ export type CatalogSymbolKind = 'component' | 'compoundPart' | 'hook' | 'helper' | 'type' | 'store' | 'internal';
13
+ export declare const SYMBOL_KIND_VALUES: CatalogSymbolKind[];
14
+ export type CatalogStatus = 'implemented' | 'planned' | 'deprecated' | 'internal';
15
+ export interface CatalogStory {
16
+ name: string;
17
+ title: string;
18
+ id: string;
19
+ storyUrl: string;
20
+ iframeUrl: string;
21
+ sourcePath: string;
22
+ source?: string;
23
+ sourceTruncated?: boolean;
24
+ }
25
+ export interface CatalogExample {
26
+ language: 'tsx';
27
+ source: string;
28
+ }
29
+ export interface CatalogComponent {
30
+ name: string;
31
+ displayName?: string;
32
+ aliases?: string[];
33
+ kind?: CatalogSymbolKind;
34
+ status?: CatalogStatus;
35
+ public?: boolean;
36
+ layer: string;
37
+ category?: string;
38
+ path: string;
39
+ import?: {
40
+ package: string;
41
+ path: string;
42
+ named: string[];
43
+ statement: string;
44
+ subpath?: {
45
+ path: string;
46
+ statement: string;
47
+ };
48
+ };
49
+ description?: string;
50
+ props: CatalogProp[];
51
+ types?: Record<string, unknown>;
52
+ stories: string[];
53
+ storybook?: CatalogStory[];
54
+ examples?: CatalogExample[];
55
+ hasTests: boolean;
56
+ hasStories: boolean;
57
+ }
58
+ export interface ComponentToolCall {
59
+ tool: string;
60
+ args: Record<string, unknown>;
61
+ reason: string;
62
+ }
63
+ export interface ComponentAgentGuide {
64
+ intent: string;
65
+ importStatement?: string;
66
+ requiredProps: Array<Pick<CatalogProp, 'name' | 'type' | 'description'>>;
67
+ relatedPlaybooks: string[];
68
+ relatedRecipes: string[];
69
+ followUpTools: ComponentToolCall[];
70
+ checklist: string[];
71
+ pitfalls: string[];
72
+ }
73
+ export interface CompoundOverview {
74
+ name: string;
75
+ kind: 'compound';
76
+ status: CatalogStatus;
77
+ layer: string;
78
+ import?: CatalogComponent['import'];
79
+ description: string;
80
+ parts: Array<Record<string, unknown>>;
81
+ requiredParts: string[];
82
+ commonComposition: string[];
83
+ agentGuide: ComponentAgentGuide;
84
+ }
85
+ export interface Catalog {
86
+ package: string;
87
+ version: string;
88
+ generated: string;
89
+ layers: string[];
90
+ storybook?: {
91
+ baseUrl: string;
92
+ env: string;
93
+ localPort: number;
94
+ };
95
+ components: Record<string, CatalogComponent>;
96
+ }
97
+ export type MetadataValue = string | string[];
98
+ export interface MarkdownDoc {
99
+ id: string;
100
+ title: string;
101
+ metadata: Record<string, MetadataValue>;
102
+ content: string;
103
+ }
104
+ export type ToolArguments = Record<string, unknown> | undefined;
105
+ export type ToolResponse = CallToolResult;
106
+ export type ToolDefinition = Tool;
107
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,10 @@
1
+ export const SYMBOL_KIND_VALUES = [
2
+ 'component',
3
+ 'compoundPart',
4
+ 'hook',
5
+ 'helper',
6
+ 'type',
7
+ 'store',
8
+ 'internal',
9
+ ];
10
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,WAAW;IACX,cAAc;IACd,MAAM;IACN,QAAQ;IACR,MAAM;IACN,OAAO;IACP,UAAU;CACX,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makitt.io/mds-mcp-server",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "MCP server for @makitt/mds — AI 가 catalog + playbook 자동 query (fabrication 0)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,16 +19,6 @@
19
19
  "exports": {
20
20
  ".": "./dist/index.js"
21
21
  },
22
- "scripts": {
23
- "build": "tsc && pnpm copy:data",
24
- "copy:data": "node scripts/copy-data.mjs",
25
- "start": "node dist/index.js",
26
- "dev": "tsx src/index.ts",
27
- "lint": "eslint .",
28
- "check-types": "tsc --noEmit",
29
- "clean": "rm -rf dist .turbo",
30
- "prepublishOnly": "pnpm build"
31
- },
32
22
  "files": [
33
23
  "dist",
34
24
  "README.md"
@@ -37,11 +27,11 @@
37
27
  "@modelcontextprotocol/sdk": "^1.0.4"
38
28
  },
39
29
  "devDependencies": {
40
- "@makitt/eslint-config": "workspace:*",
41
- "@makitt/typescript-config": "workspace:*",
42
30
  "@types/node": "^22.10.6",
43
31
  "tsx": "^4.21.0",
44
- "typescript": "catalog:"
32
+ "typescript": "5.9.2",
33
+ "@makitt/eslint-config": "0.0.0",
34
+ "@makitt/typescript-config": "0.0.0"
45
35
  },
46
36
  "keywords": [
47
37
  "mcp",
@@ -49,5 +39,19 @@
49
39
  "mds",
50
40
  "ai",
51
41
  "design-system"
52
- ]
53
- }
42
+ ],
43
+ "scripts": {
44
+ "build": "tsc && pnpm copy:data && pnpm verify:data && pnpm dogfood && pnpm smoke:stdio && pnpm verify:pack",
45
+ "copy:data": "node scripts/copy-data.mjs",
46
+ "verify:data": "node scripts/verify-data.mjs",
47
+ "verify:release": "node scripts/verify-release.mjs",
48
+ "dogfood": "node scripts/dogfood.mjs",
49
+ "smoke:stdio": "node scripts/smoke-stdio.mjs",
50
+ "verify:pack": "node scripts/verify-pack.mjs",
51
+ "start": "node dist/index.js",
52
+ "dev": "tsx src/index.ts",
53
+ "lint": "eslint . --max-warnings 0",
54
+ "check-types": "tsc --noEmit",
55
+ "clean": "rm -rf dist .turbo"
56
+ }
57
+ }