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 +145 -2
- package/dist/config/stitch.js +1 -1
- package/dist/config/stitch.js.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/packageInfo.d.ts +6 -0
- package/dist/packageInfo.d.ts.map +1 -0
- package/dist/packageInfo.js +18 -0
- package/dist/packageInfo.js.map +1 -0
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/status.js +27 -0
- package/dist/tools/status.js.map +1 -1
- package/dist/tools/stitchExport.d.ts.map +1 -1
- package/dist/tools/stitchExport.js +419 -6
- package/dist/tools/stitchExport.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 +38 -17
- 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)
|
|
@@ -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 `
|
|
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
|
|
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.
|
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"}
|
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:
|
|
12
|
-
version:
|
|
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;
|
|
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 @@
|
|
|
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;
|
|
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"}
|
package/dist/tools/status.js
CHANGED
|
@@ -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
|
"",
|
package/dist/tools/status.js.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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"}
|