Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

AppScreenStudio

REMOTE · WWW.APPSCREENSTUDIO.COM

Design App Store and Google Play screenshots with your AI agent in the AppScreenStudio editor.

70 Trust /100

Last scanned (16 hours ago)

Scores higher than 60% of remote servers

Reachable. Last reached 23 Oct 2026.

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security89
Transport & Reachability100
Schema Quality & AI Usability54
  • AI-judged instruction clarity (fair).Partial
  • Context-footprint check failed: tool/resource definitions use about 6830 tokens (~139/item across 49 items; 49 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
  • Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage78
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 35% of tool parameters carry a description.Partial
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 6 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "remove_text" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 50 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities40
  • Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28. See how to fix → Fail
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 23 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

  • 20 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Oct 26 0
    • Stability: unverified → 0.03 ▲ functional
  • 18 Oct 26 68

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 23 Oct 2026 · Probed https://www.appscreenstudio.com/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=appscreenstudio.com CN=WE1,O=Google Trust Services,C=US 12 Sept 2026 11 Dec 2026 ECDSA 256 ECDSA-SHA256 da0d0ae5b965d92b1392d60fdce56c8d
SANs: appscreenstudio.com, *.appscreenstudio.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of www.appscreenstudio.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
appscreenstudio.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On tool calls
HTTP status 200
Header Value
strict-transport-security max-age=63072000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(), microphone=(), geolocation=(), payment=(self), interest-cohort=()

Protected resource metadata

Retrieved No
Problem no_resource_metadata

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://www.appscreenstudio.com/api/mcp Verified 200
http (plaintext) http://www.appscreenstudio.com/api/mcp HTTPS enforced 301 https://www.appscreenstudio.com/api/mcp
MCP tools · 49 exposed · ~6,631 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_asset ~182

Add an image layer to a card. src is an image URL, such as one from upload_image or list_library. Pass spriteCoordinate to crop one pose of a sprite sheet.

NameTypeReqDescription
heightnumber–CSS pixels on the 500px-tall card.
rotationnumber–Degrees, clockwise.
screenshotIdstringyes–
spriteCoordinateobject–Crop rectangle on the source image, in source pixels. Use a pose from list_library.
srcstringyes–
widthnumber–CSS pixels on the 500px-tall card.
xnumber–Layer center, in percent of the card width from the card center. 50 is the right edge.
ynumber–Layer center, in percent of the card height from the card center. 50 is the bottom edge.

No output schema declared.

No examples provided.

add_div ~601

Add a box layer to a card. Pass html to draw a custom card: width and height set its layout box, and every visible style goes in the html, since backgroundColor and borderRadius only style plain boxes without html. A style element stays inside the card.

NameTypeReqDescription
backgroundColorstring––
borderRadiusnumber––
heightnumberyesCSS pixels on the 500px-tall card.
htmlstring–Custom card HTML, up to 8000 characters. Image src and CSS url() must be URLs from upload_image with type asset; data: URLs are rejected. font-family can use built-in editor fonts and fonts added wit…
layerstring–front paints above the phone and image layers, back paints behind the phone. Text layers always paint above both. Defaults to front for html cards and back for plain boxes.
opacitynumber––
rotationXnumber–3D tilt in degrees, -360 to 360, about the box center with the same perspective as phones. 0 is flat.
rotationYnumber–3D tilt in degrees, -360 to 360, about the box center with the same perspective as phones. 0 is flat.
rotationZnumber–3D tilt in degrees, -360 to 360, about the box center with the same perspective as phones. 0 is flat.
scalenumber–Visual multiplier from the center, 0.1 to 4. The html keeps its layout size and does not reflow. 1 is natural size.
screenshotIdstringyes–
widthnumberyesCSS pixels on the 500px-tall card.
xnumber–Layer center, in percent of the card width from the card center. 50 is the right edge.
ynumber–Layer center, in percent of the card height from the card center. 50 is the bottom edge.

No output schema declared.

No examples provided.

add_phone ~750

Add another phone to a screenshot card in the open editor. It uses the platform set's device frame and starts next to the main phone with its size, rotation, and shadow. Set imageUrl to an image URL (upload_image with type screenshot). Extra phones paint above the main phone, in the order they were added. Returns phoneId.

NameTypeReqDescription
bottomFadeColorstring–Ignored. The fade always goes to transparent, so whatever is behind the phone shows through.
bottomFadeEnabledboolean––
bottomFadeHeightnumber––
bottomFadePositionstring––
deviceIdstring–This phone's own device, any set_device id. Empty string follows the platform set's device.
deviceModelColorstring–HyperRealistic (threeDFrame): this phone's own real finish, a deviceColors id of its device. Empty string clears it.
focusOverlayBlurBackgroundboolean––
focusOverlayBorderColorstring––
focusOverlayBorderRadiusnumber––
focusOverlayBorderWidthnumber––
focusOverlayCropBottomnumber––
focusOverlayCropTopnumber––
focusOverlayEnabledboolean––
focusOverlayOffsetYnumber–Vertical offset of the focus overlay, as a percent of its height. Negative moves it up. Range is -1000 to 1000.
focusOverlayShadowBlurnumber––
focusOverlayShadowColorstring––
focusOverlayShadowEnabledboolean––
focusOverlayShadowOffsetXnumber––
focusOverlayShadowOffsetYnumber––
foldAmountnumber–Foldable devices and laptops only. iphone-duo: 0 is open flat, 1 is closed; imageUrl shows on the inner display. MacBooks (macbook-*): the lid, opening = 120 x (1 - foldAmount) degrees (0 fully open,…
imageRotationnumber–Old name of rotationZ; it sets rotationZ.
imageScalenumber––
imageUrlstring––
imageXnumber–Phone center, in pixels from the card center on the 500px-tall card.
imageYnumber–Phone center, in pixels from the card center on the 500px-tall card. Positive moves down.
outerImageUrlstring–Foldable devices (iphone-duo) only: the outer display's image URL (shows when folded). Empty string clears it.
phoneColorstring–This phone's own generic color (black, white, orange, silver, space-gray, blue, purple, red, green). Empty string follows the platform set's color.
rotationXnumber–Tilt in degrees (top away from the viewer). 3D frames only.
rotationYnumber–Turn in degrees (right side away from the viewer). 3D frames only.
rotationZnumber–The phone's rotation in degrees, on every frame (with no tilt it is a flat rotation).
screenshotIdstringyes–
shadowBlurnumber––
shadowColorstring––
shadowEnabledboolean––
shadowOffsetXnumber––
shadowOffsetYnumber––

No output schema declared.

No examples provided.

add_platform_set ~32

Add a platform set to the open project.

NameTypeReqDescription
namestring––
platformstringyes–

No output schema declared.

No examples provided.

add_project_font ~63

Add a Google Fonts family to the open project. Then use it as fontFamily on text layers or as font-family in card html. Built-in editor fonts need no adding.

NameTypeReqDescription
familystringyesExact family name from search_google_fonts, such as Caveat.

No output schema declared.

No examples provided.

add_screenshot ~89

Add a card to the end of a platform set. The card is not blank: the set's first three cards get the template's sample texts and phone placement (sometimes a hidden or tilted phone), and later cards copy every layer of the set's last card without its phone image. Returns the ids of those layers so you can update or remove them.

NameTypeReqDescription
platformSetIdstringyes–

No output schema declared.

No examples provided.

add_text ~263

Add a text layer to a screenshot in the open editor.

NameTypeReqDescription
alignstring––
backgroundColorstring––
borderColorstring––
borderRadiusnumber––
colorstring–CSS color, such as #ffffff
contentstringyes–
fontFamilystring–Font for the whole layer, such as Nunito: a built-in editor font or one added with add_project_font.
fontSizenumber–Font size in CSS pixels on the 500px-tall editor canvas.
fontWeightstring––
lineHeightnumber–Multiplier of the font size
rotationnumber––
screenshotIdstringyes–
textShadowBlurnumber––
textShadowColorstring––
textShadowEnabledboolean––
textShadowOffsetXnumber––
textShadowOffsetYnumber––
xnumber–Layer center, in percent of the card width from the card center. 50 is the right edge.
ynumber–Layer center, in percent of the card height from the card center. 50 is the bottom edge.

No output schema declared.

No examples provided.

ai_translate ~121

Add up to 5 languages by translating the open language with the same AI localize flow as the editor. Translates iOS and Android screenshot text and the store listing. Social screenshot text is copied unchanged. Spends credits. Does not switch the open language. Fails when the account cannot spend credits or a code is already on the project.

NameTypeReqDescription
languagesarrayyesLanguage codes to add, 1 to 5 unique codes. Examples: tr, de, ja, zh-Hans, pt-BR, es-419, en-GB.

No output schema declared.

No examples provided.

capture_platform_strip ~52

Return one JPEG of every card in a platform set side by side, as the editor renders them. Use it to check your edits. Defaults to the first platform set.

NameTypeReqDescription
platformSetIdstring––

No output schema declared.

No examples provided.

copy_screenshot ~35

Copy a screenshot onto another platform set.

NameTypeReqDescription
screenshotIdstringyes–
targetPlatformSetIdstringyes–

No output schema declared.

No examples provided.

duplicate_screenshot ~28

Duplicate a screenshot and insert the copy immediately after it.

NameTypeReqDescription
screenshotIdstringyes–

No output schema declared.

No examples provided.

generate_asset ~91

Generate an asset sprite with AI and save it to the account library. Spends credits. Returns imageUrl and poses like get_sprite, with a preview of each pose. Does not place it on a card.

NameTypeReqDescription
promptstring–What to draw, up to 2000 characters.
qualitystring––
referenceUrlstring–Optional https image URL used as a visual reference.

No output schema declared.

No examples provided.

generate_background ~35

Generate an AI background for one card. Spends credits.

NameTypeReqDescription
promptstring––
screenshotIdstringyes–

No output schema declared.

No examples provided.

generate_mascot ~108

Generate a mascot sprite with AI and save it to the account library. Spends credits. Returns imageUrl and poses like get_sprite, with a preview of each pose. Does not place it on a card.

NameTypeReqDescription
presetIdstring––
promptstring–What to draw, up to 2000 characters. Optional when presetId is set.
qualitystring––
referenceUrlstring–Optional https image URL used as a visual reference.

No output schema declared.

No examples provided.

get_editor_snapshot ~123

Read one platform of the open editor. Pass platform or platformSetId to include that set's screenshots. With no argument, a project with one platform set returns that set. A project with more than one set returns the set directory and screenshotsOmitted, without screenshot bodies. Call again with platform or an id from that directory.

NameTypeReqDescription
platformstring–Open every set of this platform. Use this when you know the store and not the set id.
platformSetIdstring–Open this set. Ids come from a snapshot that omitted screenshots.

No output schema declared.

No examples provided.

get_sprite ~52

Return one saved asset or mascot in the same shape as a list_library item, including spriteSheet and poses. Also returns one image of each pose with its index drawn beside it.

NameTypeReqDescription
imageIdstringyes–

No output schema declared.

No examples provided.

list_library ~110

List assets or mascots saved on this account (not screenshots or backgrounds). Items with spriteSheet true have poses, crop rectangles for add_asset spriteCoordinate. Also returns one image of up to 10 items with each id beside its picture.

NameTypeReqDescription
kindstringyes–
limitnumber–Page size, 1 to 50. Defaults to 20. Mascots are capped at 10.
pagenumber–Page number, starting at 1. Defaults to 1.

No output schema declared.

No examples provided.

move_screenshot ~35

Move a screenshot left or right within its platform set.

NameTypeReqDescription
directionstringyes–
screenshotIdstringyes–

No output schema declared.

No examples provided.

rate_this_mcp ~52

Rate how well these MCP tools worked for the task you just finished, from 1 to 5 stars. Call it once per task.

NameTypeReqDescription
commentstring––
starsintegeryes–

No output schema declared.

No examples provided.

redo ~18

Redo the last undone edit in the open editor.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

remove_asset ~36

Remove an image layer from a screenshot in the open editor.

NameTypeReqDescription
assetIdstringyes–
screenshotIdstringyes–

No output schema declared.

No examples provided.

remove_div ~36

Remove a box layer from a screenshot in the open editor.

NameTypeReqDescription
divIdstringyes–
screenshotIdstringyes–

No output schema declared.

No examples provided.

remove_phone ~33

Remove an extra phone added with add_phone.

NameTypeReqDescription
phoneIdstringyes–
screenshotIdstringyes–

No output schema declared.

No examples provided.

remove_platform_set ~32

Remove an extra platform set. The first set of each platform stays.

NameTypeReqDescription
platformSetIdstringyes–

No output schema declared.

No examples provided.

remove_screenshot ~25

Remove a screenshot from the open editor.

NameTypeReqDescription
screenshotIdstringyes–

No output schema declared.

No examples provided.

remove_text ~36

Remove a text layer from a screenshot in the open editor.

NameTypeReqDescription
screenshotIdstringyes–
textIdstringyes–

No output schema declared.

No examples provided.

rename_project ~20

Rename the open project.

NameTypeReqDescription
namestringyes–

No output schema declared.

No examples provided.

reorder_element ~84

Move a layer one step forward or backward among layers of the same kind. It cannot move a layer across kinds: back to front, cards always paint back divs, phones, image layers, front divs, then texts.

NameTypeReqDescription
directionstringyes–
elementIdstringyes–
kindstringyes–
screenshotIdstringyes–

No output schema declared.

No examples provided.

report_mcp_feedback ~54

Report a bug, an unexpected tool result, or a suggestion about these MCP tools, when you notice one.

NameTypeReqDescription
kindstringyes–
messagestringyes–
toolNamestring––

No output schema declared.

No examples provided.

search_google_fonts ~89

Search Google Fonts by family name, category, or both. usable is true when the project can already use the family: a built-in editor font or one added with add_project_font.

NameTypeReqDescription
categorystring––
limitnumber–1 to 50. Defaults to 20.
querystring–Part of a family name, such as caveat or mono.

No output schema declared.

No examples provided.

set_device ~240

Set the device of a platform set. iOS sets take iphone-13-pro, iphone-13-pro-max, iphone-15-pro, iphone-15-pro-max, iphone-17-pro, iphone-17-pro-max, iphone-18-pro, iphone-18-pro-max, iphone-duo, borderless-frame, ipad-pro-12, ipad-pro-13, macbook-air-13, macbook-air-15, macbook-pro-14, macbook-pro-16. Android sets take pixel-8-pro, galaxy-s24-ultra, galaxy-s26-ultra, galaxy-tab-s10, android-borderless-frame. Social sets take any of them. borderless-frame and android-borderless-frame show the screenshot without a phone frame. macbook-air-13, macbook-air-15, macbook-pro-14, macbook-pro-16 are MacBooks: HyperRealistic 3D only, the screenshot fills the display (a 16:10 Mac screenshot loses a sliver at the sides), the lid is set with foldAmount.

NameTypeReqDescription
deviceIdstringyes–
platformSetIdstringyes–

No output schema declared.

No examples provided.

set_language ~29

Switch the open editor to a language that already exists on the project.

NameTypeReqDescription
langstringyes–

No output schema declared.

No examples provided.

set_link_texts ~27

Link or unlink matching text layers across platform sets.

NameTypeReqDescription
enabledbooleanyes–

No output schema declared.

No examples provided.

set_phone_color ~132

Set the device color of a platform set. On a HyperRealistic (threeDFrame) set the device shows only its real finishes: pass one of the set's deviceColors ids (see the snapshot); a generic color (black, white, orange, silver, space-gray, blue, purple, red, green) picks the closest real finish.

NameTypeReqDescription
colorstringyesA generic color (black, white, orange, silver, space-gray, blue, purple, red, green) or, on a HyperRealistic set, a deviceColors id.
platformSetIdstringyes–

No output schema declared.

No examples provided.

set_project_background ~41

Set or clear the project background image. Pass an empty imageUrl to clear it.

NameTypeReqDescription
blurnumber––
imageUrlstringyes–

No output schema declared.

No examples provided.

set_realistic_frame ~109

Enable or disable the realistic device frame on a platform set. With threeD true the frame is a 3D device model (HyperRealistic) that also takes rotationX, rotationY, and rotationZ. 3D works on every device except borderless-frame and android-borderless-frame.

NameTypeReqDescription
enabledbooleanyes–
platformSetIdstringyes–
threeDboolean–3D device model instead of the flat realistic frame. Requires enabled true.

No output schema declared.

No examples provided.

set_resolution ~40

Set the pixel size of a platform set.

NameTypeReqDescription
heightnumberyes–
platformSetIdstringyes–
widthnumberyes–

No output schema declared.

No examples provided.

set_show_notch ~36

Show or hide the notch on a platform set.

NameTypeReqDescription
platformSetIdstringyes–
showbooleanyes–

No output schema declared.

No examples provided.

set_squircle_frame ~39

Enable or disable the squircle frame on a platform set.

NameTypeReqDescription
enabledbooleanyes–
platformSetIdstringyes–

No output schema declared.

No examples provided.

set_template ~24

Set the template of the open project.

NameTypeReqDescription
templateIdstringyes–

No output schema declared.

No examples provided.

undo ~16

Undo the last edit in the open editor.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

update_asset ~138

Update an image layer on a screenshot in the open editor.

NameTypeReqDescription
assetIdstringyes–
heightnumber–CSS pixels on the 500px-tall card.
rotationnumber––
screenshotIdstringyes–
srcstring––
widthnumber–CSS pixels on the 500px-tall card.
xnumber–Layer center, in percent of the card width from the card center. 50 is the right edge.
ynumber–Layer center, in percent of the card height from the card center. 50 is the bottom edge.

No output schema declared.

No examples provided.

update_div ~354

Update a box layer on a card.

NameTypeReqDescription
backgroundColorstring––
borderRadiusnumber––
divIdstringyes–
heightnumber–CSS pixels on the 500px-tall card.
htmlstring–New card HTML, with the same rules as add_div html. Empty string clears the card.
layerstring–front paints above the phone and image layers, back paints behind the phone. Text layers always paint above both. Defaults to front for html cards and back for plain boxes.
opacitynumber––
rotationXnumber–3D tilt in degrees, -360 to 360, about the box center with the same perspective as phones. 0 is flat.
rotationYnumber–3D tilt in degrees, -360 to 360, about the box center with the same perspective as phones. 0 is flat.
rotationZnumber–3D tilt in degrees, -360 to 360, about the box center with the same perspective as phones. 0 is flat.
scalenumber–Visual multiplier from the center, 0.1 to 4. The html keeps its layout size and does not reflow. 1 is natural size.
screenshotIdstringyes–
widthnumber–CSS pixels on the 500px-tall card.
xnumber–Layer center, in percent of the card width from the card center. 50 is the right edge.
ynumber–Layer center, in percent of the card height from the card center. 50 is the bottom edge.

No output schema declared.

No examples provided.

update_phone ~718

Update an extra phone added with add_phone. Takes the same phone fields as update_screenshot. The main phone is edited with update_screenshot.

NameTypeReqDescription
bottomFadeColorstring–Ignored. The fade always goes to transparent, so whatever is behind the phone shows through.
bottomFadeEnabledboolean––
bottomFadeHeightnumber––
bottomFadePositionstring––
deviceIdstring–This phone's own device, any set_device id. Empty string follows the platform set's device.
deviceModelColorstring–HyperRealistic (threeDFrame): this phone's own real finish, a deviceColors id of its device. Empty string clears it.
focusOverlayBlurBackgroundboolean––
focusOverlayBorderColorstring––
focusOverlayBorderRadiusnumber––
focusOverlayBorderWidthnumber––
focusOverlayCropBottomnumber––
focusOverlayCropTopnumber––
focusOverlayEnabledboolean––
focusOverlayOffsetYnumber–Vertical offset of the focus overlay, as a percent of its height. Negative moves it up. Range is -1000 to 1000.
focusOverlayShadowBlurnumber––
focusOverlayShadowColorstring––
focusOverlayShadowEnabledboolean––
focusOverlayShadowOffsetXnumber––
focusOverlayShadowOffsetYnumber––
foldAmountnumber–Foldable devices and laptops only. iphone-duo: 0 is open flat, 1 is closed; imageUrl shows on the inner display. MacBooks (macbook-*): the lid, opening = 120 x (1 - foldAmount) degrees (0 fully open,…
imageRotationnumber–Old name of rotationZ; it sets rotationZ.
imageScalenumber––
imageUrlstring––
imageXnumber–Phone center, in pixels from the card center on the 500px-tall card.
imageYnumber–Phone center, in pixels from the card center on the 500px-tall card. Positive moves down.
outerImageUrlstring–Foldable devices (iphone-duo) only: the outer display's image URL (shows when folded). Empty string clears it.
phoneColorstring–This phone's own generic color (black, white, orange, silver, space-gray, blue, purple, red, green). Empty string follows the platform set's color.
phoneIdstringyes–
rotationXnumber–Tilt in degrees (top away from the viewer). 3D frames only.
rotationYnumber–Turn in degrees (right side away from the viewer). 3D frames only.
rotationZnumber–The phone's rotation in degrees, on every frame (with no tilt it is a flat rotation).
screenshotIdstringyes–
shadowBlurnumber––
shadowColorstring––
shadowEnabledboolean––
shadowOffsetXnumber––
shadowOffsetYnumber––

No output schema declared.

No examples provided.

update_screenshot ~793

Update a card and its main phone: background, phone placement and app screen, pattern, fade, or shadow. imageUrl is the app screen inside the phone (upload_image with type screenshot). The phone model is chosen per platform set with set_device.

NameTypeReqDescription
backgroundColorstring––
backgroundImagestring––
backgroundImageBlurnumber––
backgroundPatternColorstring––
backgroundPatternIdstring––
bottomFadeColorstring–Ignored. The fade always goes to transparent, so whatever is behind the phone shows through.
bottomFadeEnabledboolean––
bottomFadeHeightnumber––
bottomFadePositionstring––
deviceIdstring–This phone's own device, any set_device id. Empty string follows the platform set's device.
deviceModelColorstring–HyperRealistic (threeDFrame): this phone's own real finish, a deviceColors id of its device. Empty string clears it.
focusOverlayBlurBackgroundboolean––
focusOverlayBorderColorstring––
focusOverlayBorderRadiusnumber––
focusOverlayBorderWidthnumber––
focusOverlayCropBottomnumber––
focusOverlayCropTopnumber––
focusOverlayEnabledboolean––
focusOverlayOffsetYnumber–Vertical offset of the focus overlay, as a percent of its height. Negative moves it up. Range is -1000 to 1000.
focusOverlayShadowBlurnumber––
focusOverlayShadowColorstring––
focusOverlayShadowEnabledboolean––
focusOverlayShadowOffsetXnumber––
focusOverlayShadowOffsetYnumber––
foldAmountnumber–Foldable devices and laptops only. iphone-duo: 0 is open flat, 1 is closed; imageUrl shows on the inner display. MacBooks (macbook-*): the lid, opening = 120 x (1 - foldAmount) degrees (0 fully open,…
hideCardOverflowboolean––
imageDisabledboolean––
imageRotationnumber–Old name of rotationZ; it sets rotationZ.
imageScalenumber––
imageUrlstring––
imageXnumber–Phone center, in pixels from the card center on the 500px-tall card.
imageYnumber–Phone center, in pixels from the card center on the 500px-tall card. Positive moves down.
outerImageUrlstring–Foldable devices (iphone-duo) only: the outer display's image URL (shows when folded). Empty string clears it.
phoneColorstring–This phone's own generic color (black, white, orange, silver, space-gray, blue, purple, red, green). Empty string follows the platform set's color.
rotationXnumber–Tilt in degrees (top away from the viewer). 3D frames only.
rotationYnumber–Turn in degrees (right side away from the viewer). 3D frames only.
rotationZnumber–The phone's rotation in degrees, on every frame (with no tilt it is a flat rotation).
screenshotIdstringyes–
shadowBlurnumber––
shadowColorstring––
shadowEnabledboolean––
shadowOffsetXnumber––
shadowOffsetYnumber––

No output schema declared.

No examples provided.

update_store_listing ~51

Update App Store or Google Play listing fields for the current language. Does not generate copy. Returns the names of the fields written.

NameTypeReqDescription
appStoreobject––
googlePlayobject––

No output schema declared.

No examples provided.

update_template_color ~100

Update one color of the open project's template. colorId must be one of the current template's colors: minimal (bg), gradient (from, via, to), geometric (bg, circle1, circle2), wave (from, to, wave), glass (from, to), connected (bg, dots). value is a CSS color such as #22c55e.

NameTypeReqDescription
colorIdstringyes–
valuestringyes–

No output schema declared.

No examples provided.

update_text ~271

Update a text layer on a screenshot in the open editor.

NameTypeReqDescription
alignstring––
backgroundColorstring––
borderColorstring––
borderRadiusnumber––
colorstring–CSS color, such as #ffffff
contentstring––
fontFamilystring–Font for the whole layer, such as Nunito: a built-in editor font or one added with add_project_font.
fontSizenumber–Font size in CSS pixels on the 500px-tall editor canvas.
fontWeightstring––
lineHeightnumber–Multiplier of the font size
rotationnumber––
screenshotIdstringyes–
textIdstringyes–
textShadowBlurnumber––
textShadowColorstring––
textShadowEnabledboolean––
textShadowOffsetXnumber––
textShadowOffsetYnumber––
xnumber–Layer center, in percent of the card width from the card center. 50 is the right edge.
ynumber–Layer center, in percent of the card height from the card center. 50 is the bottom edge.

No output schema declared.

No examples provided.

upload_image ~188

Prepare an image upload for the open project. Returns a one-time uploadUrl. POST the image as multipart form field "file" to that URL. The response JSON url is the stored image. Use it with update_screenshot imageUrl, add_asset src, set_project_background, or img src and CSS url() inside add_div or update_div html. For card images, use type asset. The link works once; if the POST fails, call this tool again. Pass base64 only when you cannot make that HTTP request.

NameTypeReqDescription
base64string–Optional raw base64 or data URL. Omit this and POST the file to uploadUrl.
filenamestringyesFile name, 1 to 120 characters, no path. Use a png, jpg, jpeg, or webp extension. For type asset, svg is also allowed.
typestringyes–

No output schema declared.

No examples provided.

Install

How do I install the AppScreenStudio MCP server?

AppScreenStudio is a hosted endpoint at https://www.appscreenstudio.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · www.appscreenstudio.com

# add to Claude Code
claude mcp add --transport http com-appscreenstudio-app-screen-studio 'https://www.appscreenstudio.com/api/mcp'
Common questions

What is the AppScreenStudio MCP server?

AppScreenStudio is an MCP server listed in the public MCP registry as com.appscreenstudio/app-screen-studio. Design App Store and Google Play screenshots with your AI agent in the AppScreenStudio editor. This page covers its hosted endpoint (https://www.appscreenstudio.com/api/mcp).

Is the AppScreenStudio MCP server safe to use?

AppScreenStudio scores 70 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the AppScreenStudio MCP server expose?

AppScreenStudio exposes 49 tools: get_editor_snapshot, update_text, add_text, remove_text, add_screenshot, and 44 more. Their descriptions and schemas cost roughly 6,631 tokens of context every time the server is loaded.

Does the AppScreenStudio MCP server require authentication?

Yes. AppScreenStudio asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the AppScreenStudio MCP server still maintained?

AppScreenStudio is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.