shotframe
Renders App Store listing screenshots from supplied screen layout JSON and referenced image files, returning render jobs or download links.
Renders Google Play listing screenshots from supplied screen layout JSON and referenced image files, returning render jobs or download links.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
shotframe
Need App Store or Google Play screenshots for a store listing? shotframe hands the AppScreen API a set of screen layouts plus the image files they reference, and gives you back either a render job you can poll or a direct download link for the finished screenshots.
How a render flows:
screens— the layouts, as JSON objects. Their structure is defined by the AppScreen API; shotframe passes them through untouched and cannot validate them for you.files— the images the layouts use. Each item names a file and carries exactly one source: a localpath(the client reads the bytes off disk and encodes them; a leading~/expands to your home directory) or inlinebase64(meant only for tiny synthetic test images). An unreadable path fails the call before any request is made.The reply preserves the API's own fields — a
jobIdfor keyed/async renders or a download link for anonymous/inline ones, plusbalanceandcostwhen reported. Quota metadata the API reports is surfaced on the MCP result's_meta(quota, andbalance/cost/upgradeUrlwhen present).
Poll a job with its jobId to learn its status and, when it
is done, get a signed download URL. Signed URLs expire after
about an hour; poll again to refresh one.
Configuration
The API key is optional — anonymous use works, capped by the service at 5 lifetime renders:
export APPSCREEN_API_KEY="your key" # optionalRendering spends your own AppScreen workspace credits; when
they run out the API answers 402 and the tool reports it as
an insufficient_credits error carrying the API's cost and
balance text. shotframe itself holds no payment instrument.
Other environment variables:
APPSCREEN_BASE_URL— API base URL (https://api.appscreen.coby default)APPSCREEN_MCP_CLIENT— sent as theX-MCP-Clientheader, identifying the calling client
Related MCP server: screenmocks-mcp
CLI
npx @reneturcios/shotframe render_screenshots '{"screens":[{"device":"iphone"}], "files":[{"name":"icon.png","path":"~/shots/icon.png"}]}'
npx @reneturcios/shotframe get_render_status '{"job_id":"job-123"}'
npx @reneturcios/shotframe --versionOutput is the API result body as JSON. Exit codes: 0 on
success, 1 on a runtime error (including a validation
failure, an unreadable file, or an upstream error), 2 on a
usage error.
MCP server
npx -y @reneturcios/shotframe mcpMCP client config:
{
"mcpServers": {
"shotframe": {
"command": "npx",
"args": ["-y", "@reneturcios/shotframe", "mcp"],
"env": { "APPSCREEN_API_KEY": "your key" }
}
}
}Tools
render_screenshots— Render App Store and Google Play screenshots from screens (layout JSON) and image files. Returns a jobId for keyed/async renders or a download link for anonymous/inline renders.screensis required;filesis optional.get_render_status— Poll a render job by jobId. Returns the status and a signed download URL when done. Signed URLs expire after about an hour; re-poll to refresh.
Docker
docker run -i -e APPSCREEN_API_KEY="your key" ghcr.io/cloudcorprecords/shotframe
docker run --rm ghcr.io/cloudcorprecords/shotframe get_render_status '{"job_id":"job-123"}'Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch + temp files, no network)
npm run dev # run the CLI from sourceLicense
MIT — Copyright (c) 2026 Rene Turcios
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate designed, localized App Store screenshot sets from your raw app captures.
Create App Store screenshots, icons, ASO copy, localization, and revisions via hosted MCP.
App Store and Google Play screenshot generator: design, localize into 41 languages, render, upload.
Render-and-verify API: HTML/CSS to image or PDF, screenshot any URL, confirm the text rendered.
Related MCP Servers
- AlicenseAqualityBmaintenanceCapture screenshots, generate PDFs, and render HTML to images via AI agents. Supports batch capture, geo-targeting, async webhooks, and CSS/JS injection.11108 npm6MIT
- AlicenseNot gradedqualityCmaintenancestdio bridge to the hosted ScreenMocks MCP server: design and export localized App Store / Play Store screenshots — device frames, 3D mockups, text, per-locale overrides across 48 locales, and a measured layout report the agent can verify its design against.MIT
- AlicenseAqualityBmaintenanceEnables searching thousands of device and print mockups and rendering screenshots or uploaded images into them via the Mockuuups Studio API.4MIT
- AlicenseNot gradedqualityCmaintenanceEnables coding agents to capture App Store and Google Play screenshots of real app UIs and produce editable, store-ready image sets.MIT