storeshots-mcp
Generate store-ready app screenshots and preview graphics for App Store and Google Play, all locally without design tools or API keys.
List presets: View supported platforms (e.g., iOS Phone 1320×2868, Android Phone 1080×1920, iPad Pro 13″, Play Feature Graphic) with exact dimensions and layout metrics.
Compose a single screenshot: Combine a brand background, auto-uppercased benefit headline, and app screenshot inside a device frame at store-exact dimensions.
Batch-generate sets: Render up to 10 ordered screenshots for a preset and language with automatic naming, optional panorama gradients, and custom frames.
Create showcases: Stitch screenshots into a horizontal preview strip for READMEs, decks, or social posts.
Validate screenshots: Check dimensions, format (PNG/JPEG), no alpha channel, and auto-detect matching presets.
Multi-language support: Locale-aware uppercasing for headlines (e.g., Turkish, German) and language-specific sets.
Custom device frames and layout variants (text-top, text-bottom, tilted).
Deterministic and offline: No subscriptions or AI generation required.
Provides presets for Android device screenshots (phone, tablet, feature graphic) with exact store dimensions and device frames.
Generates pixel-perfect screenshots formatted for Apple App Store requirements, including device frames and headline layouts.
Generates pixel-perfect screenshots formatted for Google Play Store requirements, including device frames and headline layouts.
Provides presets for iOS device screenshots (iPhone, iPad) with exact store dimensions and device frames.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@storeshots-mcpgenerate a full App Store set from my screenshots in ./raw"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
storeshots-mcp
Ship App Store and Google Play screenshots without opening a design tool.
storeshots-mcp turns raw app screenshots into finished store-listing visuals — device frames, benefit-driven headlines, brand backgrounds, and exact store dimensions for iOS and Android. It runs as an MCP server, so the AI agent you already use writes and translates the copy while storeshots renders the pixels. No design tool, no subscription, no API keys.
The idea
Store screenshots are two jobs pretending to be one. There's a creative job (what to say, which screen sells which feature, how to phrase it in six languages) and a production job (frames, typography, exact pixel dimensions, no alpha channel). Design tools make you do both by hand; screenshot SaaS locks the production job behind a subscription.
storeshots-mcp splits them and gives each to whatever is best at it:
Your AI agent decides | storeshots renders |
Which screens to feature | Device frames at exact scale |
The headline for each one | Typography, contrast, and layout |
Idiomatic translations | Correct casing per language (Turkish |
Brand color and order | Deterministic PNGs at exact store dimensions |
Because the render path is pure and local, the same inputs always produce the same pixels — no model in the loop, nothing uploaded anywhere.
Related MCP server: apple-photos-mcp
Install
Claude Code
claude mcp add storeshots -- npx -y storeshots-mcpCursor / Windsurf / Claude Desktop / Antigravity / VS Code — add to your MCP config:
{
"mcpServers": {
"storeshots": { "command": "npx", "args": ["-y", "storeshots-mcp"] }
}
}Codex CLI — add to ~/.codex/config.toml:
[mcp_servers.storeshots]
command = "npx"
args = ["-y", "storeshots-mcp"]It's a plain stdio MCP server with zero client-specific behavior, so it works in any MCP-capable agent. No server at all? The same engine is a CLI: npx storeshots --help.
Use it
Point your agent at your raw screenshots and describe the set you want:
"Take the screenshots in
./raw-shotsand generate a full App Store and Play Store set. Brand color#E31837, 6 screenshots, English and Turkish."
The agent reads the screens, writes the headlines, and calls generate_set once per platform and language. You get back finished PNGs, already the right size, ready to upload. Ask for changes in plain language and it re-renders only what moved.
What it produces
5 presets, each at the exact size its store requires:
Preset | Store | Dimensions |
| App Store, iPhone 6.9" | 1320 × 2868 |
| Google Play, phone | 1080 × 1920 |
| App Store, iPad Pro 13" | 2064 × 2752 |
| Google Play, 10" tablet | 1600 × 2560 |
| Google Play feature graphic | 1024 × 500 |
And the finishing touches that make a set look designed:
Built-in device frames — iPhone (dynamic island), Pixel-style Android (punch hole), iPad, and tablet, drawn programmatically at exact scale. Bring your own with custom frames.
Layout variants —
text-top,text-bottom, andtilted; mix them across a set so it doesn't look like one template copied six times.Panoramic sets — one gradient flowing continuously across every panel, so the row reads as a single image in the store. See panoramas.
Benefit-first headlines — a bold verb plus a short descriptor, auto-uppercased with locale-correct special characters and contrast-aware color.
Showcase composer — one wide preview image of the whole set for your repo, launch post, or client deck.
Every output is flattened to remove the alpha channel that App Store Connect rejects, and validated against its preset before it's written.
Tools
Tool | What it does |
| List every preset with its store and exact dimensions |
| Render one screenshot (background, frame, headline, source image) |
| Batch-render an ordered set for one platform + language; supports panoramas |
| Stitch generated screenshots into one preview strip |
| Check an image against store dimension and format rules |
Each tool returns file paths plus a structured summary, so the agent can review and iterate.
Multi-language sets
Translation lives in the agent, not the server. Generate English once, then:
"Now do the same set in Turkish and German."
The agent translates each headline idiomatically; storeshots renders it with correct locale casing. Files follow a predictable convention:
output/
en/ios-phone/en_01.png … en_06.png
tr/ios-phone/tr_01.png … tr_06.png
de/android-phone/de_01.png … de_06.pngPanoramic sets
Pass panorama to generate_set and the per-panel solid background becomes one horizontal gradient sliced across the whole set — so placed side by side in the store, the screenshots form a single continuous image.
// generate_set arguments
{
"preset": "ios-phone",
"background": "#27AF99", // gradient start
"panorama": { "to": "#1E3A8A" }, // gradient end, flowing across all panels
"outputDir": "output/en/ios-phone",
"items": [ /* one entry per screenshot */ ]
}Custom frames
Prefer a specific device look? Supply your own frame PNG (transparent where the screen shows through) and the pixel rectangle the screenshot fills:
{
"frame": {
"image": "./frames/iphone-16-pro.png",
"screenX": 40, "screenY": 40,
"screenWidth": 1080, "screenHeight": 2280
}
}Works on compose_screenshot and as a set-wide option on generate_set; omit it to use the built-in frames.
Claude Code skill (optional)
The tools work on their own, but the bundled skill adds a guided workflow — benefit discovery from your codebase, headline approval before rendering, per-language sets, and upload guidance:
mkdir -p ~/.claude/skills/storeshots
curl -o ~/.claude/skills/storeshots/SKILL.md \
https://raw.githubusercontent.com/mtbun/storeshots-mcp/main/skill/SKILL.mdThen ask Claude Code for "store screenshots for this app" and it walks the whole flow.
Design principles
Deterministic — no AI image generation in the render path; same input, same pixels.
Zero config — no API keys, no accounts, fully offline.
Store-correct by construction — dimensions are enforced and validated, not suggested.
Agent-native — tools expose structured data; the copywriting stays in the model where it belongs.
Roadmap
Claude Code skill with a guided benefit-discovery workflow
Play Store feature graphic preset (1024 × 500)
Layout variants — text-top, text-bottom, tilted
Custom device frames
Panoramic sets
App preview video frames
More stores (Mac App Store, Chrome Web Store)
Contributing
Issues and PRs welcome. AGENTS.md documents the architecture and conventions, for human contributors and coding agents alike.
License
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseAqualityCmaintenanceGenerates beautiful App Store and Play Store screenshots by inserting app images into iPhone/iPad mockup frames with customizable text overlays and gradient backgrounds. Supports multiple device types and batch generation with both free and pro subscription tiers.8
- AlicenseAqualityAmaintenanceEnables AI assistants to query and export from the macOS Apple Photos library using natural language, backed by osxphotos.2181911MIT
- Alicense-qualityDmaintenanceMCP server for shipping iOS apps, enabling screenshots of simulators, managing App Store Connect metadata, and submitting apps for review.16MIT
- AlicenseAqualityCmaintenanceMCP server that turns raw in-app screenshots into beautiful, store-ready marketing images for the iOS App Store and Google Play.5MIT
Related MCP Connectors
Create App Store screenshots, icons, ASO copy, localization, and revisions via hosted MCP.
Create app-store screenshots, social graphics, promo videos, and animated device mockups.
MCP server for Appcircle mobile CI/CD platform.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mtbun/storeshots-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server