MCP server that wraps app screenshots in an iPhone 16 Pro frame with marketing text, producing App Store-ready preview images.
Project description
appstore-mockup-mcp
An MCP server that wraps app screenshots in an iPhone 16 Pro frame with marketing text above, producing App Store-ready preview images (1284×2778, accepted for the 6.5" slot in App Store Connect).
Features
- Wraps any screenshot in a realistic iPhone 16 Pro frame (dark or silver)
- Adds bold headline + optional subtitle above the phone
- Vertical gradient or solid background
- Batch mode — process all screenshots in one call
- Theme picker built into the Claude conversation flow
- Warns if a source image is already a mockup (prevents phone-in-phone)
Installation
uvx appstore-mockup-mcp
Usage with Claude Code
Add to your .mcp.json:
{
"mcpServers": {
"appstore-mockup": {
"command": "uvx",
"args": ["appstore-mockup-mcp"]
}
}
}
Then in Claude Code, just share your screenshots and ask:
"Create App Store mockups for these screenshots"
Claude will ask you to pick a theme, propose captions, get your approval, then render everything.
Tools
create_iphone_mockup
Single screenshot → mockup.
| Param | Default | Description |
|---|---|---|
screenshot |
required | Absolute path to source PNG/JPG |
title |
required | Headline above the phone |
out |
required | Output path |
frame |
silver |
silver or dark |
bg_color |
#f5f1ea |
Hex or #hex1,#hex2 for gradient |
text_color |
#111111 |
Hex |
subtitle |
"" |
Smaller line under headline |
size |
1284x2778 |
Output dimensions |
bleed |
false |
Phone bleeds off bottom edge |
add_frame |
true |
Set false if source already has a phone frame |
create_iphone_mockups_batch
Same params, plus jobs list and output_dir. Each job can override any batch-level default.
CLI usage
python -m appstore_mockup_mcp.core screenshot.png \
--title "Find any car in seconds" \
--subtitle "Search 10,000+ vehicles" \
--out preview.png \
--frame dark \
--bg-top "#f97316" --bg-bottom "#1a0a00" \
--text-color "#ffffff"
Built-in themes
| Name | bg_color | text_color | frame |
|---|---|---|---|
| Orange to Dark | #f97316,#1a0a00 |
#ffffff |
dark |
| Soft Off-White | #faf8f5 |
#111111 |
silver |
| Midnight Black | #0d0d0d,#1a1a1a |
#ffffff |
dark |
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file appstore_mockup_mcp-0.1.0.tar.gz.
File metadata
- Download URL: appstore_mockup_mcp-0.1.0.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1045eca97866cacb4ac3336ece104cebf6810f76f16198d9137604ebd96fabc3
|
|
| MD5 |
8e4e16e320cefaf9fa8142d4540e9f7b
|
|
| BLAKE2b-256 |
c7b0c597526c3273da45babde47d722a512572afc01776bcc6907d03838c9a33
|
File details
Details for the file appstore_mockup_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: appstore_mockup_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a037e8bc4fa057c19df3d6d1b63e121ba55e9a2eadd8b92caa938945b55fc57
|
|
| MD5 |
d674b110674b8705bb1344bcb498a009
|
|
| BLAKE2b-256 |
b4a01a6e812d3063d4858bdc70fa2f3e8935b7daacef04a540c4c5f31073f553
|