@appscreenshotstudio/mcp 0.6.3 → 0.8.0
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 +1 -0
- package/dist/index.js +4 -7
- package/package.json +1 -1
- package/skills/appscreenshotstudio/SKILL.md +1 -1
package/README.md
CHANGED
|
@@ -187,6 +187,7 @@ Once installed, use `/appscreenshotstudio` in Claude Code or just ask "generate
|
|
|
187
187
|
| `iphone-6.3` | iPhone 17 Pro | 1206x2622 | Optional |
|
|
188
188
|
| `ipad-13` | iPad Pro 13" | 2064x2752 | App Store |
|
|
189
189
|
| `android-phone` | Android Phone | 1080x2340 | Play Store |
|
|
190
|
+
| `pixel-11-pro` | Google Pixel 11 Pro | 1280x2856 | Play Store |
|
|
190
191
|
| `android-tablet-10` | Android Tablet 7" | 1200x1920 | Play Store |
|
|
191
192
|
| `android-tablet-large` | Android Tablet 10" | 1600x2560 | Play Store |
|
|
192
193
|
| `apple-watch-ultra` | Apple Watch Ultra 2 | 410x502 | App Store |
|
package/dist/index.js
CHANGED
|
@@ -37,6 +37,7 @@ const DEVICES = [
|
|
|
37
37
|
{ id: 'iphone-6.3', name: 'iPhone 17 Pro', width: 1206, height: 2622, category: 'iphone', required: false },
|
|
38
38
|
{ id: 'ipad-13', name: 'iPad Pro 13"', width: 2064, height: 2752, category: 'ipad', required: true },
|
|
39
39
|
{ id: 'android-phone', name: 'Android Phone', width: 1080, height: 2340, category: 'android-phone', required: true },
|
|
40
|
+
{ id: 'pixel-11-pro', name: 'Google Pixel 11 Pro', width: 1280, height: 2856, category: 'android-phone', required: false },
|
|
40
41
|
{ id: 'android-tablet-10', name: 'Android Tablet 7"', width: 1200, height: 1920, category: 'android-tablet', required: true },
|
|
41
42
|
{ id: 'android-tablet-large', name: 'Android Tablet 10"', width: 1600, height: 2560, category: 'android-tablet', required: false },
|
|
42
43
|
{ id: 'apple-watch-ultra', name: 'Apple Watch Ultra 2', width: 410, height: 502, category: 'apple-watch', required: true },
|
|
@@ -160,10 +161,6 @@ function buildDesignMessage(input, hasScreenshotImages = false) {
|
|
|
160
161
|
parts.push(`Please include projectMeta with brand colors, mood, appCategory, and a rich globalVisualTheme description.`);
|
|
161
162
|
return parts.join('\n');
|
|
162
163
|
}
|
|
163
|
-
/** Read local image files into the chat API's images payload. Same file
|
|
164
|
-
* handling as upload-screenshots; kind rides through to server-side
|
|
165
|
-
* placement (screenshots fill the generated device frames, mascots get
|
|
166
|
-
* placed decoratively around the phones). */
|
|
167
164
|
function readImagesForChat(images) {
|
|
168
165
|
const payload = [];
|
|
169
166
|
const errors = [];
|
|
@@ -189,10 +186,10 @@ function readImagesForChat(images) {
|
|
|
189
186
|
/** Shared images param for generate-screenshots and edit-screenshots. */
|
|
190
187
|
const chatImagesSchema = z.array(z.object({
|
|
191
188
|
file_path: z.string().describe('Absolute path to an image file on the local filesystem (PNG, JPG, or WEBP)'),
|
|
192
|
-
kind: z.enum(['screenshot', 'mascot']).default('screenshot')
|
|
193
|
-
.describe("'screenshot' = real app UI, automatically placed inside the generated device frames (in attachment order). 'mascot' = the app's character/mascot, placed decoratively around the phones (peeking from behind the hook card's phone, beside or in a corner on the closing card)
|
|
189
|
+
kind: z.enum(['screenshot', 'mascot', 'reference']).default('screenshot')
|
|
190
|
+
.describe("'screenshot' = real app UI, automatically placed inside the generated device frames (in attachment order). 'mascot' = the app's character/mascot, placed decoratively around the phones (peeking from behind the hook card's phone, beside or in a corner on the closing card); use a transparent PNG. 'reference' = a look to match rather than content: a competitor's App Store listing, a design you want the style of, any image that already shows a phone with a headline above it. A reference is read for taste and is NEVER placed inside a frame, which is the point: wrapping a finished marketing card in a device frame puts a phone inside a phone."),
|
|
194
191
|
})).max(5).optional()
|
|
195
|
-
.describe('Images to attach to this generation. App screenshots land inside the device frames automatically; a mascot gets placed around the phones.
|
|
192
|
+
.describe('Images to attach to this generation. App screenshots land inside the device frames automatically; a mascot gets placed around the phones; a reference only informs the design. All survive later edits and regenerations.');
|
|
196
193
|
// ─── MCP Server ─────────────────────────────────────────────────────────────────
|
|
197
194
|
const server = new McpServer({
|
|
198
195
|
name: 'appscreenshotstudio',
|
package/package.json
CHANGED
|
@@ -64,7 +64,7 @@ Call the `generate-screenshots` MCP tool with:
|
|
|
64
64
|
- `features`: top 3-5 features as array
|
|
65
65
|
- `brand_colors`: `{ primary, secondary?, accent? }` from theme files
|
|
66
66
|
- `mood`: user's chosen mood
|
|
67
|
-
- `device_id`: `"iphone-6.9"` (default), `"iphone-6.3"`, `"ipad-13"`, `"android-phone"`, `"android-tablet-10"` (7"), `"android-tablet-large"` (10"), `"apple-watch-ultra"`
|
|
67
|
+
- `device_id`: `"iphone-6.9"` (default), `"iphone-6.3"`, `"ipad-13"`, `"android-phone"`, `"pixel-11-pro"`, `"android-tablet-10"` (7"), `"android-tablet-large"` (10"), `"apple-watch-ultra"`
|
|
68
68
|
- `count`: number of cards (3-10)
|
|
69
69
|
- `story_flow`: `"auto"` (default), `"hero-intro"`, `"problem-solution"`, `"benefit-first"`, etc.
|
|
70
70
|
- `codebase_context`: the full context object from Step 1
|