@uidbai/mcp-server 0.2.0 → 0.3.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 (63) hide show
  1. package/README.md +164 -62
  2. package/dist/cli.js +0 -0
  3. package/dist/core/local-fs.d.ts +174 -0
  4. package/dist/core/local-fs.d.ts.map +1 -0
  5. package/dist/core/local-fs.js +263 -0
  6. package/dist/core/local-fs.js.map +1 -0
  7. package/dist/templates/index.d.ts +22 -0
  8. package/dist/templates/index.d.ts.map +1 -0
  9. package/dist/templates/index.js +19 -0
  10. package/dist/templates/index.js.map +1 -0
  11. package/dist/templates/minimal.d.ts +9 -0
  12. package/dist/templates/minimal.d.ts.map +1 -0
  13. package/dist/templates/minimal.js +115 -0
  14. package/dist/templates/minimal.js.map +1 -0
  15. package/dist/templates/standard.d.ts +9 -0
  16. package/dist/templates/standard.d.ts.map +1 -0
  17. package/dist/templates/standard.js +527 -0
  18. package/dist/templates/standard.js.map +1 -0
  19. package/dist/tools/detect-pattern.d.ts +8 -5
  20. package/dist/tools/detect-pattern.d.ts.map +1 -1
  21. package/dist/tools/detect-pattern.js +151 -18
  22. package/dist/tools/detect-pattern.js.map +1 -1
  23. package/dist/tools/get-config.d.ts +1 -1
  24. package/dist/tools/get-config.d.ts.map +1 -1
  25. package/dist/tools/get-config.js +45 -10
  26. package/dist/tools/get-config.js.map +1 -1
  27. package/dist/tools/guide.d.ts +65 -0
  28. package/dist/tools/guide.d.ts.map +1 -0
  29. package/dist/tools/guide.js +304 -0
  30. package/dist/tools/guide.js.map +1 -0
  31. package/dist/tools/index.d.ts +4 -5
  32. package/dist/tools/index.d.ts.map +1 -1
  33. package/dist/tools/index.js +4 -5
  34. package/dist/tools/index.js.map +1 -1
  35. package/dist/tools/init.d.ts +73 -0
  36. package/dist/tools/init.d.ts.map +1 -0
  37. package/dist/tools/init.js +149 -0
  38. package/dist/tools/init.js.map +1 -0
  39. package/dist/tools/list-components.d.ts +18 -3
  40. package/dist/tools/list-components.d.ts.map +1 -1
  41. package/dist/tools/list-components.js +86 -11
  42. package/dist/tools/list-components.js.map +1 -1
  43. package/dist/tools/list-patterns.d.ts +18 -3
  44. package/dist/tools/list-patterns.d.ts.map +1 -1
  45. package/dist/tools/list-patterns.js +85 -10
  46. package/dist/tools/list-patterns.js.map +1 -1
  47. package/dist/tools/registry.d.ts +1 -1
  48. package/dist/tools/registry.d.ts.map +1 -1
  49. package/dist/tools/registry.js +14 -15
  50. package/dist/tools/registry.js.map +1 -1
  51. package/dist/tools/status.d.ts +1 -1
  52. package/dist/tools/status.d.ts.map +1 -1
  53. package/dist/tools/status.js +54 -42
  54. package/dist/tools/status.js.map +1 -1
  55. package/dist/tools/submit-pattern.d.ts +13 -11
  56. package/dist/tools/submit-pattern.d.ts.map +1 -1
  57. package/dist/tools/submit-pattern.js +90 -19
  58. package/dist/tools/submit-pattern.js.map +1 -1
  59. package/dist/tools/update-config.d.ts +16 -8
  60. package/dist/tools/update-config.d.ts.map +1 -1
  61. package/dist/tools/update-config.js +93 -39
  62. package/dist/tools/update-config.js.map +1 -1
  63. package/package.json +1 -1
@@ -1,39 +1,114 @@
1
1
  /**
2
2
  * UIDB MCP Tool: uidb_list_components
3
3
  *
4
- * List all available components in the design system.
4
+ * List all available components from the local .uidb folder.
5
5
  */
6
- import { apiClient } from "../core/api-client.js";
7
- import { formatErrorResponse } from "../core/errors.js";
6
+ import { readComponentsIndex, readComponent, UIDBNotFoundError, } from "../core/local-fs.js";
8
7
  export const listComponentsTool = {
9
8
  name: "uidb_list_components",
10
- description: `List all available UI components in the UIDB design system.
9
+ description: `List all available UI components in the design system.
11
10
 
12
- Returns component names, categories, descriptions, and available variants/sizes.
13
- Use this to see what components are available before starting a guidance flow.`,
11
+ Reads from .uidb/components/ to show what's available.
12
+ Optionally filter by category or include full component details.
13
+
14
+ Categories: interaction, form, layout, navigation, overlay, feedback, data-display`,
14
15
  inputSchema: {
15
16
  type: "object",
16
- properties: {},
17
+ properties: {
18
+ category: {
19
+ type: "string",
20
+ description: "Filter by category (e.g., 'form', 'layout', 'overlay')",
21
+ },
22
+ include_details: {
23
+ type: "boolean",
24
+ description: "Include full component definitions (props, examples)",
25
+ default: false,
26
+ },
27
+ },
17
28
  required: [],
18
29
  },
19
- async execute() {
30
+ async execute(args) {
20
31
  try {
21
- const response = await apiClient.get("/api/component/list");
32
+ const index = await readComponentsIndex();
33
+ let components = index.components;
34
+ // Filter by category if specified
35
+ if (args.category) {
36
+ components = components.filter((c) => c.category.toLowerCase() === args.category.toLowerCase());
37
+ }
38
+ // Include full details if requested
39
+ if (args.include_details) {
40
+ const detailedComponents = await Promise.all(components.map(async (entry) => {
41
+ try {
42
+ const details = await readComponent(entry.id);
43
+ return {
44
+ ...entry,
45
+ props: details.props,
46
+ semantic_intents: details.semantic_intents,
47
+ examples: details.examples,
48
+ };
49
+ }
50
+ catch {
51
+ return entry;
52
+ }
53
+ }));
54
+ return {
55
+ content: [
56
+ {
57
+ type: "text",
58
+ text: JSON.stringify({
59
+ total: detailedComponents.length,
60
+ components: detailedComponents,
61
+ categories: index.categories,
62
+ }, null, 2),
63
+ },
64
+ ],
65
+ };
66
+ }
67
+ // Return basic list
22
68
  return {
23
69
  content: [
24
70
  {
25
71
  type: "text",
26
- text: JSON.stringify(response, null, 2),
72
+ text: JSON.stringify({
73
+ total: components.length,
74
+ components: components.map((c) => ({
75
+ id: c.id,
76
+ name: c.name,
77
+ category: c.category,
78
+ description: c.description,
79
+ })),
80
+ categories: index.categories,
81
+ tip: "Use include_details=true to see props and examples",
82
+ }, null, 2),
27
83
  },
28
84
  ],
29
85
  };
30
86
  }
31
87
  catch (error) {
88
+ if (error instanceof UIDBNotFoundError) {
89
+ return {
90
+ content: [
91
+ {
92
+ type: "text",
93
+ text: JSON.stringify({
94
+ error: "NOT_INITIALIZED",
95
+ message: "No .uidb folder found. Run uidb_init first.",
96
+ }, null, 2),
97
+ },
98
+ ],
99
+ isError: true,
100
+ };
101
+ }
32
102
  return {
33
103
  content: [
34
104
  {
35
105
  type: "text",
36
- text: formatErrorResponse(error),
106
+ text: JSON.stringify({
107
+ error: "LIST_FAILED",
108
+ message: error instanceof Error
109
+ ? error.message
110
+ : "Failed to list components",
111
+ }, null, 2),
37
112
  },
38
113
  ],
39
114
  isError: true,
@@ -1 +1 @@
1
- {"version":3,"file":"list-components.js","sourceRoot":"","sources":["../../src/tools/list-components.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAOxD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE;;;+EAGgE;IAE7E,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAClC,qBAAqB,CACtB,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;qBACxC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC;qBACjC;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"list-components.js","sourceRoot":"","sources":["../../src/tools/list-components.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,31 @@
1
1
  /**
2
2
  * UIDB MCP Tool: uidb_list_patterns
3
3
  *
4
- * List all documented patterns in the design system.
4
+ * List all documented patterns from the local .uidb folder.
5
5
  */
6
+ interface ListPatternsInput {
7
+ category?: string;
8
+ include_code?: boolean;
9
+ }
6
10
  export declare const listPatternsTool: {
7
11
  name: string;
8
12
  description: string;
9
13
  inputSchema: {
10
14
  type: "object";
11
- properties: {};
15
+ properties: {
16
+ category: {
17
+ type: string;
18
+ description: string;
19
+ };
20
+ include_code: {
21
+ type: string;
22
+ description: string;
23
+ default: boolean;
24
+ };
25
+ };
12
26
  required: never[];
13
27
  };
14
- execute(): Promise<{
28
+ execute(args: ListPatternsInput): Promise<{
15
29
  content: {
16
30
  type: "text";
17
31
  text: string;
@@ -25,4 +39,5 @@ export declare const listPatternsTool: {
25
39
  isError: boolean;
26
40
  }>;
27
41
  };
42
+ export {};
28
43
  //# sourceMappingURL=list-patterns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-patterns.d.ts","sourceRoot":"","sources":["../../src/tools/list-patterns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;CAsC5B,CAAC"}
1
+ {"version":3,"file":"list-patterns.d.ts","sourceRoot":"","sources":["../../src/tools/list-patterns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;kBAyBP,iBAAiB;;;;;;;;;;;;;CAgHtC,CAAC"}
@@ -1,39 +1,114 @@
1
1
  /**
2
2
  * UIDB MCP Tool: uidb_list_patterns
3
3
  *
4
- * List all documented patterns in the design system.
4
+ * List all documented patterns from the local .uidb folder.
5
5
  */
6
- import { apiClient } from "../core/api-client.js";
7
- import { formatErrorResponse } from "../core/errors.js";
6
+ import { readPatternsIndex, readPattern, UIDBNotFoundError, } from "../core/local-fs.js";
8
7
  export const listPatternsTool = {
9
8
  name: "uidb_list_patterns",
10
- description: `List all documented UI patterns in the UIDB design system.
9
+ description: `List all documented UI patterns in the design system.
11
10
 
12
11
  Patterns are reusable UI compositions (3+ components) that have been documented.
13
- Use existing patterns when building similar UIs to maintain consistency.`,
12
+ Use existing patterns when building similar UIs to maintain consistency.
13
+
14
+ Categories: layout, forms, feedback, navigation, data-display, identity`,
14
15
  inputSchema: {
15
16
  type: "object",
16
- properties: {},
17
+ properties: {
18
+ category: {
19
+ type: "string",
20
+ description: "Filter by category (e.g., 'forms', 'feedback', 'layout')",
21
+ },
22
+ include_code: {
23
+ type: "boolean",
24
+ description: "Include code examples for each pattern variant",
25
+ default: false,
26
+ },
27
+ },
17
28
  required: [],
18
29
  },
19
- async execute() {
30
+ async execute(args) {
20
31
  try {
21
- const response = await apiClient.get("/api/pattern/list");
32
+ const index = await readPatternsIndex();
33
+ let patterns = index.patterns;
34
+ // Filter by category if specified
35
+ if (args.category) {
36
+ patterns = patterns.filter((p) => p.category.toLowerCase() === args.category.toLowerCase());
37
+ }
38
+ // Include code if requested
39
+ if (args.include_code) {
40
+ const detailedPatterns = await Promise.all(patterns.map(async (entry) => {
41
+ try {
42
+ const details = await readPattern(entry.id);
43
+ return {
44
+ ...entry,
45
+ components_used: details.components_used,
46
+ variants: details.variants,
47
+ guidelines: details.guidelines,
48
+ };
49
+ }
50
+ catch {
51
+ return entry;
52
+ }
53
+ }));
54
+ return {
55
+ content: [
56
+ {
57
+ type: "text",
58
+ text: JSON.stringify({
59
+ total: detailedPatterns.length,
60
+ patterns: detailedPatterns,
61
+ categories: index.categories,
62
+ }, null, 2),
63
+ },
64
+ ],
65
+ };
66
+ }
67
+ // Return basic list
22
68
  return {
23
69
  content: [
24
70
  {
25
71
  type: "text",
26
- text: JSON.stringify(response, null, 2),
72
+ text: JSON.stringify({
73
+ total: patterns.length,
74
+ patterns: patterns.map((p) => ({
75
+ id: p.id,
76
+ name: p.name,
77
+ category: p.category,
78
+ description: p.description,
79
+ })),
80
+ categories: index.categories,
81
+ tip: "Use include_code=true to see code examples",
82
+ }, null, 2),
27
83
  },
28
84
  ],
29
85
  };
30
86
  }
31
87
  catch (error) {
88
+ if (error instanceof UIDBNotFoundError) {
89
+ return {
90
+ content: [
91
+ {
92
+ type: "text",
93
+ text: JSON.stringify({
94
+ error: "NOT_INITIALIZED",
95
+ message: "No .uidb folder found. Run uidb_init first.",
96
+ }, null, 2),
97
+ },
98
+ ],
99
+ isError: true,
100
+ };
101
+ }
32
102
  return {
33
103
  content: [
34
104
  {
35
105
  type: "text",
36
- text: formatErrorResponse(error),
106
+ text: JSON.stringify({
107
+ error: "LIST_FAILED",
108
+ message: error instanceof Error
109
+ ? error.message
110
+ : "Failed to list patterns",
111
+ }, null, 2),
37
112
  },
38
113
  ],
39
114
  isError: true,
@@ -1 +1 @@
1
- {"version":3,"file":"list-patterns.js","sourceRoot":"","sources":["../../src/tools/list-patterns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAOxD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE;;;yEAG0D;IAEvE,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,QAAQ,GACZ,MAAM,SAAS,CAAC,GAAG,CAAuB,mBAAmB,CAAC,CAAC;YAEjE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;qBACxC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC;qBACjC;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"list-patterns.js","sourceRoot":"","sources":["../../src/tools/list-patterns.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * UIDB MCP Server - Tool Registry
3
3
  *
4
4
  * Central registry for all MCP tools.
5
- * Adding a new tool: import it and add to the tools array.
5
+ * Tools operate on the local .uidb folder (embedded design system).
6
6
  */
7
7
  export interface MCPTool {
8
8
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;QAC9B,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;CACJ;AAMD,eAAO,MAAM,KAAK,EAAE,OAAO,EAmB1B,CAAC;AAEF;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB;;;;cA7CxB,QAAQ;oBACF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;kBACzB,MAAM,EAAE;;IAiDrB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;aAnDhD,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;cACpC,OAAO;GAyEpB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IAEF,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;QAC9B,OAAO,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;CACJ;AAMD,eAAO,MAAM,KAAK,EAAE,OAAO,EAqB1B,CAAC;AAEF;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB;;;;cAhDxB,QAAQ;oBACF,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;kBACzB,MAAM,EAAE;;IAoDrB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;aArDhD,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;cACpC,OAAO;GA4EpB"}
@@ -2,38 +2,36 @@
2
2
  * UIDB MCP Server - Tool Registry
3
3
  *
4
4
  * Central registry for all MCP tools.
5
- * Adding a new tool: import it and add to the tools array.
5
+ * Tools operate on the local .uidb folder (embedded design system).
6
6
  */
7
- import { askIntentTool } from "./ask-intent.js";
8
- import { askQuestionTool } from "./ask-question.js";
9
- import { finalizeTool } from "./finalize.js";
7
+ import { initTool } from "./init.js";
8
+ import { guideTool } from "./guide.js";
10
9
  import { listComponentsTool } from "./list-components.js";
11
- import { detectPatternTool } from "./detect-pattern.js";
12
- import { submitPatternTool } from "./submit-pattern.js";
13
10
  import { listPatternsTool } from "./list-patterns.js";
14
11
  import { getConfigTool } from "./get-config.js";
15
12
  import { updateConfigTool } from "./update-config.js";
16
- import { loginTool } from "./login.js";
13
+ import { detectPatternTool } from "./detect-pattern.js";
14
+ import { submitPatternTool } from "./submit-pattern.js";
17
15
  import { statusTool } from "./status.js";
18
16
  // ============================================================================
19
17
  // Tool Registry
20
18
  // ============================================================================
21
19
  export const tools = [
22
- // Component guidance tools
23
- askIntentTool,
24
- askQuestionTool,
25
- finalizeTool,
20
+ // Initialization
21
+ initTool,
22
+ // Status
23
+ statusTool,
24
+ // Guidance (main workflow tool)
25
+ guideTool,
26
+ // Component tools
26
27
  listComponentsTool,
27
28
  // Pattern tools
29
+ listPatternsTool,
28
30
  detectPatternTool,
29
31
  submitPatternTool,
30
- listPatternsTool,
31
32
  // Config tools
32
33
  getConfigTool,
33
34
  updateConfigTool,
34
- // Auth tools
35
- loginTool,
36
- statusTool,
37
35
  ];
38
36
  /**
39
37
  * Get a tool by name
@@ -64,6 +62,7 @@ export async function executeTool(name, args) {
64
62
  text: JSON.stringify({
65
63
  error: "TOOL_NOT_FOUND",
66
64
  message: `Unknown tool: ${name}`,
65
+ available_tools: tools.map((t) => t.name),
67
66
  }, null, 2),
68
67
  },
69
68
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoBzC,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,KAAK,GAAc;IAC9B,2BAA2B;IAC3B,aAAa;IACb,eAAe;IACf,YAAY;IACZ,kBAAkB;IAElB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAEhB,eAAe;IACf,aAAa;IACb,gBAAgB;IAEhB,aAAa;IACb,SAAS;IACT,UAAU;CACX,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,IAAa;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,KAAK,EAAE,gBAAgB;wBACvB,OAAO,EAAE,iBAAiB,IAAI,EAAE;qBACjC,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAqBzC,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,KAAK,GAAc;IAC9B,iBAAiB;IACjB,QAAQ;IAER,SAAS;IACT,UAAU;IAEV,gCAAgC;IAChC,SAAS;IAET,kBAAkB;IAClB,kBAAkB;IAElB,gBAAgB;IAChB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IAEjB,eAAe;IACf,aAAa;IACb,gBAAgB;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,IAAa;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,KAAK,EAAE,gBAAgB;wBACvB,OAAO,EAAE,iBAAiB,IAAI,EAAE;wBAChC,eAAe,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;qBAC1C,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;YACD,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,IAA+B,CAAC,CAAC;AACvD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * UIDB MCP Tool: uidb_status
3
3
  *
4
- * Check the current UIDB connection status.
4
+ * Check the current UIDB design system status.
5
5
  */
6
6
  export declare const statusTool: {
7
7
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;CA8FtB,CAAC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;CA8GtB,CAAC"}
@@ -1,21 +1,18 @@
1
1
  /**
2
2
  * UIDB MCP Tool: uidb_status
3
3
  *
4
- * Check the current UIDB connection status.
4
+ * Check the current UIDB design system status.
5
5
  */
6
- import { getAuthStatus, loadCredentials } from "../core/auth.js";
7
- import { apiClient } from "../core/api-client.js";
8
- import { formatErrorResponse } from "../core/errors.js";
6
+ import { uidbExists, readManifest, readConfig, readComponentsIndex, readPatternsIndex, } from "../core/local-fs.js";
9
7
  export const statusTool = {
10
8
  name: "uidb_status",
11
- description: `Check the current UIDB connection status.
9
+ description: `Check the current UIDB design system status.
12
10
 
13
11
  Shows:
14
- - Authentication status
15
- - Connected project
16
- - User email
17
- - Token expiration
18
- - API health`,
12
+ - Whether .uidb folder exists
13
+ - Project name and version
14
+ - Theme configuration
15
+ - Number of components and patterns`,
19
16
  inputSchema: {
20
17
  type: "object",
21
18
  properties: {},
@@ -23,51 +20,61 @@ Shows:
23
20
  },
24
21
  async execute() {
25
22
  try {
26
- const authStatus = await getAuthStatus();
27
- if (!authStatus.authenticated) {
23
+ const exists = await uidbExists();
24
+ if (!exists) {
28
25
  return {
29
26
  content: [
30
27
  {
31
28
  type: "text",
32
29
  text: JSON.stringify({
33
- authenticated: false,
34
- message: "Not connected to UIDB",
35
- action: "Run 'npx @uidbai/mcp-server login --token=YOUR_TOKEN' to connect",
30
+ initialized: false,
31
+ message: "No .uidb folder found in this project",
32
+ action: "Run uidb_init to initialize a design system",
36
33
  }, null, 2),
37
34
  },
38
35
  ],
39
36
  };
40
37
  }
41
- // Try to verify API connection
42
- let apiHealthy = false;
43
- let projectInfo = null;
44
- try {
45
- const credentials = await loadCredentials();
46
- if (credentials) {
47
- const response = await apiClient.get("/api/health");
48
- apiHealthy = response.status === "ok";
49
- // Get project info
50
- projectInfo = await apiClient.get(`/api/integration/project/${credentials.projectSlug}`);
51
- }
52
- }
53
- catch {
54
- // API check failed, but auth is still valid
55
- }
56
- const statusResponse = {
57
- authenticated: true,
58
- project: authStatus.projectSlug,
59
- user: authStatus.userEmail,
60
- expiresAt: authStatus.expiresAt,
61
- apiHealthy,
62
- };
63
- if (projectInfo) {
64
- statusResponse.projectDetails = projectInfo;
65
- }
38
+ // Get design system info
39
+ const [manifest, config, componentsIndex, patternsIndex] = await Promise.all([
40
+ readManifest().catch(() => null),
41
+ readConfig().catch(() => null),
42
+ readComponentsIndex().catch(() => ({ components: [] })),
43
+ readPatternsIndex().catch(() => ({ patterns: [] })),
44
+ ]);
66
45
  return {
67
46
  content: [
68
47
  {
69
48
  type: "text",
70
- text: JSON.stringify(statusResponse, null, 2),
49
+ text: JSON.stringify({
50
+ initialized: true,
51
+ project: {
52
+ name: manifest?.name || "Unknown",
53
+ version: manifest?.version || "1.0.0",
54
+ framework: manifest?.framework?.name || "unknown",
55
+ },
56
+ theme: config?.theme
57
+ ? {
58
+ accentColor: config.theme.accentColor,
59
+ grayColor: config.theme.grayColor,
60
+ radius: config.theme.radius,
61
+ appearance: config.appearance || "light",
62
+ }
63
+ : null,
64
+ stats: {
65
+ components: componentsIndex.components.length,
66
+ patterns: patternsIndex.patterns.length,
67
+ },
68
+ available_tools: [
69
+ "uidb_guide - Get component guidance",
70
+ "uidb_list_components - List all components",
71
+ "uidb_list_patterns - List all patterns",
72
+ "uidb_get_config - Get theme config",
73
+ "uidb_update_config - Update theme config",
74
+ "uidb_detect_pattern - Check if UI is a pattern",
75
+ "uidb_submit_pattern - Add new pattern",
76
+ ],
77
+ }, null, 2),
71
78
  },
72
79
  ],
73
80
  };
@@ -77,7 +84,12 @@ Shows:
77
84
  content: [
78
85
  {
79
86
  type: "text",
80
- text: formatErrorResponse(error),
87
+ text: JSON.stringify({
88
+ error: "STATUS_FAILED",
89
+ message: error instanceof Error
90
+ ? error.message
91
+ : "Failed to get status",
92
+ }, null, 2),
81
93
  },
82
94
  ],
83
95
  isError: true,
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE;;;;;;;aAOF;IAEX,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;YAEzC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC9B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;gCACE,aAAa,EAAE,KAAK;gCACpB,OAAO,EAAE,uBAAuB;gCAChC,MAAM,EACJ,kEAAkE;6BACrE,EACD,IAAI,EACJ,CAAC,CACF;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,+BAA+B;YAC/B,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,IAAI,WAAW,GAAG,IAAI,CAAC;YAEvB,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,eAAe,EAAE,CAAC;gBAC5C,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,CAClC,aAAa,CACd,CAAC;oBACF,UAAU,GAAG,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC;oBAEtC,mBAAmB;oBACnB,WAAW,GAAG,MAAM,SAAS,CAAC,GAAG,CAC/B,4BAA4B,WAAW,CAAC,WAAW,EAAE,CACtD,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;YAED,MAAM,cAAc,GAA4B;gBAC9C,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,UAAU,CAAC,WAAW;gBAC/B,IAAI,EAAE,UAAU,CAAC,SAAS;gBAC1B,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,UAAU;aACX,CAAC;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,cAAc,CAAC,cAAc,GAAG,WAAW,CAAC;YAC9C,CAAC;YAED,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC9C;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC;qBACjC;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,16 @@
1
1
  /**
2
2
  * UIDB MCP Tool: uidb_submit_pattern
3
3
  *
4
- * Submit a new reusable pattern to the design system.
4
+ * Submit a new reusable pattern to the local .uidb design system.
5
5
  */
6
+ interface SubmitPatternInput {
7
+ name: string;
8
+ description: string;
9
+ components: string[];
10
+ code_template: string;
11
+ category: string;
12
+ use_cases?: string[];
13
+ }
6
14
  export declare const submitPatternTool: {
7
15
  name: string;
8
16
  description: string;
@@ -43,25 +51,19 @@ export declare const submitPatternTool: {
43
51
  };
44
52
  required: string[];
45
53
  };
46
- execute(args: {
47
- name: string;
48
- description: string;
49
- components: string[];
50
- code_template: string;
51
- category: string;
52
- use_cases?: string[];
53
- }): Promise<{
54
+ execute(args: SubmitPatternInput): Promise<{
54
55
  content: {
55
56
  type: "text";
56
57
  text: string;
57
58
  }[];
58
- isError?: undefined;
59
+ isError: boolean;
59
60
  } | {
60
61
  content: {
61
62
  type: "text";
62
63
  text: string;
63
64
  }[];
64
- isError: boolean;
65
+ isError?: undefined;
65
66
  }>;
66
67
  };
68
+ export {};
67
69
  //# sourceMappingURL=submit-pattern.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit-pattern.d.ts","sourceRoot":"","sources":["../../src/tools/submit-pattern.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAyDR;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB;;;;;;;;;;;;;CAkCF,CAAC"}
1
+ {"version":3,"file":"submit-pattern.d.ts","sourceRoot":"","sources":["../../src/tools/submit-pattern.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmDR,kBAAkB;;;;;;;;;;;;;CAoIvC,CAAC"}