mcp-stitch 0.1.2 → 0.1.4

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 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)
@@ -48,6 +51,8 @@ npx -y mcp-stitch
48
51
 
49
52
  You normally do not run that command directly in a terminal. Add it to your MCP client configuration as shown below.
50
53
 
54
+ After the server starts, ask your agent to call `stitch_info` to confirm the installed package version, or `stitch_status` to check required environment variables.
55
+
51
56
  ## Environment
52
57
 
53
58
  Required:
@@ -62,7 +67,7 @@ Optional:
62
67
 
63
68
  - `STITCH_API_BASE_URL`: defaults to `https://stitch.googleapis.com/mcp`
64
69
  - `STITCH_OUTPUT_DIR`: fallback output root when `PROJECT_ROOT` is not set
65
- - `STITCH_TIMEOUT_MS`: defaults to `30000`
70
+ - `STITCH_TIMEOUT_MS`: defaults to `180000`
66
71
  - `STITCH_MAX_RETRIES`: defaults to `2`
67
72
 
68
73
  ## VS Code Setup
@@ -195,6 +200,121 @@ mcpServers:
195
200
 
196
201
  Use Continue's secrets or your local environment for `GOOGLE_API_KEY`; do not commit a literal key.
197
202
 
203
+ ## Claude Desktop Setup
204
+
205
+ Claude Desktop loads MCP servers from its desktop configuration file. On macOS, create or edit:
206
+
207
+ ```text
208
+ ~/Library/Application Support/Claude/claude_desktop_config.json
209
+ ```
210
+
211
+ Add `mcp-stitch` under `mcpServers`:
212
+
213
+ ```json
214
+ {
215
+ "mcpServers": {
216
+ "stitch": {
217
+ "command": "npx",
218
+ "args": ["-y", "mcp-stitch"],
219
+ "env": {
220
+ "GOOGLE_API_KEY": "your-key-here",
221
+ "PROJECT_ROOT": "/absolute/path/to/your/project"
222
+ }
223
+ }
224
+ }
225
+ }
226
+ ```
227
+
228
+ If Claude Desktop cannot find `npx`, use the absolute path from `which npx` instead, for example:
229
+
230
+ ```json
231
+ {
232
+ "mcpServers": {
233
+ "stitch": {
234
+ "command": "/opt/homebrew/bin/npx",
235
+ "args": ["-y", "mcp-stitch"],
236
+ "env": {
237
+ "GOOGLE_API_KEY": "your-key-here",
238
+ "PROJECT_ROOT": "/absolute/path/to/your/project"
239
+ }
240
+ }
241
+ }
242
+ }
243
+ ```
244
+
245
+ After saving the config, fully quit and reopen Claude Desktop. Then ask Claude to call `stitch_status` to confirm the setup.
246
+
247
+ ## Claude Code CLI Setup
248
+
249
+ Claude Code can add stdio MCP servers from the terminal:
250
+
251
+ ```bash
252
+ claude mcp add \
253
+ -e GOOGLE_API_KEY=your-key-here \
254
+ -e PROJECT_ROOT=/absolute/path/to/your/project \
255
+ stitch -- npx -y mcp-stitch
256
+ ```
257
+
258
+ Then run:
259
+
260
+ ```bash
261
+ claude mcp list
262
+ ```
263
+
264
+ Start or restart Claude Code in your project and ask it to call `stitch_status`.
265
+
266
+ ## Gemini CLI Setup
267
+
268
+ Gemini CLI can load MCP servers from user or workspace settings.
269
+
270
+ For all Gemini CLI projects, create or edit:
271
+
272
+ ```text
273
+ ~/.gemini/settings.json
274
+ ```
275
+
276
+ For just one workspace, create or edit:
277
+
278
+ ```text
279
+ .gemini/settings.json
280
+ ```
281
+
282
+ Add `mcp-stitch` under `mcpServers`:
283
+
284
+ ```json
285
+ {
286
+ "mcpServers": {
287
+ "stitch": {
288
+ "command": "npx",
289
+ "args": ["-y", "mcp-stitch"],
290
+ "env": {
291
+ "GOOGLE_API_KEY": "your-key-here",
292
+ "PROJECT_ROOT": "/absolute/path/to/your/project"
293
+ }
294
+ }
295
+ }
296
+ }
297
+ ```
298
+
299
+ If Gemini CLI cannot find `npx`, use the absolute path from `which npx` instead:
300
+
301
+ ```json
302
+ {
303
+ "mcpServers": {
304
+ "stitch": {
305
+ "command": "/opt/homebrew/bin/npx",
306
+ "args": ["-y", "mcp-stitch"],
307
+ "env": {
308
+ "GOOGLE_API_KEY": "your-key-here",
309
+ "PROJECT_ROOT": "/absolute/path/to/your/project"
310
+ }
311
+ }
312
+ }
313
+ }
314
+ ```
315
+
316
+ 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`.
317
+
198
318
  ## Codex Setup
199
319
 
200
320
  In the Codex app, add a new MCP server with the `+` button:
@@ -219,7 +339,24 @@ Codex may not expand VS Code variables like `${workspaceFolder}`, so use a real
219
339
 
220
340
  After adding the server, restart or reconnect it and ask Codex to call `stitch_status`.
221
341
 
222
- For Codex CLI or manual setup, add a stdio MCP server to your Codex config, usually:
342
+ For Codex CLI, add the server from the terminal:
343
+
344
+ ```bash
345
+ codex mcp add stitch \
346
+ --env GOOGLE_API_KEY=your-key-here \
347
+ --env PROJECT_ROOT=/absolute/path/to/your/project \
348
+ -- npx -y mcp-stitch
349
+ ```
350
+
351
+ Then run:
352
+
353
+ ```bash
354
+ codex mcp list
355
+ ```
356
+
357
+ Start or restart Codex in your project and ask it to call `stitch_status`.
358
+
359
+ For manual Codex CLI setup, add a stdio MCP server to your Codex config, usually:
223
360
 
224
361
  ```text
225
362
  ~/.codex/config.toml
@@ -242,6 +379,7 @@ Keep this in your local Codex config if it contains a real API key.
242
379
  ## Tools
243
380
 
244
381
  - `stitch_status`
382
+ - `stitch_info`
245
383
  - `stitch_list_projects`
246
384
  - `stitch_get_project`
247
385
  - `stitch_create_project`
@@ -260,11 +398,16 @@ Keep this in your local Codex config if it contains a real API key.
260
398
 
261
399
  Mutating tools require `confirm: true`.
262
400
 
401
+ `stitch_export_screen_artifact` can also download build handoff assets into the artifact bundle. By default it saves `screen.html` and `screenshot.*` when Stitch provides those URLs. Set `includeLinkedAssets: true` to download safe HTTPS assets referenced by the HTML into `assets/`, and `rewriteHtmlAssetUrls: true` to point the saved HTML at those local files.
402
+
403
+ Set `versioned: true` to keep repeated exports or variations in nested folders such as `.artifacts/stitch/comment-section/v001`, then `v002`, while keeping each screen's assets together.
404
+
263
405
  ## Safety
264
406
 
265
407
  - Secrets are read from environment variables and are not printed by `stitch_status`.
266
408
  - `STITCH_API_BASE_URL` defaults to Google's Stitch MCP endpoint.
267
409
  - Artifact export paths are constrained to `PROJECT_ROOT` or `STITCH_OUTPUT_DIR`.
410
+ - Linked asset export skips non-HTTPS and private/local hosts, and enforces count/size limits.
268
411
  - Mutating Stitch tools require `confirm: true`.
269
412
 
270
413
  Do not commit `.env`, generated artifact bundles, or Stitch output directories. This repo's `.gitignore` excludes the common local output paths.
@@ -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, 30000);
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,KAAK,CAAC,CAAC;IACzE,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
+ {"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"}
package/dist/index.js CHANGED
@@ -7,9 +7,11 @@ import { registerStitchProjectTools } from "./tools/stitchProjects.js";
7
7
  import { registerStitchScreenTools } from "./tools/stitchScreens.js";
8
8
  import { registerStitchDesignSystemTools } from "./tools/stitchDesignSystems.js";
9
9
  import { registerStitchExportTool } from "./tools/stitchExport.js";
10
+ import { getPackageInfo } from "./packageInfo.js";
11
+ const packageInfo = getPackageInfo();
10
12
  const server = new McpServer({
11
- name: "mcp-stitch",
12
- version: "0.5.0",
13
+ name: packageInfo.name,
14
+ version: packageInfo.version,
13
15
  });
14
16
  registerStitchStatusTool(server);
15
17
  registerStitchProjectTools(server);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AAEH,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACjC,0BAA0B,CAAC,MAAM,CAAC,CAAC;AACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAClC,+BAA+B,CAAC,MAAM,CAAC,CAAC;AACxC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAIjC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,eAAe,CAAC;AAEvB,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;AAErC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,OAAO,EAAE,WAAW,CAAC,OAAO;CAC7B,CAAC,CAAC;AAEH,wBAAwB,CAAC,MAAM,CAAC,CAAC;AACjC,0BAA0B,CAAC,MAAM,CAAC,CAAC;AACnC,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAClC,+BAA+B,CAAC,MAAM,CAAC,CAAC;AACxC,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAIjC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type PackageInfo = {
2
+ name: string;
3
+ version: string;
4
+ };
5
+ export declare function getPackageInfo(): PackageInfo;
6
+ //# sourceMappingURL=packageInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageInfo.d.ts","sourceRoot":"","sources":["../src/packageInfo.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,cAAc,IAAI,WAAW,CAiB5C"}
@@ -0,0 +1,18 @@
1
+ import { createRequire } from "node:module";
2
+ const require = createRequire(import.meta.url);
3
+ export function getPackageInfo() {
4
+ try {
5
+ const pkg = require("../package.json");
6
+ return {
7
+ name: typeof pkg.name === "string" ? pkg.name : "mcp-stitch",
8
+ version: typeof pkg.version === "string" ? pkg.version : "unknown",
9
+ };
10
+ }
11
+ catch {
12
+ return {
13
+ name: "mcp-stitch",
14
+ version: "unknown",
15
+ };
16
+ }
17
+ }
18
+ //# sourceMappingURL=packageInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packageInfo.js","sourceRoot":"","sources":["../src/packageInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAO/C,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAGpC,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;YAC5D,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SACnE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,SAAS;SACnB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgBpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,QA2CzD"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAiBpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,QA4EzD"}
@@ -1,6 +1,7 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { z } from "zod";
3
3
  import { DEFAULT_STITCH_API_BASE_URL, getStitchConfig } from "../config/stitch.js";
4
+ import { getPackageInfo } from "../packageInfo.js";
4
5
  function isConfigured(name) {
5
6
  return Boolean(process.env[name]?.trim());
6
7
  }
@@ -11,15 +12,41 @@ function optionalText(name, fallback) {
11
12
  return isConfigured(name) ? "configured" : fallback;
12
13
  }
13
14
  export function registerStitchStatusTool(server) {
15
+ server.registerTool("stitch_info", {
16
+ description: "Reports the running mcp-stitch package name and version without checking Stitch API configuration.",
17
+ inputSchema: z.object({}),
18
+ }, async () => {
19
+ const packageInfo = getPackageInfo();
20
+ return {
21
+ content: [
22
+ {
23
+ type: "text",
24
+ text: [
25
+ "Stitch MCP info",
26
+ "",
27
+ `- name: ${packageInfo.name}`,
28
+ `- version: ${packageInfo.version}`,
29
+ "- transport: stdio",
30
+ "- package command: npx -y mcp-stitch",
31
+ ].join("\n"),
32
+ },
33
+ ],
34
+ };
35
+ });
14
36
  server.registerTool("stitch_status", {
15
37
  description: "Checks Stitch MCP setup and reports missing required, recommended, and optional environment variables without exposing secret values.",
16
38
  inputSchema: z.object({}),
17
39
  }, async () => {
18
40
  const config = getStitchConfig();
19
41
  const hasProjectRoot = isConfigured("PROJECT_ROOT");
42
+ const packageInfo = getPackageInfo();
20
43
  const lines = [
21
44
  "Stitch setup status",
22
45
  "",
46
+ "Package:",
47
+ `- name: ${packageInfo.name}`,
48
+ `- version: ${packageInfo.version}`,
49
+ "",
23
50
  "Required configuration:",
24
51
  `- GOOGLE_API_KEY: ${configuredText("GOOGLE_API_KEY")}`,
25
52
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEnF,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,QAAgB;IAClD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EACT,uIAAuI;QACzI,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC1B,EACD,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG;YACZ,qBAAqB;YACrB,EAAE;YACF,yBAAyB;YACzB,qBAAqB,cAAc,CAAC,gBAAgB,CAAC,EAAE;YACvD,EAAE;YACF,4BAA4B;YAC5B,mBAAmB,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE;YAC9D,GAAG,CAAC,cAAc;gBAChB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE,kGAAkG;iBACnG,CAAC;YACN,EAAE;YACF,yBAAyB;YACzB,0BAA0B,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,2BAA2B,EAAE,EAAE;YAC/H,wBAAwB,YAAY,CAAC,mBAAmB,EAAE,0BAA0B,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE;YACzG,wBAAwB,YAAY,CAAC,mBAAmB,EAAE,iBAAiB,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE;YAChG,yBAAyB,YAAY,CAAC,oBAAoB,EAAE,iBAAiB,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE;SACpG,CAAC;QAEF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;iBACvB;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
1
+ {"version":3,"file":"stitchExport.d.ts","sourceRoot":"","sources":["../../src/tools/stitchExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA0iCpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,QAuezD"}