@appscreenshotstudio/mcp 0.5.1 → 0.5.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 CHANGED
@@ -219,6 +219,7 @@ The AI generates professional screenshots using:
219
219
 
220
220
  ## Links
221
221
 
222
+ - [Screenshot API + MCP overview](https://appscreenshotstudio.com/api)
222
223
  - [Full docs](https://appscreenshotstudio.com/docs/mcp)
223
224
  - [REST API reference](https://appscreenshotstudio.com/docs/api)
224
225
  - [Pricing](https://appscreenshotstudio.com/pricing)
package/dist/index.js CHANGED
@@ -154,7 +154,7 @@ function buildDesignMessage(input) {
154
154
  // ─── MCP Server ─────────────────────────────────────────────────────────────────
155
155
  const server = new McpServer({
156
156
  name: 'appscreenshotstudio',
157
- version: '0.4.4',
157
+ version: '0.5.2',
158
158
  });
159
159
  // Tool 1: generate-screenshots
160
160
  server.registerTool('generate-screenshots', {
@@ -312,7 +312,7 @@ What you can change:
312
312
  - Frame color: recolor the device frame — "natural" (default), "black", "white", "gold". Examples: "make the iPhone gold", "black titanium finish", "white iPhone". Requires Growth plan or higher.
313
313
  - Switch devices: "make this for Apple Watch" / "duplicate for Android tablet" clones the project at the target device's canvas size
314
314
  - Add/remove cards: add a social proof card, remove card 3, add a marketing title card
315
- - Compound fields (auto-positioned): statRow, laurelStat, pressBanner, starRating, quote, featureGrid, beforeAfterSplit
315
+ - Compound fields (auto-positioned): statRow, laurelStat, pressBanner, starRating, quote, featureGrid, beforeAfterSplit, stepList
316
316
  - Panoramic backgrounds: one wide AI or Pexels image sliced across multiple cards ("pano the background across cards 1-3"). The edit only tags the cards; call generate-panoramic-background afterwards to create and slice the wide image.
317
317
  - Panoramic element spans: stretch a foreground image, device-mockup, or shape across adjacent cards ("pano the device across cards 1-2")
318
318
  - Floating elements: add/edit badges, star ratings
@@ -409,7 +409,7 @@ Example edit messages:
409
409
  // Tool 3: render-screenshots
410
410
  server.registerTool('render-screenshots', {
411
411
  title: 'Render Screenshots to PNG',
412
- description: 'Export a screenshot project to high-resolution PNG files at exact App Store dimensions. Returns download URLs for each card. Free (no credit cost). Rendering blocks until the PNGs are ready: expect roughly 20-40s for iPhone sets and 60-120s for iPad (the larger canvas renders slower), so allow up to ~2 minutes before treating it as failed. Note: device mockups will show empty frames unless app screenshots have been uploaded via upload-screenshots first.',
412
+ description: 'Export a screenshot project to high-resolution PNG files at exact App Store dimensions. Returns download URLs for each card; URLs stay valid for 7 days, so save the PNGs to disk promptly (re-rendering is free if a URL has expired). Free (no credit cost). Rendering blocks until the PNGs are ready: expect roughly 20-40s for iPhone sets and 60-120s for iPad (the larger canvas renders slower), so allow up to ~2 minutes before treating it as failed. Note: device mockups will show empty frames unless app screenshots have been uploaded via upload-screenshots first.',
413
413
  inputSchema: z.object({
414
414
  project_id: z.string().describe('Project ID to render'),
415
415
  }),
@@ -431,6 +431,9 @@ server.registerTool('render-screenshots', {
431
431
  '',
432
432
  ...images.map((img, i) => `Card ${i + 1}: ${img.url} (${img.width}×${img.height})`),
433
433
  '',
434
+ 'Download URLs are valid for 7 days. Save the PNGs to disk now if you',
435
+ 'need them long-term (re-rendering later is free).',
436
+ '',
434
437
  'Previews are shown below. To compare all cards side by side at full size,',
435
438
  'refine by hand, or export, open the project URL in the builder.',
436
439
  ].join('\n'),
@@ -480,7 +483,7 @@ Returns the canvas state with:
480
483
  - cards[]: each card has an id, elements array, and optional background settings
481
484
  - Each element has: type (text, device-mockup, shape, badge, image, star-rating), position (x, y), size (width, height), zIndex, and type-specific properties
482
485
  - Text elements: fontFamily, fontSize, fontWeight, color, segments (for multi-color text with per-word color, bold, italic, underline, highlightColor)
483
- - Device mockups: perspectiveVariant (flat, left-15, right-15, left-30, right-30, isometric, top-down, landscape-left, landscape-right), screenshotImage (null if no upload)
486
+ - Device mockups: perspectiveVariant (flat, left-15, right-15, left-30, right-30, isometric, top-down, landscape-left, landscape-right), screenshotImage (null if no upload), frameStyle (realistic | none), showIsland (false hides the Dynamic Island pill; Apple accepts screenshots either way)
484
487
  - Shapes: 94 shape types (17 core + 77 decorative across 13 categories) — core shapes (circle, rectangle, rounded-rect, blob, wave, triangle, diamond, hexagon, ring, star, wing-left, wing-right, etc.) plus decorative library shapes (leaf, flower, cloud, sparkle, heart, rocket, trophy, crown, coffee-cup, airplane, dollar-sign, paw-print, and many more)
485
488
  - projectMeta: globalVisualTheme, brandColors, mood, appCategory`,
486
489
  inputSchema: z.object({
@@ -810,7 +813,7 @@ This tool helps you gather the right information so generate-screenshots produce
810
813
  if (platform === 'android' || platform === 'both') {
811
814
  deviceTips.push('**Android (required for Play Store):**');
812
815
  deviceTips.push('- Android Phone (android-phone): 1080×2340 — REQUIRED');
813
- deviceTips.push('- Android Tablet 7" (android-tablet-10): 1200×1920 — optional');
816
+ deviceTips.push('- Android Tablet 7" (android-tablet-10): 1200×1920 — REQUIRED');
814
817
  deviceTips.push('');
815
818
  }
816
819
  // Schema reminder
package/package.json CHANGED
@@ -1,13 +1,16 @@
1
- {
1
+ {
2
2
  "name": "@appscreenshotstudio/mcp",
3
- "version": "0.5.1",
3
+ "version": "0.5.3",
4
4
  "description": "MCP server for generating App Store screenshots via AppScreenshotStudio",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "homepage": "https://appscreenshotstudio.com/docs/mcp",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "https://github.com/appscreenshotstudio/mcp-server"
10
+ "url": "https://github.com/TWWorks-org/mcp-server"
11
+ },
12
+ "bugs": {
13
+ "url": "https://github.com/TWWorks-org/mcp-server/issues"
11
14
  },
12
15
  "keywords": [
13
16
  "mcp",
@@ -91,7 +91,7 @@ Hand off to the builder only when it genuinely helps: share the project URL and
91
91
 
92
92
  ### Step 6: Export
93
93
 
94
- `render-screenshots` is also the export: it returns download URLs for the final PNGs at exact App Store dimensions, and it is free. Give the user those URLs. The builder project URL is the alternative when they want to compare the full set visually or hand-tweak before downloading.
94
+ `render-screenshots` is also the export: it returns download URLs for the final PNGs at exact App Store dimensions, and it is free. Give the user those URLs and note they stay valid for 7 days, so download promptly (re-rendering later is free if a URL has expired). The builder project URL is the alternative when they want to compare the full set visually or hand-tweak before downloading.
95
95
 
96
96
  ## Headline Rules
97
97