# com.appscreenshotstudio/mcp (npm · @appscreenshotstudio/mcp)

Generate App Store and Play Store screenshots from your coding agent, at exact store sizes.

- Trust score: 64/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-20

## Components

- npm · `@appscreenshotstudio/mcp`: 64/100 (this document), [markdown](https://verifymcp.io/servers/com-appscreenshotstudio-mcp/appscreenshotstudio-mcp.md), [page](https://verifymcp.io/servers/com-appscreenshotstudio-mcp/appscreenshotstudio-mcp)

## Channel facts

- Registry: `npm`
- Package: `@appscreenshotstudio/mcp`
- Version: `0.6.3`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-20.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 30 of 96 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 19/100
  - Repository check failed: no source repository is declared.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 60/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3707 tokens (~411/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add com-appscreenshotstudio-mcp -- npx -y @appscreenshotstudio/mcp
```

### Codex

```bash
codex mcp add com-appscreenshotstudio-mcp -- npx -y @appscreenshotstudio/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-appscreenshotstudio-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@appscreenshotstudio/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-appscreenshotstudio-mcp --command npx --arg -y --arg @appscreenshotstudio/mcp
```

### Hermes

```yaml
mcp_servers:
  com-appscreenshotstudio-mcp:
    command: "npx"
    args: ["-y", "@appscreenshotstudio/mcp"]
```

### Other

```json
{
  "mcpServers": {
    "com-appscreenshotstudio-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@appscreenshotstudio/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-20 (score 64, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-12 (score 60)

First indexed and scored.

## MCP tools (9)

### `generate-screenshots` (~1003 tokens)

Generate App Store Screenshots

Create a complete set of App Store screenshot designs for an app. Attach real app screenshots via the images param and they are placed inside the device frames automatically; attach a mascot/character image (kind: "mascot", transparent PNG) and it gets placed around the phones. Returns a project URL where the developer can preview, refine, and export final PNGs.

IMPORTANT: Before calling this tool, research the user's codebase to populate the codebase_context parameter. Search for: package.json/README (app name & description), theme/color config files (brand colors), route definitions (key screens), marketing copy (value proposition), and App Store metadata. The more context you provide, the better the screenshots will be. Call prepare-screenshot-brief first if you need a research checklist.

The AI picks a narrative arc that fits the app's sell angle (trust-first for finance/health, visual-first for creative/lifestyle, problem-first for pain-relief apps, numbers-led for SaaS/analytics, community-first for social, feature-forward for multi-mode apps) and assigns a job to each card: HOOK → EDUCATE → PROVE → CONVERT.

10 layout types available per card:
\- text-top-device-bottom: headline top, flat device bottom (feature/educate)
\- text-top-device-tilted: headline left, tilted device right (or mirrored)
\- device-hero: headline + large centered device, product-forward
\- social-proof: stars + quote + laurel stat, no device (testimonial-led)
\- review-clip: rating-statement headline + stars + quote + bottom-clipped device
\- screen-hero: top-clipped device + centered headline + optional trust stat
\- lifestyle-hero: full-bleed photo background + text overlay (no device)
\- stats-hero: giant centered stat(s), no device, numbers-led
\- metric-badge: centered device + chunky "achievement card" floating over its screen
\- annotated-feature: tilted device + side callout chip linked by a connector line

Each card can carry auto-positioned compound fields: statRow, laurelStat, press…

Input parameters:

- `app_description` (string, required): What the app does — 1-3 sentences
- `app_name` (string, required): Name of the app
- `brand_colors` (object): Brand colors to use in the design
- `codebase_context` (object): Context gathered from researching the app codebase. Dramatically improves screenshot quality — the more detail here, the better the output.
- `count` (number): Number of screenshot cards to generate (3-10). Default: 5
- `device_id` (string): Target device. Options: iphone-6.9, iphone-6.3, ipad-13, android-phone, android-tablet-10, android-tablet-large, apple-watch-ultra. Default: iphone-6.9 (iPhone 16 Pro Max)
- `features` (array): Key features in order of importance. The first 2-3 will be highlighted most prominently.
- `images` (array): Images to attach to this generation. App screenshots land inside the device frames automatically; a mascot gets placed around the phones. Both survive later edits and regenerations.
- `mood` (string): Design mood — e.g. "energetic", "calm", "minimal", "bold", "professional", "playful"
- `story_flow` (string): Narrative structure for the screenshots. "auto" lets the AI choose the best flow.

### `edit-screenshots` (~1184 tokens)

Edit Screenshot Designs

Make changes to an existing screenshot project. Use natural language to describe what you want to change. Costs 5 credits per edit. You can also attach images: app screenshots fill the device frames of regenerated cards, a mascot (kind: "mascot") gets placed around the phones.

What you can change:
\- Text: headlines, subtitles, badge text, font size, font family (Inter, Poppins, Montserrat, DM Sans, Space Grotesk, etc.)
\- Text styling: per-word color, bold, italic, underline, highlight pills (colored background behind words), gradient text, text stroke outlines
\- Colors: brand palette, gradient backgrounds, accent colors, text colors. A set can rotate MULTIPLE accents card by card ("pink, then coral, then brick") and each card keeps its own highlight colour.
\- Background textures (ask for one explicitly, they are never added on their own): diagonal-stripe, crosshatch, checkerboard, zigzag, hairline-grid, dot-grid, waves, grain, radial-rays, concentric-circles. Kept subtle by design so they cannot affect headline contrast. Tiled textures run continuously across the whole set; radial-rays and concentric-circles can be centred on the middle of the set so the pattern fans out across every card.
\- Layouts (10 types): text-top-device-bottom, text-top-device-tilted, device-hero, social-proof, review-clip, screen-hero, lifestyle-hero, stats-hero, metric-badge, annotated-feature. The AI picks a narrative arc (HOOK → EDUCATE → PROVE → CONVERT) across the set.
\- Layout params: deviceScale (small/medium/large), deviceSide (left/right), textPosition (above/below), textAlign (left/center)
\- Device mockups: perspective variants (flat, left-15, right-15, left-30, right-30, isometric, top-down, landscape-left, landscape-right), 2D rotation, resize, reposition
\- Frame color: recolor the device frame — "natural" (default), "black", "white", "gold". Examples: "make the iPhone gold", "black titanium finish", "white iPhone". Requires Growth plan or higher.
\- Switch devices: "make this f…

Input parameters:

- `card_indices` (array): Target specific cards by index (0-based). e.g. [0] for card 1, [2,3] for cards 3-4. Max 10 indices. Omit to apply changes to all cards.
- `codebase_context` (object): App context from codebase research. Helps the AI make edits that match the actual app.
- `images` (array): Images to attach to this generation. App screenshots land inside the device frames automatically; a mascot gets placed around the phones. Both survive later edits and regenerations.
- `message` (string, required): What to change — use natural language
- `project_id` (string, required): Project ID from a previous generate-screenshots call

### `render-screenshots` (~149 tokens)

Render Screenshots to PNG

Export a screenshot project to high-resolution PNG files at exact App Store dimensions. Returns download URLs for each card; URLs stay valid for 7 days, so save the PNGs to disk promptly (re-rendering is free if a URL has expired). Free (no credit cost). Rendering blocks until the PNGs are ready: expect roughly 20-40s for iPhone sets and 60-120s for iPad (the larger canvas renders slower), so allow up to ~2 minutes before treating it as failed. Note: device mockups will show empty frames unless app screenshots have been uploaded via upload-screenshots first.

Input parameters:

- `project_id` (string, required): Project ID to render

### `list-devices` (~30 tokens)

List Supported Devices

Show all supported device specs for App Store and Play Store screenshots. Use the device ID when generating screenshots.

### `get-project` (~332 tokens)

Get Project Details

Retrieve the full state of a screenshot project, including all cards and their elements. Use this to inspect what was generated before making edits. Free — no credit cost.

Returns the canvas state with:
\- cards[]: each card has an id, elements array, and optional background settings
\- Each element has: type (text, device-mockup, shape, badge, image, star-rating), position (x, y), size (width, height), zIndex, and type-specific properties
\- Text elements: fontFamily, fontSize, fontWeight, color, segments (for multi-color text with per-word color, bold, italic, underline, highlightColor)
\- Device mockups: perspectiveVariant (flat, left-15, right-15, left-30, right-30, isometric, top-down, landscape-left, landscape-right), screenshotImage (null if no upload), frameStyle (realistic | none), showIsland (false hides the Dynamic Island pill; Apple accepts screenshots either way)
\- Shapes: 94 shape types (17 core + 77 decorative across 13 categories) — core shapes (circle, rectangle, rounded-rect, blob, wave, triangle, diamond, hexagon, ring, star, wing-left, wing-right, etc.) plus decorative library shapes (leaf, flower, cloud, sparkle, heart, rocket, trophy, crown, coffee-cup, airplane, dollar-sign, paw-print, and many more)
\- projectMeta: globalVisualTheme, brandColors, mood, appCategory

Input parameters:

- `project_id` (string, required): Project ID to inspect

### `generate-background` (~182 tokens)

Generate AI Background

Generate an AI background image for a specific card using Gemini. The background is generated based on a text prompt and applied directly to the card. Costs 6 credits.

Good prompts describe mood, lighting, and color — not objects or text:
\- "Deep purple nebula with soft pink and blue light rays"
\- "Warm sunset gradient with golden bokeh particles"
\- "Dark moody atmosphere with teal and emerald glow"
\- "Clean minimal white-to-light-gray gradient with subtle noise texture"

The generated image is cropped to exact device dimensions and set as the card's background.

Input parameters:

- `card_index` (number, required): Card index (0-based) to apply the background to
- `project_id` (string, required): Project ID
- `prompt` (string, required): Background description — describe mood, lighting, colors, textures. Do NOT include text, devices, or UI elements.

### `generate-panoramic-background` (~337 tokens)

Generate Panoramic Background

Generate one wide background image and slice it across multiple cards so they read as a continuous scene when the App Store gallery scrolls. The store gallery gap is accounted for, so slices line up after Apple's gutter.

Two image sources:
\- prompt: AI-generated via Gemini. Costs 6 credits.
\- pexels_query: stock landscape photo from Pexels. Free.

If you omit both, the tool fulfills a panoramic the chat already set up: when generate-screenshots or edit-screenshots returns a design with a panoramic background (e.g. after "pano the background across cards 1-3"), the cards are tagged but the wide image isn't created yet. Calling this tool with just the project_id picks up that pending panoramic and generates it.

Good prompts describe a continuous scene, not objects or text:
\- "Misty mountain range at dawn, soft pink-to-blue gradient sky"
\- "Calm ocean horizon at golden hour with gentle waves"
\- "Abstract flowing emerald and teal silk waves"

Input parameters:

- `card_indices` (array): Which cards share the panoramic (0-based, min 2). Default: first 3 cards (the ones visible in the App Store gallery without scrolling).
- `pexels_query` (string): Stock photo search query (Pexels, free). e.g. "mountain sunrise", "ocean horizon". Provide either this or prompt, not both.
- `project_id` (string, required): Project ID
- `prompt` (string): AI scene description (Gemini, 6 credits). Describe one continuous landscape scene: no text, devices, or UI.

### `prepare-screenshot-brief` (~255 tokens)

Prepare Screenshot Brief

Get a category playbook and repo-research checklist to prepare for screenshot generation. Call this BEFORE generate-screenshots. Free (no credits).

Pass app_category to get category-specific guidance pulled live from AppScreenshotStudio: the frame-1 hook playbook (default layout, what to avoid, caption patterns), the recommended story_flow and mood, and the exact facts to dig out of THIS app's repo for its category (e.g. security and compliance signals for finance, real gameplay art for games, the outcome for fitness).

Returns:
\- A category playbook (frame-1 hooks + layout + arc + mood) for the app_category
\- A category-specific repo research focus (what to grep this app for)
\- A generic codebase research checklist (file patterns per tech stack)
\- Headline tips + the codebase_context schema to fill in

The more you gather here, the better generate-screenshots does on the first try.

Input parameters:

- `app_category` (string): App category, e.g. fitness, finance, gaming, social, productivity, health, travel, wellness. Drives the category playbook this tool returns; synonyms are normalized server-side.
- `platform` (string): Target platform

### `upload-screenshots` (~235 tokens)

Upload App Screenshots

Upload local app screenshots (from Simulator, emulator, or screen captures) into the device mockups of an existing project. This lets you add real app UI into the device frames without leaving the terminal.

Reads files from your local filesystem, converts them to base64, and sets them on the device mockup elements in the specified cards.

Free — no credit cost. The screenshots are placed into the device frames that were created by generate-screenshots.

Workflow:
1\. generate-screenshots → creates project with empty device frames
2\. upload-screenshots → fills the device frames with your actual app UI
3\. render-screenshots → exports final PNGs at App Store dimensions

Tips:
\- Take screenshots from the iOS Simulator (Cmd+S) or Android emulator
\- Use PNG format for best quality
\- Screenshots are automatically fitted into the device frame
\- You can upload different screenshots to different cards

Input parameters:

- `project_id` (string, required): Project ID from a previous generate-screenshots call
- `screenshots` (array, required): Array of screenshots to upload, each mapped to a specific card index

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/com-appscreenshotstudio-mcp/appscreenshotstudio-mcp#diagnostics

## Score history

- 2026-08-20: 64
- 2026-08-19: 60
- 2026-08-18: 60
- 2026-08-17: 60
- 2026-08-16: 60
- 2026-08-15: 60
- 2026-08-14: 60
- 2026-08-13: 60
- 2026-08-12: 60

## Links

- npm package: https://www.npmjs.com/package/@appscreenshotstudio/mcp
- Socket report: https://socket.dev/npm/package/@appscreenshotstudio/mcp
- Changelog RSS feed: https://verifymcp.io/servers/com-appscreenshotstudio-mcp/appscreenshotstudio-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-appscreenshotstudio-mcp/appscreenshotstudio-mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-appscreenshotstudio-mcp/appscreenshotstudio-mcp
