appdesigns App Store screenshots
Server Details
App Store and Google Play screenshots MCP: your agent captures the app, you edit and export. Free.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- haider-nawaz/app-store-screenshots-mcp
- GitHub Stars
- 0
- Server Listing
- appdesigns
TDQS
Scored across 4 tools
Each tool addresses a distinct stage: project creation, finalization, workflow retrieval, and device listing. No overlap in purpose, making selection unambiguous for an agent.
All tools follow a consistent verb_noun pattern (create_project, finish_project, get_workflow, list_devices). Naming is predictable and uniform.
Four tools cover the essential workflow without redundancy or bloat. The scope is tightly aligned with the server's purpose of managing App Store screenshots.
The surface covers the core lifecycle: workflow guidance, device configuration, project creation, and finalization. Minor gaps exist (e.g., no explicit cancellation or project listing), but agents can work around them.
Available Tools
4 toolscreate_projectCreate a screenshot projectAInspect
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 3 hours (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.
| Name | Required | Description | Default |
|---|---|---|---|
| store | No | Which store the set is for. | app_store |
| device | No | A device id from list_devices. Defaults to iphone-17-pro-max for the App Store and pixel-11-pro for Google Play. | |
| screens | Yes | One entry per screenshot, in the order the store should show them. The first sells the app. | |
| canvas_size | No | A canvas size from list_devices, as WIDTHxHEIGHT. Leave it out for the store default (1320x2868 for iPhone, 2048x2732 for iPad, 1080x1920 for Play). | |
| frame_color | No | A colour id of that device from list_devices. Leave it out to pick one that stands out from the background. | |
| project_name | Yes | The app's name. It becomes the project name in the user's appdesigns library. | |
| background_color | No | #RRGGBB. Use the app's brand or accent colour if you can find it in the code. Leave it out for a neutral light background. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not a read-only or destructive operation. The description adds valuable context: it returns a handle and upload command, explains time limits (3-hour lapse, 72-hour wait for finished projects), privacy ('Nothing is public'), and that no account is needed. It doesn't discuss idempotency (calling twice) or failure outcomes, but given the annotation coverage, the description provides solid behavioral depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph but dense and well-structured: purpose first, then steps, then time limits, then privacy. Every sentence adds necessary information without redundancy. It could benefit from bullet points for readability, but it's appropriately sized for the complexity and doesn't waste words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters (all documented), no output schema, and a multi-step workflow, the description covers the essential flow: returns a handle, provides upload commands, instructs to call finish_project, and explains timeouts. It doesn't detail the upload command's format or potential errors, but the agent has enough to proceed correctly. It also references list_devices indirectly via schema defaults, which is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter is well-documented (e.g., headline length, file_path expansion rules). The description adds extra meaning by explaining that screens are in store order and that the first screenshot 'sells the app', which is not in the schema. It also clarifies that the upload command sends screenshots to storage, linking to the file_path parameter. This goes beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it starts a screenshot set with 1-6 screenshots and returns a handle plus upload command. This distinguishes it from siblings like finish_project (which completes the process) and list_devices (which provides device IDs). The verb 'starts' and resource 'screenshot set' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells the agent to run the tool once, then call finish_project with the returned handle, and warns about the 3-hour upload window. It doesn't explicitly state when not to use this tool (e.g., if a project already exists), but the workflow is clear and alternates are implied by naming finish_project for the next step. There is no mention of alternatives like get_workflow, but the active creation role is evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finish_projectFinish a screenshot projectAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| project_handle | Yes | The project_handle create_project returned. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses the key side effect not captured by annotations: repeated calls generate a fresh link and retire the previous one, highlighting non-idempotency. It also states the validation precondition that all screenshots must be uploaded and be real PNG/JPEG.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences front-load the core behavior and then cover repeated-call semantics. No filler or duplication of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, the description supplies the input origin, validation behavior, and result link. It lacks explicit failure behavior if validation doesn't pass, but the main invocation path is well covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents project_handle at 100% coverage, so the description does not need to repeat parameter details. It adds no extra parameter meaning beyond calling it 'a project.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a specific action (finish) applied to a project resource and details the behavior: validating all uploads and returning an editor link. This clearly separates finish_project from create_project, get_workflow, and list_devices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used after a project's screenshots have been uploaded, and the validation step gives clear contextual hints. However, it does not explicitly state when not to use it or name alternatives, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflowGet the screenshot workflowARead-onlyIdempotentInspect
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. Read-only; changes nothing.
| Name | Required | Description | Default |
|---|---|---|---|
| store | No | Which store the screenshots are for. | app_store |
| platform | Yes | How the app is built: ios (Swift or Objective-C), android (Kotlin or Java), expo, react-native, flutter, or web (a web app or PWA). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description reinforces this with 'Read-only; changes nothing' and adds useful context: the result is markdown, and any demo-data population is part of the returned recipe with the user's consent, not something the tool performs itself. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence: it states the core action immediately and then compresses the workflow contents into a useful, scannable list. Every phrase adds information; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by specifying the return format (markdown) and enumerating the recipe sections: screens, demo data, capture commands, captions, upload, and hand-off. Combined with the rich parameter schema and read-only annotations, an agent has enough to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters have descriptive enums with defaults and meanings. The description only echoes 'one platform and store' without adding parameter-specific nuance, so the schema carries the semantic weight; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Returns') and resource ('full appdesigns recipe for one platform and store, as markdown'), then enumerates the recipe contents. It clearly identifies this as the retrieval tool for screenshot workflow guidance, distinct from the create/finish/list sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: call this to get the screenshot workflow recipe for a given platform and store, and it is explicitly read-only. It does not name alternatives or state when not to use it, but the read-only framing and recipe-scoped purpose make the usage context unambiguous against create_project and finish_project.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_devicesList device framesARead-onlyIdempotentInspect
Lists the device frames, frame colours and canvas sizes appdesigns offers for one store, with the defaults create_project uses when you leave them out. The App Store gets Apple devices only; Google Play gets Android phones. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| store | No | Which store the screenshots are for. | app_store |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description repeats 'Read-only.' It adds valuable behavioral context: the store-specific device types ('The App Store gets Apple devices only; Google Play gets Android phones') and the fact that it returns defaults used by create_project. This goes beyond the annotation safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action and scope, and contains no filler. Each clause adds distinct information: what is listed, for which store, the defaults relationship, store-specific device behavior, and read-only safety. It is efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with a single optional parameter, the description fully covers what it returns (frames, colors, canvas sizes, defaults), how the parameter affects output (device types per store), and safety (read-only). No output schema is needed since the contents are explicitly named. The description is complete for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters and describes 'store' as 'Which store the screenshots are for.' The description enriches this by explaining the effect of each enum value: App Store → Apple devices, Play → Android phones. This helps the agent choose the correct store value without opening the schema or guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Lists'), the resource ('device frames, frame colours and canvas sizes'), and the scope ('for one store'). It also ties to a sibling tool ('create_project') by mentioning the defaults it uses, which clearly differentiates this read-only list tool from the create/finish/get siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly conveys when to use it: when you need to know available frames/colors/canvas sizes and the defaults for create_project. It doesn't explicitly name alternatives or exclusion conditions, but the context of the sibling tools (create_project, finish_project, get_workflow) makes the use case clear without being stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
- First observed
create_project - First observed
finish_project - First observed
get_workflow - First observed
list_devices
Related MCP Connectors
Generate exact-size App Store and Google Play screenshots, feature graphics, and listing copy.
Design and export App Store / Play Store screenshots, localized across all 48 App Store locales.
Create app-store screenshots, social graphics, promo videos, and animated device mockups.
Create App Store screenshots, icons, ASO copy, localization, and revisions via hosted MCP.
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-
- AlicenseAqualityAmaintenanceAn MCP server that turns raw app screenshots into polished, pixel-perfect store listing visuals with device frames, benefit-driven headlines, brand colors, and exact store dimensions for iOS and Android.5360 npm21MIT
- AlicenseAqualityCmaintenanceMCP server that turns raw in-app screenshots into beautiful, store-ready marketing images for the iOS App Store and Google Play.5MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for AppLaunchFlow to create App Store and Google Play screenshots with AI.1,399 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.