MCP server that wraps app screenshots in an iPhone 16 Pro frame with marketing text, producing App Store-ready preview images.
Three tools with clear, detailed descriptions and mostly complete schemas. Naming is verb-forward and descriptive. However, parameter descriptions lack specificity on constraints (e.g., hex color format, size format validation), and output schemas are not formally documented. Error handling is minimal, no guidance on recovery or actionable error messages. The batch tool is well-designed for composition, but the single-mockup tool could benefit from clearer parameter interdependencies (e.g., add_frame=false interaction with frame parameter).
Wrap an app screenshot in an iPhone 16 Pro frame with marketing text above it, producing an App Store-ready preview image. If the user did not dictate the title text, draft one (3-7 words, benefit-led) and get the user's approval or edits before calling this.
Create App Store preview mockups for many screenshots in one call. If the user did not dictate the titles, draft one per screenshot (3-7 words, benefit-led), show the user the full list, and get approval or edits before calling this. Each job needs a screenshot path and a title; everything else is optional and falls back to the batch-level defaults. Jobs without an explicit `out` path are written to output_dir as NN_<screenshot-name>.png, numbered in job order.
Derive background theme suggestions from the app's own colors. Call this FIRST, before rendering any mockups, with all of the user's screenshots. It extracts the app's dominant background and accent colors and returns a JSON list of themes ({name, bg_color, text_color, frame, why}), ordered by recommendation strength, with text color and frame already chosen for contrast. Present the list to the user with the hex values, recommend the first entry, and always offer a final Custom option where the user supplies their own bg_color, text_color, and frame instead.
Output schemas not documented. suggest_themes returns JSON but structure is not formally specified. create_iphone_mockup returns a string message, not a structured object. Agents cannot reliably extract fields for downstream calls.
Parameter constraints not formally specified. 'bg_color' accepts hex or 'hex1,hex2' but description does not state regex pattern or format. 'size' accepts 'WxH' but no validation guidance. 'frame' enum is implicit (black/silver) but not declared as enum in schema.
Error handling lacks recovery guidance. FileNotFoundError and ValueError are raised but no actionable messages guide the LLM on next steps (e.g., 'Try suggest_themes first' or 'Available frames: black, silver').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 70 | 2026-07-28+ | v2 |
Parameter interdependencies undocumented. 'add_frame=false' changes behavior but interaction with 'frame' parameter is not explained. 'bleed' parameter purpose is clear but edge cases (e.g., bleed=true with add_frame=false) are not addressed.
MockupJob model in batch tool lacks validation. 'screenshot' and 'title' are required but no description of what constitutes a valid title (3-7 words, benefit-led) is enforced or validated at the tool boundary.