appdesigns App Store screenshots

click.appdesignsPublished by appdesigns.clickOfficial publisherv1.0.0Updated Oct 24, 2026

App Store and Google Play screenshots MCP: your agent captures the app, you edit and export. Free.

VerifiedStreamable HTTPWeb executableDeveloper ToolsMedia & Design

Overview

AI-generated overview

A free remote MCP server that lets a coding agent capture an app's real screens and turn them into editable App Store and Google Play screenshot sets.

What you can do
Get the capture recipe and device options for a platform and store, then register a screenshot set and check its uploads to get an editor link. Create, update and finish screenshot sets from local files, or make framed sets from screenshots attached in chat. Search a library of ready-made art and get design guidance, then create and update listing or marketing designs. List saved projects, inspect and edit assets, replace screenshots, translate text layers, export files and submit a set to the gallery.
When to use it
Use it when you want store-ready App Store or Google Play screenshots of your own app, with the agent capturing real UI from a simulator, emulator or browser. Best suited to coding agents that can run shell commands on your machine; chat-only clients cannot run the upload command.
Requirements
A remote Streamable HTTP endpoint; no API key, credits or sign-in to connect. A coding agent with shell access is needed for capture and upload, plus a simulator, emulator or browser to capture the app. Signing in is only needed to save sets to your library; export needs no account.
Before you install
The agent may propose adding demo data or changing app code to capture screens, so review its plan before it proceeds. Screenshots are uploaded to a private staging area and unsaved sets are deleted after 72 hours. Submitting a set to the public gallery makes it visible to others. Export files are produced in your browser and download links expire.

Installation

In SourceWeft

  1. Open appdesigns App Store screenshots in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/click.appdesigns%2Fscreenshots/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "appdesigns-app-store-screenshots": {
      "type": "http",
      "url": "https://appdesigns.click/api/mcp"
    }
  }
}

README

App Store screenshots MCP (appdesigns)

A free MCP server that lets your coding agent make App Store and Google Play screenshots of your app. Claude Code, Codex, Cursor, VS Code, Gemini CLI or any MCP client with a shell reads your app, proposes the screens, asks you once before adding demo data, captures each screen at store size and opens a framed, captioned set in the appdesigns editor, where you edit it and export store-ready PNGs.

  • Free. No API key, no credits, no sign-in to connect. appdesigns runs no AI model; your agent does the thinking.
  • Your real app. The agent captures your actual UI from a simulator, emulator or browser. Nothing is generated.
  • Editable. The result is a project in the appdesigns editor, not a flat image: change text, colours, device and layout, then export.
  • Both stores. App Store at 1320 × 2868 (6.9 inch) and 13 inch iPad, Google Play at 1080 × 1920.
  • Every stack. iOS, Android, Expo, React Native, Flutter and web apps.

Server: https://appdesigns.click/api/mcp (Streamable HTTP, stateless, no auth) Setup page: https://appdesigns.click/mcp Walkthrough: https://appdesigns.click/blog/app-store-screenshots-mcp

Install

AgentHow
Claude Codeclaude mcp add --transport http --scope user appdesigns https://appdesigns.click/api/mcp, or this repo as a plugin: /plugin marketplace add haider-nawaz/app-store-screenshots-mcp then /plugin install appdesigns@appdesigns
Codexcodex mcp add appdesigns --url https://appdesigns.click/api/mcp
CursorOne-click button on https://appdesigns.click/mcp, or add {"url": "https://appdesigns.click/api/mcp"} under mcpServers in .cursor/mcp.json
VS Code (Copilot)code --add-mcp '{"name":"appdesigns","type":"http","url":"https://appdesigns.click/api/mcp"}'
Gemini CLIgemini mcp add -s user -t http appdesigns https://appdesigns.click/api/mcp
Anything elsenpx add-mcp https://appdesigns.click/api/mcp

Then, in your app's folder:

Make App Store screenshots for this app with appdesigns.

In Claude Code, a server added mid-session loads after a restart: quit, run claude --continue and say "continue".

How it works

  1. The agent calls get_workflow with your platform and store. It returns the capture commands for your stack and the rules for screens, demo data and captions.
  2. It reads your app and plans 4 or 5 screens, best first.
  3. It checks in with you once: the screens, the demo data it would add, any code it would change to capture them, and a caption per screen. It waits for your reply before touching anything, and never touches production data.
  4. It captures each screen at store size with a clean status bar (9:41, full battery).
  5. It calls create_project, runs the one upload command it returns (each file goes straight to storage through a signed URL, never through the model), then finish_project.
  6. It opens the link in your browser. The set loads in the editor; export needs no account, and signing in (free) saves it to your library.

Tools

ToolWhat it does
get_workflowThe full recipe for one platform and store: capture commands, screen, demo data and caption rules
list_devicesThe device frames a set can use
create_projectRegisters the screens (name, headline, file) and returns one upload command
finish_projectChecks every uploaded file and returns the link to the set

The server also exposes an app_store_screenshots prompt (in Claude Code: /mcp__appdesigns__app_store_screenshots).

What happens to your screenshots

They are uploaded to a private staging area nobody can browse. Saving the set copies them into your own private project and deletes the staged files; an unsaved set is deleted after 72 hours. Nothing becomes public unless you submit a set to the appdesigns gallery yourself.

What is in this repository

  • .claude-plugin/marketplace.json and plugins/appdesigns/: a Claude Code plugin marketplace with one plugin that connects the server and adds the app-store-screenshots skill.
  • plugins/appdesigns/skills/app-store-screenshots/SKILL.md: the skill on its own, usable by any agent that reads Agent Skills (copy it to .claude/skills/, .agents/skills/ or similar).
  • server.json: the entry in the official MCP Registry as click.appdesigns/screenshots.

The server itself is hosted at appdesigns.click; this repository holds the client-side pieces.

License

MIT

Source: README.md at commit 8554e80

Tools

19

get_workflow

Get the screenshot workflow

Use this when you are working in an app's code and can run commands (a coding agent) and the user wants App Store or Google Play screenshots of that app. Returns the full appdesigns recipe for one platform and store, as markdown: how to pick the screens, how to check and populate demo data with the user's consent, the exact capture commands (simulator or emulator, status bar, deep links), the caption rules, and the upload and hand-off steps. Not for a chat without a terminal, where the screenshots come as attachments instead. Read-only; changes nothing.

Parametersstoreplatformrequired

list_devices

List device frames

Use this when the user asks which devices, frame colours or canvas sizes appdesigns offers, or before choosing a non-default device for a screenshot set. Lists them for one store, with the defaults used when you leave them out. The App Store gets Apple devices only; Google Play gets Android phones. Read-only.

Parametersstore

create_project

Create a screenshot project

Use this when you can run shell commands on the user's machine and have their app's screenshots as local files (a coding agent). Not for a chat without a terminal, such as ChatGPT, where the upload command cannot run. Starts a screenshot set: 1 to 6 screenshots in store order, each with a screen name and a headline. Returns a project_handle and one upload command (bash and PowerShell forms) that sends every screenshot straight to storage; run it once, then call finish_project with the handle. Upload and call finish_project within 1 hour (an unfinished project lapses then); a finished one waits 72 hours to be opened. Nothing is public and no account is needed; the user saves the set to their account when they open the link finish_project returns.

Parametersfoldstoredevicescreensrequiredproject_idcanvas_sizeframe_colororientationproject_namerequiredsame_project_asbackground_color

finish_project

Finish a screenshot project

Checks that every screenshot of a project was uploaded and is a real PNG or JPEG, then returns the link that opens the set in the appdesigns editor, where the user saves it to their account and can edit and export it. Calling it again returns a fresh link and retires the previous one.

Parametersproject_handlerequired

update_project

Change a screenshot project

Changes a screenshot set create_project made, before the user saves it: rewrite any screen's screen name or headline, or change the background colour, the frame colour or the device. The uploaded screenshots stay as they are. Returns new previews and warnings; the open_url finish_project gave then opens the new version. For anything more (the phone's place, size or fold, text styles, pieces, another canvas), use edit_asset with this project_handle as handle, no sign-in needed; once it has changed the set, keep using edit_asset. A set the user already saved changes with edit_asset by asset_id.

Parametersdevicescreensframe_colorproject_handlerequiredbackground_color

make_screenshot_set

Make a screenshot set from attached screenshots

Use this when the user has attached screenshots of their own app in this conversation and wants App Store or Google Play screenshots made from them: store listing images, framed screenshots or app mockups for the App Store or Play Store. Each screenshot is put in a real device frame on a background with the screen name and headline you write, at the store's exact size, and open_url opens the set as an editable project in the appdesigns editor. Takes 1 to 6 screenshots (PNG, JPEG, WebP or GIF, at most 20 MB each, all the same way up; landscape ones make a landscape App Store set) in store order, with one screens entry per screenshot in the same order. Each must be a raw capture of the app as the device shows it. Do not use it for images that already have a device frame, a background or marketing text (the user needs to attach the raw screenshots instead), to invent app screens that do not exist, or when nothing is attached (the user needs to attach screenshots first). The screenshots are stored privately so open_url can load them; it works for 72 hours or until the user saves the set to their account. Nothing is public and no account is needed to make the set.

Parametersstoredevicescreensrequiredcanvas_sizeframe_colororientationscreenshotsrequiredproject_namerequiredbackground_color

search_library

Search the appdesigns library

Use this when a design or a saved asset needs a ready-made piece rather than art you draw: SF Symbols, emoji, 3D shapes, glows and blobs, seasonal art, store badges, ratings, payment and social marks and more (a few thousand pieces). Returns the best matches with their path, which a library layer takes (create_design and edit_asset), and one image showing them in order, left to right then down. With no match it lists the categories. Read-only.

Parameterslimitqueryrequiredcategory

get_design_guide

Get the design guide

Use this when the user wants App Store listing art (an animated product page header, a search result, In-App Event art) or a marketing image (a launch post for X, LinkedIn or Instagram, a link preview, a Play feature graphic) designed for their app and you will draw it yourself. Returns the appdesigns recipe for that asset as markdown: its size and what crops or covers it, the layer format create_design takes (phone frames included), the moves, the quality bar and the hand-off to the user. Read-only; changes nothing.

Parametersasset

create_design

Create a listing art design

Use this when you have designed art for an app yourself and the user should get it as an editable project: App Store listing art that loops as a video (a product page header, search result, or In-App Event card or page), or a still marketing image (an X, LinkedIn or Instagram post, a link preview, a Product Hunt image, a 16:9 image, Google Play's feature graphic). Takes 1 to 4 variants (directions for the user to choose from), each a background and layers: art you draw as SVG, library pieces, the app's icon, text, and phone frames showing the app (an iPhone, the iPhone Duo open from behind and from the front...), with moves and a loop on listing art. Checks everything and returns a preview image of each variant, warnings, a design_handle for update_design, and open_url, which opens the design in the appdesigns editor, where the user keeps a direction, tweaks any layer, saves it and exports it. Nothing is public and no account is needed. The design waits 72 hours to be opened and saved.

Parametersassetanimatedvariantsrequiredproject_idproject_namerequiredapp_store_urlsame_project_asscreenshots_from

update_design

Change a listing art design

Changes a design create_design made, before the user saves it: set fields of a layer by id, add, remove or reorder layers, or replace a variant's background, loop or title, or add or remove a variant. Send only what changes. Returns new preview images and warnings, like create_design; the open_url create_design gave then opens the new version. A design changed with edit_asset keeps changing there, and one the user already saved changes in the editor (or with edit_asset by asset_id once they sign you in).

Parameterschangesrequireddesign_handlerequired

list_projects

List the user's appdesigns projects

Use this when the user wants to work on something they already made in appdesigns: change a screenshot set, a header or event art they saved, add to a project, or see what a project still lacks. Lists their projects (one per app) with every saved asset in each (asset_id, kind, canvas size, last edit) and what each project still needs. Needs the user signed in to appdesigns; a call without it fails asking for sign-in, and then the user signs in (in Claude Code type /mcp, pick appdesigns and choose Authenticate (or run `claude mcp login appdesigns` in a separate terminal), in Codex run `codex mcp login appdesigns`; other agents open the sign-in page themselves). Read-only.

Parametersquery

get_asset

Read one asset

Use this before changing an asset with edit_asset, or when the user asks what one looks like: one the user saved (asset_id) or a set or design you made in this conversation (handle). Returns its screens, each with its background, its layers bottom first (text, pictures and the phone, each with an id, a position as a share of the canvas and its style) and its loop if it is animated, plus warnings about what may look off, and a preview image of each screen. Also returns the revision edit_asset needs. With asset_id (something the user saved) it needs the user signed in to appdesigns (in Claude Code type /mcp, pick appdesigns and choose Authenticate (or run `claude mcp login appdesigns` in a separate terminal), in Codex run `codex mcp login appdesigns`; other agents open the sign-in page themselves); with handle (a set or design you made in this conversation, not saved yet) it needs no sign-in. Read-only.

Parametershandleasset_idpreviews

edit_asset

Change an asset

Use this to change something, after get_asset: one the user saved (asset_id) or a set or design you made in this conversation (handle). Rewrite or restyle text, move, resize or recolour layers, add art you draw as SVG, a library piece (search_library), a phone frame or new text, remove or reorder layers, move or resize the phone or change its model, colour and fold, change the background or the loop, turn the whole set landscape or portrait or give it another size of the same asset (set_canvas), rename, duplicate, reorder or remove screens. Send only what changes, with the revision get_asset returned; the asset changes at once (like an edit in the editor) and the reply has the new revision, previews of the changed screens and warnings. A set or design changed this way keeps changing here: update_project and update_design no longer apply to it. With asset_id (something the user saved) it needs the user signed in to appdesigns (in Claude Code type /mcp, pick appdesigns and choose Authenticate (or run `claude mcp login appdesigns` in a separate terminal), in Codex run `codex mcp login appdesigns`; other agents open the sign-in page themselves); with handle (a set or design you made in this conversation, not saved yet) it needs no sign-in.

Parametershandlechangesrequiredasset_idrevisionrequired

save_to_account

Save a new set to the user's account

Use this when the user is signed in and a set you made is ready: after finish_project (and any update_project), or create_design (and any update_design), once the previews look right. Saves it straight into their appdesigns library, into the project you named with project_id or same_project_as (else a new project named after it), with no link to open and nothing for them to press. Returns the saved asset_id and revision for edit_asset, and open_url, which opens the saved set in the editor. The draft's own link then opens the saved set. Needs the user signed in to appdesigns; a call without it fails asking for sign-in, and then the user signs in (in Claude Code type /mcp, pick appdesigns and choose Authenticate (or run `claude mcp login appdesigns` in a separate terminal), in Codex run `codex mcp login appdesigns`; other agents open the sign-in page themselves).

Parametershandlerequired

replace_screenshots

Put new screenshots in a set

Use this when a set needs new screenshots in its phones: a recapture, a fixed screen, or a phone frame layer to fill (get_asset shows those as "phone frame: ..."), in a set the user saved (asset_id) or a set or design you made in this conversation (handle). Two calls. First with asset_id or handle and screens (each a screen number, the local file and, for a phone frame layer, its id): it returns one upload command (bash and PowerShell) that sends the files straight to storage. Run it, then call again with the same asset_id or handle, replace_handle and the revision get_asset returned: the files are checked (PNG or JPEG, the shape of the phone's screen) and swapped in, and the reply has the new revision and previews. With asset_id (something the user saved) it needs the user signed in to appdesigns (in Claude Code type /mcp, pick appdesigns and choose Authenticate (or run `claude mcp login appdesigns` in a separate terminal), in Codex run `codex mcp login appdesigns`; other agents open the sign-in page themselves); with handle (a set or design you made in this conversation, not saved yet) it needs no sign-in.

Parametershandlescreensasset_idrevisionreplace_handle

translate_asset

Make a set in another language

Use this when the user wants a screenshot set or listing asset in another language (a localization for the App Store or Google Play): one they saved (asset_id), or one you made in this conversation (handle). You translate every text layer yourself (get_asset lists them, with their ids); this makes a copy in that language, its images copied and the original untouched, wrapping a long translation and moving the captions under it down as the editor's own Translate set does. A saved set's copy is saved into the same project (asset_id back); a copy of yours is a new set with its own handle and link, which joins the original's project when the user saves them. Returns a preview of every screen (check the line breaks) and warnings; fix any line with edit_asset. One call per language. With asset_id (something the user saved) it needs the user signed in to appdesigns (in Claude Code type /mcp, pick appdesigns and choose Authenticate (or run `claude mcp login appdesigns` in a separate terminal), in Codex run `codex mcp login appdesigns`; other agents open the sign-in page themselves); with handle (a set or design you made in this conversation, not saved yet) it needs no sign-in.

Parameterstextsrequiredhandleasset_idlanguagerequired

export_asset

Export an asset's files

Use this when the user wants the finished files (to upload to App Store Connect or the Play Console, or to use elsewhere) of something they saved (asset_id) or something you made in this conversation (handle). The files are made by the appdesigns editor in the user's browser, the same pixels its Export saves: open_url opens it there and makes them (a PNG per screen, and an MP4 for a screen whose loop is on), then get_export with export_id gives a command that downloads them. With asset_id (something the user saved) it needs the user signed in to appdesigns (in Claude Code type /mcp, pick appdesigns and choose Authenticate (or run `claude mcp login appdesigns` in a separate terminal), in Codex run `codex mcp login appdesigns`; other agents open the sign-in page themselves); with handle (a set or design you made in this conversation, not saved yet) it needs no sign-in.

Parametersformathandleasset_id

get_export

Get an export's files

Use this after export_asset, once the user has the editor open: says whether the files are made, and when they are, returns them with a command that downloads them into a folder (bash and PowerShell) and where they go next in App Store Connect or the Play Console. The command's links work until the export expires (24 hours after export_asset); each call with the files ready makes new links and retires the earlier ones, so run the command from the latest call. Pass the handle too when you exported something you made in this conversation; then it needs no sign-in, else it needs the user signed in (in Claude Code type /mcp, pick appdesigns and choose Authenticate (or run `claude mcp login appdesigns` in a separate terminal), in Codex run `codex mcp login appdesigns`; other agents open the sign-in page themselves).

Parametershandleexport_idrequired

feature_app

Feature the app in the appdesigns gallery

Use this when the user wants their app in the appdesigns gallery (appdesigns.click/apps): a screenshot set they saved (asset_id, from save_to_account or list_projects) is sent for review as a template other makers start from, listed with the app's icon, name and store link, so other makers get inspiration and the user gets seen. A person reviews it within 24 to 48 hours and the user gets an email when it is live. The set needs at least 3 screens, an App Store or Google Play link, and an icon: taken from the App Store link (Apple's public lookup), else the project's icon in appdesigns, else icon. Ask the user before calling it: the listing is public. Needs the user signed in to appdesigns; a call without it fails asking for sign-in, and then the user signs in (in Claude Code type /mcp, pick appdesigns and choose Authenticate (or run `claude mcp login appdesigns` in a separate terminal), in Codex run `codex mcp login appdesigns`; other agents open the sign-in page themselves).

Parametersiconapp_namerequiredasset_idrequiredx_handledescriptionapp_store_urlplay_store_url

Version history

1
  1. v1.0.0LatestSep 26, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts