mcp-stitch 0.1.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 +122 -0
  2. package/dist/config/stitch.d.ts +11 -0
  3. package/dist/config/stitch.d.ts.map +1 -0
  4. package/dist/config/stitch.js +38 -0
  5. package/dist/config/stitch.js.map +1 -0
  6. package/dist/index.d.ts +3 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +21 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/models/stitch.d.ts +20 -0
  11. package/dist/models/stitch.d.ts.map +1 -0
  12. package/dist/models/stitch.js +2 -0
  13. package/dist/models/stitch.js.map +1 -0
  14. package/dist/services/stitchClient.d.ts +8 -0
  15. package/dist/services/stitchClient.d.ts.map +1 -0
  16. package/dist/services/stitchClient.js +189 -0
  17. package/dist/services/stitchClient.js.map +1 -0
  18. package/dist/tools/status.d.ts +3 -0
  19. package/dist/tools/status.d.ts.map +1 -0
  20. package/dist/tools/status.js +50 -0
  21. package/dist/tools/status.js.map +1 -0
  22. package/dist/tools/stitchDesignSystems.d.ts +3 -0
  23. package/dist/tools/stitchDesignSystems.d.ts.map +1 -0
  24. package/dist/tools/stitchDesignSystems.js +340 -0
  25. package/dist/tools/stitchDesignSystems.js.map +1 -0
  26. package/dist/tools/stitchExport.d.ts +3 -0
  27. package/dist/tools/stitchExport.d.ts.map +1 -0
  28. package/dist/tools/stitchExport.js +923 -0
  29. package/dist/tools/stitchExport.js.map +1 -0
  30. package/dist/tools/stitchProjects.d.ts +3 -0
  31. package/dist/tools/stitchProjects.d.ts.map +1 -0
  32. package/dist/tools/stitchProjects.js +125 -0
  33. package/dist/tools/stitchProjects.js.map +1 -0
  34. package/dist/tools/stitchScreens.d.ts +3 -0
  35. package/dist/tools/stitchScreens.d.ts.map +1 -0
  36. package/dist/tools/stitchScreens.js +320 -0
  37. package/dist/tools/stitchScreens.js.map +1 -0
  38. package/dist/utils/redact.d.ts +3 -0
  39. package/dist/utils/redact.d.ts.map +1 -0
  40. package/dist/utils/redact.js +14 -0
  41. package/dist/utils/redact.js.map +1 -0
  42. package/dist/utils/safePath.d.ts +3 -0
  43. package/dist/utils/safePath.d.ts.map +1 -0
  44. package/dist/utils/safePath.js +81 -0
  45. package/dist/utils/safePath.js.map +1 -0
  46. package/dist/utils/stitchIds.d.ts +12 -0
  47. package/dist/utils/stitchIds.d.ts.map +1 -0
  48. package/dist/utils/stitchIds.js +48 -0
  49. package/dist/utils/stitchIds.js.map +1 -0
  50. package/dist/utils/stitchResponse.d.ts +11 -0
  51. package/dist/utils/stitchResponse.d.ts.map +1 -0
  52. package/dist/utils/stitchResponse.js +71 -0
  53. package/dist/utils/stitchResponse.js.map +1 -0
  54. package/dist/utils/stitchScreenResolver.d.ts +26 -0
  55. package/dist/utils/stitchScreenResolver.d.ts.map +1 -0
  56. package/dist/utils/stitchScreenResolver.js +159 -0
  57. package/dist/utils/stitchScreenResolver.js.map +1 -0
  58. package/dist/utils/stitchToolHelpers.d.ts +6 -0
  59. package/dist/utils/stitchToolHelpers.d.ts.map +1 -0
  60. package/dist/utils/stitchToolHelpers.js +25 -0
  61. package/dist/utils/stitchToolHelpers.js.map +1 -0
  62. package/docs/stitch-tools.md +389 -0
  63. package/package.json +40 -0
@@ -0,0 +1,340 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { z } from "zod";
3
+ import { getStitchConfig } from "../config/stitch.js";
4
+ import { StitchClient } from "../services/stitchClient.js";
5
+ import { toAssetName, toBareAssetId, toBareProjectId, toScreenIdentifier, } from "../utils/stitchIds.js";
6
+ import { compactStitchResult, requireConfirmation } from "../utils/stitchToolHelpers.js";
7
+ const deviceTypeSchema = z.enum([
8
+ "DEVICE_TYPE_UNSPECIFIED",
9
+ "MOBILE",
10
+ "DESKTOP",
11
+ "TABLET",
12
+ "AGNOSTIC",
13
+ ]);
14
+ const typographySchema = z
15
+ .object({
16
+ fontFamily: z.string().optional(),
17
+ fontSize: z.string().optional(),
18
+ fontWeight: z.string().optional(),
19
+ letterSpacing: z.string().optional(),
20
+ lineHeight: z.string().optional(),
21
+ })
22
+ .passthrough();
23
+ const colorModeSchema = z.enum(["COLOR_MODE_UNSPECIFIED", "LIGHT", "DARK"]);
24
+ const colorVariantSchema = z.enum([
25
+ "COLOR_VARIANT_UNSPECIFIED",
26
+ "MONOCHROME",
27
+ "NEUTRAL",
28
+ "TONAL_SPOT",
29
+ "VIBRANT",
30
+ "EXPRESSIVE",
31
+ "FIDELITY",
32
+ "CONTENT",
33
+ "RAINBOW",
34
+ "FRUIT_SALAD",
35
+ ]);
36
+ const roundnessSchema = z.enum([
37
+ "ROUNDNESS_UNSPECIFIED",
38
+ "ROUND_TWO",
39
+ "ROUND_FOUR",
40
+ "ROUND_EIGHT",
41
+ "ROUND_TWELVE",
42
+ "ROUND_FULL",
43
+ ]);
44
+ const fontSchema = z.enum([
45
+ "FONT_UNSPECIFIED",
46
+ "BE_VIETNAM_PRO",
47
+ "EPILOGUE",
48
+ "INTER",
49
+ "LEXEND",
50
+ "MANROPE",
51
+ "NEWSREADER",
52
+ "NOTO_SERIF",
53
+ "PLUS_JAKARTA_SANS",
54
+ "PUBLIC_SANS",
55
+ "SPACE_GROTESK",
56
+ "SPLINE_SANS",
57
+ "WORK_SANS",
58
+ "DOMINE",
59
+ "LIBRE_CASLON_TEXT",
60
+ "EB_GARAMOND",
61
+ "LITERATA",
62
+ "SOURCE_SERIF_4",
63
+ "SOURCE_SERIF_FOUR",
64
+ "MONTSERRAT",
65
+ "METROPHOBIC",
66
+ "METROPOLIS",
67
+ "SOURCE_SANS_3",
68
+ "SOURCE_SANS_THREE",
69
+ "NUNITO_SANS",
70
+ "ARIMO",
71
+ "HANKEN_GROTESK",
72
+ "RUBIK",
73
+ "GEIST",
74
+ "DM_SANS",
75
+ "IBM_PLEX_SANS",
76
+ "SORA",
77
+ "ANYBODY",
78
+ "ANTON",
79
+ "ARCHIVO_NARROW",
80
+ "ATKINSON_HYPERLEGIBLE_NEXT",
81
+ "BARLOW_CONDENSED",
82
+ "BEBAS_NEUE",
83
+ "BODONI_MODA",
84
+ "BRICOLAGE_GROTESQUE",
85
+ "CHIVO",
86
+ "CLIMATE_CRISIS",
87
+ "COMFORTAA",
88
+ "COURIER_PRIME",
89
+ "FIRA_SANS",
90
+ "GOOGLE_SANS",
91
+ "GOOGLE_SANS_CODE",
92
+ "GOOGLE_SANS_FLEX",
93
+ "GOOGLE_SANS_MONO",
94
+ "GOOGLE_SANS_TEXT",
95
+ "IBM_PLEX_SERIF",
96
+ "JETBRAINS_MONO",
97
+ "KARLA",
98
+ "LIBRE_FRANKLIN",
99
+ "MERRIWEATHER",
100
+ "NOTO_SANS",
101
+ "OPEN_SANS",
102
+ "OSWALD",
103
+ "OUTFIT",
104
+ "PLAYFAIR_DISPLAY",
105
+ "POIRET_ONE",
106
+ "QUESTRIAL",
107
+ "QUICKSAND",
108
+ "RALEWAY",
109
+ "ROBOTO_FLEX",
110
+ "SPACE_MONO",
111
+ "SYNE",
112
+ "VOLLKORN",
113
+ ]);
114
+ const designThemeSchema = z
115
+ .object({
116
+ colorMode: colorModeSchema,
117
+ headlineFont: fontSchema,
118
+ bodyFont: fontSchema,
119
+ roundness: roundnessSchema,
120
+ customColor: z.string().min(1),
121
+ colorVariant: colorVariantSchema.optional(),
122
+ designMd: z.string().optional(),
123
+ labelFont: fontSchema.optional(),
124
+ overrideNeutralColor: z.string().optional(),
125
+ overridePrimaryColor: z.string().optional(),
126
+ overrideSecondaryColor: z.string().optional(),
127
+ overrideTertiaryColor: z.string().optional(),
128
+ spacing: z.record(z.string(), z.string()).optional(),
129
+ typography: z.record(z.string(), typographySchema).optional(),
130
+ })
131
+ .passthrough();
132
+ const designSystemSchema = z
133
+ .object({
134
+ displayName: z.string().min(1),
135
+ theme: designThemeSchema,
136
+ })
137
+ .passthrough();
138
+ const selectedScreenInstanceSchema = z
139
+ .object({
140
+ id: z.string().min(1),
141
+ sourceScreen: z.string().min(1),
142
+ })
143
+ .passthrough();
144
+ function normalizeSelectedScreenInstance(instance, projectId) {
145
+ const identifier = toScreenIdentifier(instance.sourceScreen, projectId);
146
+ return {
147
+ ...instance,
148
+ sourceScreen: identifier?.name ?? instance.sourceScreen,
149
+ };
150
+ }
151
+ export function registerStitchDesignSystemTools(server) {
152
+ server.registerTool("stitch_upload_design_md", {
153
+ description: "MUTATING: Uploads DESIGN.md content to a Stitch project. Requires confirm: true. If rawInput is provided, it takes precedence over projectId/designMdBase64.",
154
+ inputSchema: {
155
+ projectId: z.string().optional(),
156
+ designMdBase64: z.string().optional(),
157
+ confirm: z.boolean().optional(),
158
+ rawInput: z.record(z.string(), z.unknown()).optional(),
159
+ },
160
+ }, async ({ projectId, designMdBase64, confirm, rawInput }) => {
161
+ const refusal = requireConfirmation("stitch_upload_design_md would upload DESIGN.md to Stitch", confirm);
162
+ if (refusal)
163
+ return { content: [{ type: "text", text: refusal }] };
164
+ if (!rawInput && (!projectId || !designMdBase64)) {
165
+ return {
166
+ content: [
167
+ {
168
+ type: "text",
169
+ text: "Invalid input: provide projectId and designMdBase64, or rawInput.",
170
+ },
171
+ ],
172
+ };
173
+ }
174
+ const input = rawInput ?? {
175
+ projectId: toBareProjectId(projectId ?? ""),
176
+ designMdBase64,
177
+ };
178
+ const client = new StitchClient(getStitchConfig());
179
+ const result = await client.callTool({ toolName: "upload_design_md", input });
180
+ return {
181
+ content: [{ type: "text", text: compactStitchResult("Stitch uploaded DESIGN.md", result) }],
182
+ };
183
+ });
184
+ server.registerTool("stitch_create_design_system", {
185
+ description: "MUTATING: Creates a Stitch design system, optionally scoped to a project. Requires confirm: true. If rawInput is provided, it takes precedence over projectId/designSystem.",
186
+ inputSchema: {
187
+ projectId: z.string().optional(),
188
+ designSystem: designSystemSchema.optional(),
189
+ confirm: z.boolean().optional(),
190
+ rawInput: z.record(z.string(), z.unknown()).optional(),
191
+ },
192
+ }, async ({ projectId, designSystem, confirm, rawInput }) => {
193
+ const refusal = requireConfirmation("stitch_create_design_system would create a Stitch design system", confirm);
194
+ if (refusal)
195
+ return { content: [{ type: "text", text: refusal }] };
196
+ if (!rawInput && !designSystem) {
197
+ return {
198
+ content: [{ type: "text", text: "Invalid input: provide designSystem, or rawInput." }],
199
+ };
200
+ }
201
+ const input = rawInput ?? {
202
+ designSystem,
203
+ ...(projectId ? { projectId: toBareProjectId(projectId) } : {}),
204
+ };
205
+ const client = new StitchClient(getStitchConfig());
206
+ const result = await client.callTool({ toolName: "create_design_system", input });
207
+ return {
208
+ content: [{ type: "text", text: compactStitchResult("Stitch created design system", result) }],
209
+ };
210
+ });
211
+ server.registerTool("stitch_create_design_system_from_design_md", {
212
+ description: "MUTATING: Creates a design system from an uploaded DESIGN.md screen instance. Requires confirm: true. If rawInput is provided, it takes precedence over other Stitch arguments.",
213
+ inputSchema: {
214
+ projectId: z.string().optional(),
215
+ selectedScreenInstance: selectedScreenInstanceSchema.optional(),
216
+ deviceType: deviceTypeSchema.optional(),
217
+ confirm: z.boolean().optional(),
218
+ rawInput: z.record(z.string(), z.unknown()).optional(),
219
+ },
220
+ }, async ({ projectId, selectedScreenInstance, deviceType, confirm, rawInput }) => {
221
+ const refusal = requireConfirmation("stitch_create_design_system_from_design_md would create a design system from uploaded DESIGN.md", confirm);
222
+ if (refusal)
223
+ return { content: [{ type: "text", text: refusal }] };
224
+ if (!rawInput && (!projectId || !selectedScreenInstance)) {
225
+ return {
226
+ content: [
227
+ {
228
+ type: "text",
229
+ text: "Invalid input: provide projectId and selectedScreenInstance, or rawInput.",
230
+ },
231
+ ],
232
+ };
233
+ }
234
+ const bareProjectId = projectId ? toBareProjectId(projectId) : undefined;
235
+ const input = rawInput ?? {
236
+ projectId: bareProjectId,
237
+ selectedScreenInstance: normalizeSelectedScreenInstance(selectedScreenInstance, bareProjectId),
238
+ ...(deviceType ? { deviceType } : {}),
239
+ };
240
+ const client = new StitchClient(getStitchConfig());
241
+ const result = await client.callTool({
242
+ toolName: "create_design_system_from_design_md",
243
+ input,
244
+ });
245
+ return {
246
+ content: [
247
+ {
248
+ type: "text",
249
+ text: compactStitchResult("Stitch created design system from DESIGN.md", result),
250
+ },
251
+ ],
252
+ };
253
+ });
254
+ server.registerTool("stitch_update_design_system", {
255
+ description: "MUTATING: Updates a Stitch design system for a project. Requires confirm: true. If rawInput is provided, it takes precedence over name/projectId/designSystem.",
256
+ inputSchema: {
257
+ name: z.string().optional(),
258
+ projectId: z.string().optional(),
259
+ designSystem: designSystemSchema.optional(),
260
+ confirm: z.boolean().optional(),
261
+ rawInput: z.record(z.string(), z.unknown()).optional(),
262
+ },
263
+ }, async ({ name, projectId, designSystem, confirm, rawInput }) => {
264
+ const refusal = requireConfirmation("stitch_update_design_system would update a Stitch design system", confirm);
265
+ if (refusal)
266
+ return { content: [{ type: "text", text: refusal }] };
267
+ if (!rawInput && (!name || !projectId || !designSystem)) {
268
+ return {
269
+ content: [
270
+ {
271
+ type: "text",
272
+ text: "Invalid input: provide name, projectId, and designSystem, or rawInput.",
273
+ },
274
+ ],
275
+ };
276
+ }
277
+ const input = rawInput ?? {
278
+ name: toAssetName(name ?? ""),
279
+ projectId: toBareProjectId(projectId ?? ""),
280
+ designSystem,
281
+ };
282
+ const client = new StitchClient(getStitchConfig());
283
+ const result = await client.callTool({ toolName: "update_design_system", input });
284
+ return {
285
+ content: [{ type: "text", text: compactStitchResult("Stitch updated design system", result) }],
286
+ };
287
+ });
288
+ server.registerTool("stitch_list_design_systems", {
289
+ description: "Lists Stitch design systems. If projectId is provided it is normalized to a bare project id. If rawInput is provided, it takes precedence over projectId.",
290
+ inputSchema: {
291
+ projectId: z.string().optional(),
292
+ rawInput: z.record(z.string(), z.unknown()).optional(),
293
+ },
294
+ }, async ({ projectId, rawInput }) => {
295
+ const input = rawInput ?? {
296
+ ...(projectId ? { projectId: toBareProjectId(projectId) } : {}),
297
+ };
298
+ const client = new StitchClient(getStitchConfig());
299
+ const result = await client.callTool({ toolName: "list_design_systems", input });
300
+ return {
301
+ content: [{ type: "text", text: compactStitchResult("Stitch design systems", result) }],
302
+ };
303
+ });
304
+ server.registerTool("stitch_apply_design_system", {
305
+ description: "MUTATING: Applies a Stitch design system to selected screen instances. Requires confirm: true. If rawInput is provided, it takes precedence over other Stitch arguments.",
306
+ inputSchema: {
307
+ projectId: z.string().optional(),
308
+ assetId: z.string().optional(),
309
+ selectedScreenInstances: z.array(selectedScreenInstanceSchema).optional(),
310
+ confirm: z.boolean().optional(),
311
+ rawInput: z.record(z.string(), z.unknown()).optional(),
312
+ },
313
+ }, async ({ projectId, assetId, selectedScreenInstances, confirm, rawInput }) => {
314
+ const refusal = requireConfirmation("stitch_apply_design_system would modify selected Stitch screen instances", confirm);
315
+ if (refusal)
316
+ return { content: [{ type: "text", text: refusal }] };
317
+ if (!rawInput && (!projectId || !assetId || !selectedScreenInstances?.length)) {
318
+ return {
319
+ content: [
320
+ {
321
+ type: "text",
322
+ text: "Invalid input: provide projectId, assetId, and selectedScreenInstances, or rawInput.",
323
+ },
324
+ ],
325
+ };
326
+ }
327
+ const bareProjectId = projectId ? toBareProjectId(projectId) : undefined;
328
+ const input = rawInput ?? {
329
+ projectId: bareProjectId,
330
+ assetId: toBareAssetId(assetId ?? ""),
331
+ selectedScreenInstances: (selectedScreenInstances ?? []).map((instance) => normalizeSelectedScreenInstance(instance, bareProjectId)),
332
+ };
333
+ const client = new StitchClient(getStitchConfig());
334
+ const result = await client.callTool({ toolName: "apply_design_system", input });
335
+ return {
336
+ content: [{ type: "text", text: compactStitchResult("Stitch applied design system", result) }],
337
+ };
338
+ });
339
+ }
340
+ //# sourceMappingURL=stitchDesignSystems.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stitchDesignSystems.js","sourceRoot":"","sources":["../../src/tools/stitchDesignSystems.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerStitchExportTool(server: McpServer): void;
3
+ //# sourceMappingURL=stitchExport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stitchExport.d.ts","sourceRoot":"","sources":["../../src/tools/stitchExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2wBpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,QAkRzD"}