@appscreenshotstudio/mcp 0.8.3 → 0.8.5

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
@@ -151,7 +151,10 @@ Export to high-resolution PNGs. Returns download URLs.
151
151
  |---|---|---|---|
152
152
  | `project_id` | string | Yes | Project to render |
153
153
 
154
- **Free.**
154
+ **No credit cost, and it needs an active paid plan.** Rendering is unlocked by
155
+ the first payment, so on a trial this returns 402 `PAYMENT_REQUIRED`. That
156
+ applies to the inline previews an agent shows mid-loop as well as to the final
157
+ export.
155
158
 
156
159
  ### `get-project`
157
160
 
@@ -239,7 +242,7 @@ The AI generates professional screenshots using:
239
242
  2. **Generate**: Agent calls `generate-screenshots` with `codebase_context` for app-specific designs
240
243
  3. **Iterate**: Agent calls `edit-screenshots` to refine (codebase context carries over automatically)
241
244
  4. **Upload**: Agent calls `upload-screenshots` with local file paths to fill device mockups
242
- 5. **Export**: Agent calls `render-screenshots` or click "Download All" in the web app
245
+ 5. **Export**: Agent calls `render-screenshots` (needs a paid plan) or click "Download All" in the web app
243
246
 
244
247
  ## Security
245
248
 
package/dist/index.js CHANGED
@@ -348,8 +348,15 @@ Costs 5 credits per generation.`,
348
348
  hasScreens
349
349
  ? '1. Your attached screenshots were placed into the device frames (upload-screenshots can swap any card later)'
350
350
  : '1. Use upload-screenshots to add your app screenshots into the device frames',
351
- '2. Use render-screenshots to export final PNGs',
352
- '3. Or open the project URL in a browser to preview and adjust',
351
+ // edit-screenshots was missing from this list until 2026-09-14, and the
352
+ // omission has a measurable cost: with no in-band pointer to the refine
353
+ // path, the cheapest visible way to change a design is to call generate
354
+ // again, which bills 5 credits and starts a NEW project every time. User
355
+ // 5b0a496d called generate 4x and edit 0x on one brief, spending 20 of 25
356
+ // trial credits on four near-identical projects.
357
+ '2. Use edit-screenshots to refine THIS project (change copy, colours, layout). Prefer it over calling generate again: generate always starts a new project and re-bills.',
358
+ '3. Use render-screenshots to export final PNGs (needs a paid plan; trials can build and iterate but not export)',
359
+ '4. Or open the project URL in a browser to preview and adjust',
353
360
  '',
354
361
  imageErrors.length ? `Image read warnings:\n${imageErrors.join('\n')}` : '',
355
362
  chatData.suggestions?.length
@@ -493,7 +500,7 @@ server.registerTool('render-screenshots', {
493
500
  idempotentHint: true,
494
501
  openWorldHint: false,
495
502
  },
496
- 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). Pass device_ids to get the same canvas at several device sizes in one call, re-laid-out for each, instead of building a second project: an App Store submission wants the 6.9-inch iPhone and, when the app supports iPad, the 13-inch iPad, and Google Play is a separate listing. Rendering blocks until the PNGs are ready: expect roughly 20-40s per iPhone set and 60-120s per iPad set (the larger canvas renders slower), and those add up per device, so allow up to ~2 minutes each before treating it as failed. Note: device mockups will show empty frames unless app screenshots have been uploaded via upload-screenshots first.',
503
+ 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). Costs no credits, but export is unlocked by the first payment: on a trial this returns 402 PAYMENT_REQUIRED, so check the plan before promising a user their PNGs. Pass device_ids to get the same canvas at several device sizes in one call, re-laid-out for each, instead of building a second project: an App Store submission wants the 6.9-inch iPhone and, when the app supports iPad, the 13-inch iPad, and Google Play is a separate listing. Rendering blocks until the PNGs are ready: expect roughly 20-40s per iPhone set and 60-120s per iPad set (the larger canvas renders slower), and those add up per device, so allow up to ~2 minutes each before treating it as failed. Note: device mockups will show empty frames unless app screenshots have been uploaded via upload-screenshots first.',
497
504
  inputSchema: z.object({
498
505
  project_id: z.string().describe('Project ID to render'),
499
506
  device_ids: z
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@appscreenshotstudio/mcp",
3
- "version": "0.8.3",
3
+ "version": "0.8.5",
4
4
  "mcpName": "com.appscreenshotstudio/mcp",
5
5
  "description": "MCP server for generating App Store screenshots via AppScreenshotStudio",
6
6
  "type": "module",
@@ -86,7 +86,9 @@ If screenshots were attached in Step 3 they are already in the frames. This step
86
86
 
87
87
  This is conversational refinement, so iterate right here in the chat. Don't send the user away to look at links.
88
88
 
89
- 1. **Show.** Call `render-screenshots` (free) after generating. It returns inline image previews, so the screenshots display directly in the conversation. Show them.
89
+ **Rendering is unlocked by the first payment.** It costs no credits, and it does need an active paid plan: on a trial account every `render-screenshots` call returns 402 `PAYMENT_REQUIRED`. That gates the previews in this loop, not just the export in Step 6, so the whole show → refine → re-show rhythm below is a paid-plan rhythm. When you get a 402: say plainly that rendering needs a paid plan, share the project URL so the user can see the set in the builder, and keep refining from their description in chat. Do not retry the call, and do not spend more credits generating alternates the user still cannot see.
90
+
91
+ 1. **Show.** Call `render-screenshots` after generating (no credit cost). It returns inline image previews, so the screenshots display directly in the conversation. Show them.
90
92
  2. **Refine.** Let the user react in plain language and apply changes with `edit-screenshots`:
91
93
  - "Want any headlines or colors changed?"
92
94
  - "Should I add a social proof card with ratings?"
@@ -97,7 +99,7 @@ Hand off to the builder only when it genuinely helps: share the project URL and
97
99
 
98
100
  ### Step 6: Export
99
101
 
100
- `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.
102
+ `render-screenshots` is also the export: it returns download URLs for the final PNGs at exact App Store dimensions, and it costs no credits. It needs the same active paid plan as Step 5, so on a trial this is where the user meets the paywall if they have not already. 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.
101
103
 
102
104
  ## Headline Rules
103
105
 
@@ -118,7 +120,7 @@ Headlines must pass the "one second test": readable at thumbnail size.
118
120
  | edit-screenshots | 5 credits |
119
121
  | generate-background | 6 credits |
120
122
  | upload-screenshots | free |
121
- | render-screenshots | free |
123
+ | render-screenshots | free, and needs an active paid plan (402 on a trial) |
122
124
  | prepare-screenshot-brief | free |
123
125
  | list-devices | free |
124
126
  | get-project | free |