@appscreenshotstudio/mcp 0.7.0 → 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/dist/index.js +3 -7
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -161,10 +161,6 @@ function buildDesignMessage(input, hasScreenshotImages = false) {
|
|
|
161
161
|
parts.push(`Please include projectMeta with brand colors, mood, appCategory, and a rich globalVisualTheme description.`);
|
|
162
162
|
return parts.join('\n');
|
|
163
163
|
}
|
|
164
|
-
/** Read local image files into the chat API's images payload. Same file
|
|
165
|
-
* handling as upload-screenshots; kind rides through to server-side
|
|
166
|
-
* placement (screenshots fill the generated device frames, mascots get
|
|
167
|
-
* placed decoratively around the phones). */
|
|
168
164
|
function readImagesForChat(images) {
|
|
169
165
|
const payload = [];
|
|
170
166
|
const errors = [];
|
|
@@ -190,10 +186,10 @@ function readImagesForChat(images) {
|
|
|
190
186
|
/** Shared images param for generate-screenshots and edit-screenshots. */
|
|
191
187
|
const chatImagesSchema = z.array(z.object({
|
|
192
188
|
file_path: z.string().describe('Absolute path to an image file on the local filesystem (PNG, JPG, or WEBP)'),
|
|
193
|
-
kind: z.enum(['screenshot', 'mascot']).default('screenshot')
|
|
194
|
-
.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."),
|
|
195
191
|
})).max(5).optional()
|
|
196
|
-
.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.');
|
|
197
193
|
// ─── MCP Server ─────────────────────────────────────────────────────────────────
|
|
198
194
|
const server = new McpServer({
|
|
199
195
|
name: 'appscreenshotstudio',
|
package/package.json
CHANGED