mcp-stitch 0.1.2 → 0.1.3
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.
- package/README.md +137 -2
- package/dist/config/stitch.js +1 -1
- package/dist/config/stitch.js.map +1 -1
- package/dist/tools/stitchScreens.d.ts.map +1 -1
- package/dist/tools/stitchScreens.js +208 -19
- package/dist/tools/stitchScreens.js.map +1 -1
- package/docs/stitch-tools.md +5 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,6 +12,9 @@ MCP server for Google Stitch. It exposes Stitch project, screen, design-system,
|
|
|
12
12
|
- [VS Code Setup](#vs-code-setup)
|
|
13
13
|
- [Cursor Setup](#cursor-setup)
|
|
14
14
|
- [Continue Setup](#continue-setup)
|
|
15
|
+
- [Claude Desktop Setup](#claude-desktop-setup)
|
|
16
|
+
- [Claude Code CLI Setup](#claude-code-cli-setup)
|
|
17
|
+
- [Gemini CLI Setup](#gemini-cli-setup)
|
|
15
18
|
- [Codex Setup](#codex-setup)
|
|
16
19
|
- [Tools](#tools)
|
|
17
20
|
- [Safety](#safety)
|
|
@@ -62,7 +65,7 @@ Optional:
|
|
|
62
65
|
|
|
63
66
|
- `STITCH_API_BASE_URL`: defaults to `https://stitch.googleapis.com/mcp`
|
|
64
67
|
- `STITCH_OUTPUT_DIR`: fallback output root when `PROJECT_ROOT` is not set
|
|
65
|
-
- `STITCH_TIMEOUT_MS`: defaults to `
|
|
68
|
+
- `STITCH_TIMEOUT_MS`: defaults to `180000`
|
|
66
69
|
- `STITCH_MAX_RETRIES`: defaults to `2`
|
|
67
70
|
|
|
68
71
|
## VS Code Setup
|
|
@@ -195,6 +198,121 @@ mcpServers:
|
|
|
195
198
|
|
|
196
199
|
Use Continue's secrets or your local environment for `GOOGLE_API_KEY`; do not commit a literal key.
|
|
197
200
|
|
|
201
|
+
## Claude Desktop Setup
|
|
202
|
+
|
|
203
|
+
Claude Desktop loads MCP servers from its desktop configuration file. On macOS, create or edit:
|
|
204
|
+
|
|
205
|
+
```text
|
|
206
|
+
~/Library/Application Support/Claude/claude_desktop_config.json
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Add `mcp-stitch` under `mcpServers`:
|
|
210
|
+
|
|
211
|
+
```json
|
|
212
|
+
{
|
|
213
|
+
"mcpServers": {
|
|
214
|
+
"stitch": {
|
|
215
|
+
"command": "npx",
|
|
216
|
+
"args": ["-y", "mcp-stitch"],
|
|
217
|
+
"env": {
|
|
218
|
+
"GOOGLE_API_KEY": "your-key-here",
|
|
219
|
+
"PROJECT_ROOT": "/absolute/path/to/your/project"
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
If Claude Desktop cannot find `npx`, use the absolute path from `which npx` instead, for example:
|
|
227
|
+
|
|
228
|
+
```json
|
|
229
|
+
{
|
|
230
|
+
"mcpServers": {
|
|
231
|
+
"stitch": {
|
|
232
|
+
"command": "/opt/homebrew/bin/npx",
|
|
233
|
+
"args": ["-y", "mcp-stitch"],
|
|
234
|
+
"env": {
|
|
235
|
+
"GOOGLE_API_KEY": "your-key-here",
|
|
236
|
+
"PROJECT_ROOT": "/absolute/path/to/your/project"
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
After saving the config, fully quit and reopen Claude Desktop. Then ask Claude to call `stitch_status` to confirm the setup.
|
|
244
|
+
|
|
245
|
+
## Claude Code CLI Setup
|
|
246
|
+
|
|
247
|
+
Claude Code can add stdio MCP servers from the terminal:
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
claude mcp add \
|
|
251
|
+
-e GOOGLE_API_KEY=your-key-here \
|
|
252
|
+
-e PROJECT_ROOT=/absolute/path/to/your/project \
|
|
253
|
+
stitch -- npx -y mcp-stitch
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Then run:
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
claude mcp list
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
Start or restart Claude Code in your project and ask it to call `stitch_status`.
|
|
263
|
+
|
|
264
|
+
## Gemini CLI Setup
|
|
265
|
+
|
|
266
|
+
Gemini CLI can load MCP servers from user or workspace settings.
|
|
267
|
+
|
|
268
|
+
For all Gemini CLI projects, create or edit:
|
|
269
|
+
|
|
270
|
+
```text
|
|
271
|
+
~/.gemini/settings.json
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
For just one workspace, create or edit:
|
|
275
|
+
|
|
276
|
+
```text
|
|
277
|
+
.gemini/settings.json
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
Add `mcp-stitch` under `mcpServers`:
|
|
281
|
+
|
|
282
|
+
```json
|
|
283
|
+
{
|
|
284
|
+
"mcpServers": {
|
|
285
|
+
"stitch": {
|
|
286
|
+
"command": "npx",
|
|
287
|
+
"args": ["-y", "mcp-stitch"],
|
|
288
|
+
"env": {
|
|
289
|
+
"GOOGLE_API_KEY": "your-key-here",
|
|
290
|
+
"PROJECT_ROOT": "/absolute/path/to/your/project"
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
If Gemini CLI cannot find `npx`, use the absolute path from `which npx` instead:
|
|
298
|
+
|
|
299
|
+
```json
|
|
300
|
+
{
|
|
301
|
+
"mcpServers": {
|
|
302
|
+
"stitch": {
|
|
303
|
+
"command": "/opt/homebrew/bin/npx",
|
|
304
|
+
"args": ["-y", "mcp-stitch"],
|
|
305
|
+
"env": {
|
|
306
|
+
"GOOGLE_API_KEY": "your-key-here",
|
|
307
|
+
"PROJECT_ROOT": "/absolute/path/to/your/project"
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Restart Gemini CLI after saving the settings. Inside Gemini CLI, run `/mcp` to list configured MCP servers and tools, then ask it to call `stitch_status`.
|
|
315
|
+
|
|
198
316
|
## Codex Setup
|
|
199
317
|
|
|
200
318
|
In the Codex app, add a new MCP server with the `+` button:
|
|
@@ -219,7 +337,24 @@ Codex may not expand VS Code variables like `${workspaceFolder}`, so use a real
|
|
|
219
337
|
|
|
220
338
|
After adding the server, restart or reconnect it and ask Codex to call `stitch_status`.
|
|
221
339
|
|
|
222
|
-
For Codex CLI
|
|
340
|
+
For Codex CLI, add the server from the terminal:
|
|
341
|
+
|
|
342
|
+
```bash
|
|
343
|
+
codex mcp add stitch \
|
|
344
|
+
--env GOOGLE_API_KEY=your-key-here \
|
|
345
|
+
--env PROJECT_ROOT=/absolute/path/to/your/project \
|
|
346
|
+
-- npx -y mcp-stitch
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
Then run:
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
codex mcp list
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
Start or restart Codex in your project and ask it to call `stitch_status`.
|
|
356
|
+
|
|
357
|
+
For manual Codex CLI setup, add a stdio MCP server to your Codex config, usually:
|
|
223
358
|
|
|
224
359
|
```text
|
|
225
360
|
~/.codex/config.toml
|
package/dist/config/stitch.js
CHANGED
|
@@ -14,7 +14,7 @@ function getProjectRoot() {
|
|
|
14
14
|
export function getStitchConfig() {
|
|
15
15
|
const apiKey = process.env.GOOGLE_API_KEY?.trim() ?? "";
|
|
16
16
|
const baseUrl = process.env.STITCH_API_BASE_URL?.trim() || DEFAULT_STITCH_API_BASE_URL;
|
|
17
|
-
const timeoutMs = parsePositiveInt(process.env.STITCH_TIMEOUT_MS,
|
|
17
|
+
const timeoutMs = parsePositiveInt(process.env.STITCH_TIMEOUT_MS, 180000);
|
|
18
18
|
const maxRetries = parsePositiveInt(process.env.STITCH_MAX_RETRIES, 2);
|
|
19
19
|
const rawOutputDir = process.env.STITCH_OUTPUT_DIR?.trim();
|
|
20
20
|
const outputDir = rawOutputDir
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stitch.js","sourceRoot":"","sources":["../../src/config/stitch.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AAU/E,SAAS,gBAAgB,CAAC,KAAyB,EAAE,QAAgB;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE7D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,2BAA2B,CAAC;IAEvF,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"stitch.js","sourceRoot":"","sources":["../../src/config/stitch.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,CAAC,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AAU/E,SAAS,gBAAgB,CAAC,KAAyB,EAAE,QAAgB;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE7D,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,2BAA2B,CAAC;IAEvF,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,SAAS,GAAG,YAAY;QAC5B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QAC5B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,eAAe,CAAC,CAAC;IAEpD,OAAO;QACL,MAAM;QACN,OAAO;QACP,SAAS;QACT,UAAU;QACV,SAAS;KACV,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAoB;IAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stitchScreens.d.ts","sourceRoot":"","sources":["../../src/tools/stitchScreens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"stitchScreens.d.ts","sourceRoot":"","sources":["../../src/tools/stitchScreens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0SpE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,QAiU1D"}
|
|
@@ -4,7 +4,7 @@ import { getStitchConfig } from "../config/stitch.js";
|
|
|
4
4
|
import { StitchClient } from "../services/stitchClient.js";
|
|
5
5
|
import { toBareProjectId, toBareScreenId, toScreenIdentifier } from "../utils/stitchIds.js";
|
|
6
6
|
import { resolveScreenInput } from "../utils/stitchScreenResolver.js";
|
|
7
|
-
import { formatStitchSummary } from "../utils/stitchResponse.js";
|
|
7
|
+
import { formatStitchSummary, safeJsonPreview } from "../utils/stitchResponse.js";
|
|
8
8
|
import { compactStitchResult, requireConfirmation } from "../utils/stitchToolHelpers.js";
|
|
9
9
|
function toErrorText(prefix, message) {
|
|
10
10
|
return `${prefix}\n\n${message}`;
|
|
@@ -45,6 +45,210 @@ const variantOptionsSchema = z
|
|
|
45
45
|
variantCount: z.number().int().min(1).max(5).optional(),
|
|
46
46
|
})
|
|
47
47
|
.passthrough();
|
|
48
|
+
function asRecord(value) {
|
|
49
|
+
return value && typeof value === "object" && !Array.isArray(value)
|
|
50
|
+
? value
|
|
51
|
+
: null;
|
|
52
|
+
}
|
|
53
|
+
function getString(obj, key) {
|
|
54
|
+
const value = obj?.[key];
|
|
55
|
+
return typeof value === "string" && value.trim().length > 0 ? value.trim() : undefined;
|
|
56
|
+
}
|
|
57
|
+
function getProjectIdFromName(name) {
|
|
58
|
+
if (!name || !name.startsWith("projects/"))
|
|
59
|
+
return undefined;
|
|
60
|
+
return name.split("/")[1];
|
|
61
|
+
}
|
|
62
|
+
function getScreenIdFromName(name) {
|
|
63
|
+
if (!name)
|
|
64
|
+
return undefined;
|
|
65
|
+
const marker = "/screens/";
|
|
66
|
+
const index = name.indexOf(marker);
|
|
67
|
+
return index >= 0 ? name.slice(index + marker.length) : undefined;
|
|
68
|
+
}
|
|
69
|
+
function parseContentJson(payload) {
|
|
70
|
+
const obj = asRecord(payload);
|
|
71
|
+
const content = obj?.content;
|
|
72
|
+
if (!Array.isArray(content))
|
|
73
|
+
return null;
|
|
74
|
+
for (const item of content) {
|
|
75
|
+
const text = getString(asRecord(item), "text");
|
|
76
|
+
if (!text)
|
|
77
|
+
continue;
|
|
78
|
+
try {
|
|
79
|
+
return JSON.parse(text);
|
|
80
|
+
}
|
|
81
|
+
catch {
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
function getStructuredPayload(payload) {
|
|
88
|
+
const obj = asRecord(payload);
|
|
89
|
+
const structuredContent = obj?.structuredContent;
|
|
90
|
+
if (structuredContent && typeof structuredContent === "object") {
|
|
91
|
+
return structuredContent;
|
|
92
|
+
}
|
|
93
|
+
return parseContentJson(payload) ?? payload;
|
|
94
|
+
}
|
|
95
|
+
function screensFromPayload(payload) {
|
|
96
|
+
const structured = getStructuredPayload(payload);
|
|
97
|
+
const direct = asRecord(structured);
|
|
98
|
+
if (!direct)
|
|
99
|
+
return [];
|
|
100
|
+
const directScreens = direct.screens;
|
|
101
|
+
if (Array.isArray(directScreens)) {
|
|
102
|
+
return directScreens
|
|
103
|
+
.map((screen) => asRecord(screen))
|
|
104
|
+
.filter((screen) => Boolean(screen));
|
|
105
|
+
}
|
|
106
|
+
const outputComponents = direct.outputComponents;
|
|
107
|
+
const screens = [];
|
|
108
|
+
if (Array.isArray(outputComponents)) {
|
|
109
|
+
for (const component of outputComponents) {
|
|
110
|
+
const componentObj = asRecord(component);
|
|
111
|
+
const design = asRecord(componentObj?.design);
|
|
112
|
+
const designScreens = design?.screens;
|
|
113
|
+
if (!Array.isArray(designScreens))
|
|
114
|
+
continue;
|
|
115
|
+
for (const screen of designScreens) {
|
|
116
|
+
const screenObj = asRecord(screen);
|
|
117
|
+
if (screenObj)
|
|
118
|
+
screens.push(screenObj);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
const design = asRecord(direct.design);
|
|
123
|
+
const designScreens = design?.screens;
|
|
124
|
+
if (Array.isArray(designScreens)) {
|
|
125
|
+
for (const screen of designScreens) {
|
|
126
|
+
const screenObj = asRecord(screen);
|
|
127
|
+
if (screenObj)
|
|
128
|
+
screens.push(screenObj);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return screens;
|
|
132
|
+
}
|
|
133
|
+
function firstScreenFromPayload(payload) {
|
|
134
|
+
const structured = getStructuredPayload(payload);
|
|
135
|
+
const direct = asRecord(structured);
|
|
136
|
+
if (!direct)
|
|
137
|
+
return null;
|
|
138
|
+
if (getString(direct, "name")?.includes("/screens/")) {
|
|
139
|
+
return direct;
|
|
140
|
+
}
|
|
141
|
+
const screens = screensFromPayload(payload);
|
|
142
|
+
if (screens.length > 0) {
|
|
143
|
+
return screens[0] ?? null;
|
|
144
|
+
}
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
function collectGenerationText(payload) {
|
|
148
|
+
const structured = asRecord(getStructuredPayload(payload));
|
|
149
|
+
const outputComponents = structured?.outputComponents;
|
|
150
|
+
if (!Array.isArray(outputComponents))
|
|
151
|
+
return [];
|
|
152
|
+
const text = [];
|
|
153
|
+
for (const component of outputComponents) {
|
|
154
|
+
const componentObj = asRecord(component);
|
|
155
|
+
const summary = getString(componentObj, "text");
|
|
156
|
+
const suggestion = getString(componentObj, "suggestion");
|
|
157
|
+
if (summary)
|
|
158
|
+
text.push(summary);
|
|
159
|
+
if (suggestion)
|
|
160
|
+
text.push(`Suggestion: ${suggestion}`);
|
|
161
|
+
}
|
|
162
|
+
return text;
|
|
163
|
+
}
|
|
164
|
+
function hasUrl(record) {
|
|
165
|
+
return getString(record, "downloadUrl") ? "yes" : "no";
|
|
166
|
+
}
|
|
167
|
+
function formatScreenListSummary(payload) {
|
|
168
|
+
const screens = screensFromPayload(payload);
|
|
169
|
+
if (screens.length === 0) {
|
|
170
|
+
return formatStitchSummary({
|
|
171
|
+
title: "Stitch screens",
|
|
172
|
+
data: payload,
|
|
173
|
+
itemKeys: ["screens", "items", "results"],
|
|
174
|
+
idKeys: ["name", "id", "screenId", "title"],
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
const lines = ["Stitch screens", "", `Screen count: ${screens.length}`, ""];
|
|
178
|
+
screens.forEach((screen, index) => {
|
|
179
|
+
const name = getString(screen, "name");
|
|
180
|
+
const screenId = getString(screen, "id") ?? getScreenIdFromName(name) ?? "(none)";
|
|
181
|
+
const screenshot = asRecord(screen.screenshot);
|
|
182
|
+
const htmlCode = asRecord(screen.htmlCode);
|
|
183
|
+
lines.push(`${index + 1}. ${getString(screen, "title") ?? "(untitled)"}`, `- screenId: ${screenId}`, `- screenName: ${name ?? "(none)"}`, `- width: ${getString(screen, "width") ?? "(none)"}`, `- height: ${getString(screen, "height") ?? "(none)"}`, `- hasScreenshotUrl: ${hasUrl(screenshot)}`, `- hasHtmlCodeUrl: ${hasUrl(htmlCode)}`, `- htmlMimeType: ${getString(htmlCode, "mimeType") ?? "(none)"}`, "");
|
|
184
|
+
});
|
|
185
|
+
lines.push("Tip:", "- Pass the bare screenId to stitch_get_screen with projectId to get screenshot.downloadUrl and htmlCode.downloadUrl.");
|
|
186
|
+
return lines.join("\n");
|
|
187
|
+
}
|
|
188
|
+
function formatScreenAssetSummary(title, payload) {
|
|
189
|
+
const structured = getStructuredPayload(payload);
|
|
190
|
+
const structuredObj = asRecord(structured);
|
|
191
|
+
const screen = firstScreenFromPayload(payload);
|
|
192
|
+
if (!screen) {
|
|
193
|
+
return formatStitchSummary({
|
|
194
|
+
title,
|
|
195
|
+
data: payload,
|
|
196
|
+
itemKeys: ["screens", "nodes", "items"],
|
|
197
|
+
idKeys: ["name", "id", "screenId", "title"],
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
const screenshot = asRecord(screen.screenshot);
|
|
201
|
+
const htmlCode = asRecord(screen.htmlCode);
|
|
202
|
+
const metadata = asRecord(screen.screenMetadata);
|
|
203
|
+
const designSystem = asRecord(screen.designSystem);
|
|
204
|
+
const nestedDesignSystem = asRecord(designSystem?.designSystem);
|
|
205
|
+
const screenName = getString(screen, "name");
|
|
206
|
+
const screenId = getString(screen, "id") ?? getScreenIdFromName(screenName);
|
|
207
|
+
const projectId = getString(structuredObj, "projectId") ?? getProjectIdFromName(screenName);
|
|
208
|
+
const prompt = getString(screen, "prompt");
|
|
209
|
+
const generationText = collectGenerationText(payload);
|
|
210
|
+
const lines = [
|
|
211
|
+
title,
|
|
212
|
+
"",
|
|
213
|
+
"Screen:",
|
|
214
|
+
`- screenId: ${screenId ?? "(none)"}`,
|
|
215
|
+
`- screenName: ${screenName ?? "(none)"}`,
|
|
216
|
+
`- projectId: ${projectId ?? "(not present)"}`,
|
|
217
|
+
`- title: ${getString(screen, "title") ?? "(none)"}`,
|
|
218
|
+
`- sessionId: ${getString(structuredObj, "sessionId") ?? "(not present)"}`,
|
|
219
|
+
`- width: ${getString(screen, "width") ?? "(none)"}`,
|
|
220
|
+
`- height: ${getString(screen, "height") ?? "(none)"}`,
|
|
221
|
+
`- deviceType: ${getString(screen, "deviceType") ?? "(none)"}`,
|
|
222
|
+
`- generatedBy: ${getString(screen, "generatedBy") ?? "(not present)"}`,
|
|
223
|
+
`- screenType: ${getString(screen, "screenType") ?? "(not present)"}`,
|
|
224
|
+
`- status: ${getString(metadata, "status") ?? "(not present)"}`,
|
|
225
|
+
`- agentType: ${getString(metadata, "agentType") ?? "(not present)"}`,
|
|
226
|
+
"",
|
|
227
|
+
"Next calls:",
|
|
228
|
+
`- stitch_get_screen: { "projectId": "${projectId ?? "PROJECT_ID"}", "screenId": "${screenId ?? "SCREEN_ID"}" }`,
|
|
229
|
+
"",
|
|
230
|
+
"Screenshot asset:",
|
|
231
|
+
`- name: ${getString(screenshot, "name") ?? "(none)"}`,
|
|
232
|
+
`- downloadUrl: ${getString(screenshot, "downloadUrl") ?? "(none)"}`,
|
|
233
|
+
"",
|
|
234
|
+
"HTML/code asset:",
|
|
235
|
+
`- name: ${getString(htmlCode, "name") ?? "(none)"}`,
|
|
236
|
+
`- downloadUrl: ${getString(htmlCode, "downloadUrl") ?? "(none)"}`,
|
|
237
|
+
`- mimeType: ${getString(htmlCode, "mimeType") ?? "(none)"}`,
|
|
238
|
+
"",
|
|
239
|
+
"Design system:",
|
|
240
|
+
`- name: ${getString(designSystem, "name") ?? "(not present)"}`,
|
|
241
|
+
`- displayName: ${getString(nestedDesignSystem, "displayName") ?? "(not present)"}`,
|
|
242
|
+
];
|
|
243
|
+
if (prompt) {
|
|
244
|
+
lines.push("", "Prompt:", safeJsonPreview(prompt, 800));
|
|
245
|
+
}
|
|
246
|
+
if (generationText.length > 0) {
|
|
247
|
+
lines.push("", "Generation notes:", ...generationText.map((item) => `- ${item}`));
|
|
248
|
+
}
|
|
249
|
+
lines.push("", "Raw preview:", safeJsonPreview(structured, 2000));
|
|
250
|
+
return lines.join("\n");
|
|
251
|
+
}
|
|
48
252
|
export function registerStitchScreenTools(server) {
|
|
49
253
|
server.registerTool("stitch_list_screens", {
|
|
50
254
|
description: "Lists screens for a Stitch project. If rawInput is provided, it takes precedence over projectId.",
|
|
@@ -85,12 +289,7 @@ export function registerStitchScreenTools(server) {
|
|
|
85
289
|
content: [
|
|
86
290
|
{
|
|
87
291
|
type: "text",
|
|
88
|
-
text:
|
|
89
|
-
title: "Stitch screens",
|
|
90
|
-
data: result.data,
|
|
91
|
-
itemKeys: ["screens", "items", "results"],
|
|
92
|
-
idKeys: ["name", "id", "screenId", "title"],
|
|
93
|
-
}),
|
|
292
|
+
text: formatScreenListSummary(result.data),
|
|
94
293
|
},
|
|
95
294
|
],
|
|
96
295
|
};
|
|
@@ -250,12 +449,7 @@ export function registerStitchScreenTools(server) {
|
|
|
250
449
|
content: [
|
|
251
450
|
{
|
|
252
451
|
type: "text",
|
|
253
|
-
text:
|
|
254
|
-
title: "Stitch screen",
|
|
255
|
-
data: result.data,
|
|
256
|
-
itemKeys: ["nodes", "components", "screens"],
|
|
257
|
-
idKeys: ["name", "id", "screenId", "title"],
|
|
258
|
-
}),
|
|
452
|
+
text: formatScreenAssetSummary("Stitch screen", result.data),
|
|
259
453
|
},
|
|
260
454
|
],
|
|
261
455
|
};
|
|
@@ -306,12 +500,7 @@ export function registerStitchScreenTools(server) {
|
|
|
306
500
|
content: [
|
|
307
501
|
{
|
|
308
502
|
type: "text",
|
|
309
|
-
text:
|
|
310
|
-
title: "Stitch generated screen",
|
|
311
|
-
data: result.data,
|
|
312
|
-
itemKeys: ["screens", "nodes", "items"],
|
|
313
|
-
idKeys: ["name", "id", "screenId", "title"],
|
|
314
|
-
}),
|
|
503
|
+
text: formatScreenAssetSummary("Stitch generated screen", result.data),
|
|
315
504
|
},
|
|
316
505
|
],
|
|
317
506
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stitchScreens.js","sourceRoot":"","sources":["../../src/tools/stitchScreens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzF,SAAS,WAAW,CAAC,MAAc,EAAE,OAAe;IAClD,OAAO,GAAG,MAAM,OAAO,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9B,yBAAyB;IACzB,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3B,sBAAsB;IACtB,cAAc;IACd,gBAAgB;IAChB,gBAAgB;CACjB,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC;QACL,4BAA4B;QAC5B,QAAQ;QACR,cAAc;QACd,QAAQ;QACR,WAAW;QACX,cAAc;KACf,CAAC,CACH;SACA,QAAQ,EAAE;IACb,aAAa,EAAE,CAAC;SACb,IAAI,CAAC;QACJ,4BAA4B;QAC5B,QAAQ;QACR,SAAS;QACT,WAAW;KACZ,CAAC;SACD,QAAQ,EAAE;IACb,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACxD,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,UAAU,yBAAyB,CAAC,MAAiB;IACzD,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EACT,kGAAkG;QACpG,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SACvD;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChC,MAAM,KAAK,GACT,QAAQ,IAAI;YACV,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC;QAEJ,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,+CAA+C;qBACtD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACnC,QAAQ,EAAE,cAAc;YACxB,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,WAAW,CAAC,6BAA6B,EAAE,MAAM,CAAC,KAAK,CAAC;qBAC/D;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,mBAAmB,CAAC;wBACxB,KAAK,EAAE,gBAAgB;wBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC;wBACzC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;qBAC5C,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EACT,6KAA6K;QAC/K,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACpC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;YACvC,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;YACjC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SACvD;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;QACzF,MAAM,OAAO,GAAG,mBAAmB,CAAC,wDAAwD,EAAE,OAAO,CAAC,CAAC;QACvG,IAAI,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAEnE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,+EAA+E;qBACtF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GACT,QAAQ,IAAI;YACV,SAAS,EAAE,eAAe,CAAC,SAAS,IAAI,EAAE,CAAC;YAC3C,iBAAiB,EAAE,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;YAChE,MAAM;YACN,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC;QAEJ,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACnC,QAAQ,EAAE,cAAc;YACxB,KAAK;SACN,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,uBAAuB,EAAE,MAAM,CAAC,EAAE,CAAC;SACxF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EACT,yKAAyK;QAC3K,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;YACjD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACpC,cAAc,EAAE,oBAAoB,CAAC,QAAQ,EAAE;YAC/C,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;YACvC,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;YACjC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SACvD;KACF,EACD,KAAK,EAAE,EACL,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,cAAc,EACd,UAAU,EACV,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE,EAAE;QACH,MAAM,OAAO,GAAG,mBAAmB,CAAC,6DAA6D,EAAE,OAAO,CAAC,CAAC;QAC5G,IAAI,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAEnE,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1F,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,+FAA+F;qBAClG;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GACT,QAAQ,IAAI;YACV,SAAS,EAAE,eAAe,CAAC,SAAS,IAAI,EAAE,CAAC;YAC3C,iBAAiB,EAAE,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC;YAChE,MAAM;YACN,cAAc;YACd,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC;QAEJ,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACnC,QAAQ,EAAE,mBAAmB;YAC7B,KAAK;SACN,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,2BAA2B,EAAE,MAAM,CAAC,EAAE,CAAC;SAC5F,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EACT,yHAAyH;QAC3H,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SACvD;KACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC1C,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mFAAmF;qBAC1F;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,GAAG,QAAQ,CAAC;QAErB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,MAAM,QAAQ,GAAG,UAAU;gBACzB,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,UAAU,EAAE;gBAC1C,CAAC,CAAC,QAAQ;oBACR,CAAC,CAAC,MAAM,kBAAkB,CAAC;wBACvB,MAAM;wBACN,cAAc,EAAE,QAAQ;wBACxB,eAAe,EAAE,SAAS;qBAC3B,CAAC;oBACJ,CAAC,CAAC,IAAI,CAAC;YAEX,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EACF,6FAA6F;yBAChG;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,QAAQ,CAAC,KAAK;yBACrB;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QACzB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACnC,QAAQ,EAAE,YAAY;YACtB,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,WAAW,CAAC,2BAA2B,EAAE,MAAM,CAAC,KAAK,CAAC;qBAC7D;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,mBAAmB,CAAC;wBACxB,KAAK,EAAE,eAAe;wBACtB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,QAAQ,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC;wBAC5C,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;qBAC5C,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,kCAAkC,EAClC;QACE,WAAW,EACT,uJAAuJ;QACzJ,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;YAC5E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SACvD;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,2DAA2D;qBAClE;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,QAAQ,IAAI;YACxB,MAAM;YACN,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;YACnC,QAAQ,EAAE,2BAA2B;YACrC,KAAK;SACN,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,WAAW,CAAC,0CAA0C,EAAE,MAAM,CAAC,KAAK,CAAC;qBAC5E;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,mBAAmB,CAAC;wBACxB,KAAK,EAAE,yBAAyB;wBAChC,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;wBACvC,MAAM,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC;qBAC5C,CAAC;iBACH;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"stitchScreens.js","sourceRoot":"","sources":["../../src/tools/stitchScreens.ts"],"names":[],"mappings":"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"}
|
package/docs/stitch-tools.md
CHANGED
|
@@ -13,7 +13,7 @@ This server exposes Stitch project, screen, design-system, DESIGN.md import, gen
|
|
|
13
13
|
## Optional environment variables
|
|
14
14
|
|
|
15
15
|
- STITCH_API_BASE_URL (default: https://stitch.googleapis.com/mcp)
|
|
16
|
-
- STITCH_TIMEOUT_MS (default:
|
|
16
|
+
- STITCH_TIMEOUT_MS (default: 180000)
|
|
17
17
|
- STITCH_MAX_RETRIES (default: 2)
|
|
18
18
|
- STITCH_OUTPUT_DIR (default: PROJECT_ROOT/stitch-output or cwd/stitch-output)
|
|
19
19
|
|
|
@@ -39,12 +39,14 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
|
|
|
39
39
|
|
|
40
40
|
4. stitch_list_screens
|
|
41
41
|
- Lists screens in a project.
|
|
42
|
+
- Response is formatted as a handoff inventory with title, bare `screenId`, full `screenName`, dimensions, and whether screenshot/HTML URLs are present.
|
|
42
43
|
- Input:
|
|
43
44
|
- projectId (optional if rawInput used; bare id or projects/{id}, normalized to bare id)
|
|
44
45
|
- rawInput (optional)
|
|
45
46
|
|
|
46
47
|
5. stitch_get_screen
|
|
47
48
|
- Gets one screen.
|
|
49
|
+
- Response highlights the bare `screenId`, full `screenName`, next `stitch_get_screen` call shape, `screenshot.downloadUrl`, and `htmlCode.downloadUrl` when present.
|
|
48
50
|
- Input:
|
|
49
51
|
- screenId (optional if rawInput used; full projects/{id}/screens/{screen} path, or bare screen id when projectId is also provided)
|
|
50
52
|
- projectId (optional; bare id or projects/{id}, used with bare screenId or partial title/name lookup)
|
|
@@ -52,6 +54,7 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
|
|
|
52
54
|
|
|
53
55
|
6. stitch_generate_screen_from_text
|
|
54
56
|
- Generates a screen from text.
|
|
57
|
+
- Response uses the same asset handoff format as `stitch_get_screen`, so agents can pass the returned bare `screenId` directly into later screen tools.
|
|
55
58
|
- Input:
|
|
56
59
|
- prompt (required unless rawInput used)
|
|
57
60
|
- projectId (required unless rawInput used; bare id preferred; projects/{id} is normalized by the adapter)
|
|
@@ -183,6 +186,7 @@ Mutating tools are marked `MUTATING` and require `confirm: true`. Without confir
|
|
|
183
186
|
"projectId": "abc",
|
|
184
187
|
"prompt": "Create a dashboard with KPI cards and a recent activity list"
|
|
185
188
|
}
|
|
189
|
+
- Use the returned bare `screenId` with stitch_get_screen to retrieve the screen asset URLs again later.
|
|
186
190
|
|
|
187
191
|
- Export a fetched screen:
|
|
188
192
|
- call stitch_export_screen_artifact with {
|