Metadata-Version: 2.4
Name: appstore-mockup-mcp
Version: 0.1.0
Summary: MCP server that wraps app screenshots in an iPhone 16 Pro frame with marketing text, producing App Store-ready preview images.
Project-URL: Homepage, https://github.com/rishabh-davesar/appstore-mockup-mcp
License: MIT
Keywords: app-store,iphone,marketing,mcp,mockup,screenshot
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: mcp>=1.0.0
Requires-Dist: pillow>=10.0.0
Requires-Dist: pydantic>=2.0.0
Description-Content-Type: text/markdown

# appstore-mockup-mcp

An MCP server that wraps app screenshots in an iPhone 16 Pro frame with marketing text above, producing App Store-ready preview images (1284×2778, accepted for the 6.5" slot in App Store Connect).

## Features

- Wraps any screenshot in a realistic iPhone 16 Pro frame (dark or silver)
- Adds bold headline + optional subtitle above the phone
- Vertical gradient or solid background
- Batch mode — process all screenshots in one call
- Theme picker built into the Claude conversation flow
- Warns if a source image is already a mockup (prevents phone-in-phone)

## Installation

```bash
uvx appstore-mockup-mcp
```

## Usage with Claude Code

Add to your `.mcp.json`:

```json
{
  "mcpServers": {
    "appstore-mockup": {
      "command": "uvx",
      "args": ["appstore-mockup-mcp"]
    }
  }
}
```

Then in Claude Code, just share your screenshots and ask:

> "Create App Store mockups for these screenshots"

Claude will ask you to pick a theme, propose captions, get your approval, then render everything.

## Tools

### `create_iphone_mockup`

Single screenshot → mockup.

| Param | Default | Description |
|-------|---------|-------------|
| `screenshot` | required | Absolute path to source PNG/JPG |
| `title` | required | Headline above the phone |
| `out` | required | Output path |
| `frame` | `silver` | `silver` or `dark` |
| `bg_color` | `#f5f1ea` | Hex or `#hex1,#hex2` for gradient |
| `text_color` | `#111111` | Hex |
| `subtitle` | `""` | Smaller line under headline |
| `size` | `1284x2778` | Output dimensions |
| `bleed` | `false` | Phone bleeds off bottom edge |
| `add_frame` | `true` | Set `false` if source already has a phone frame |

### `create_iphone_mockups_batch`

Same params, plus `jobs` list and `output_dir`. Each job can override any batch-level default.

## CLI usage

```bash
python -m appstore_mockup_mcp.core screenshot.png \
  --title "Find any car in seconds" \
  --subtitle "Search 10,000+ vehicles" \
  --out preview.png \
  --frame dark \
  --bg-top "#f97316" --bg-bottom "#1a0a00" \
  --text-color "#ffffff"
```

## Built-in themes

| Name | bg_color | text_color | frame |
|------|----------|------------|-------|
| Orange to Dark | `#f97316,#1a0a00` | `#ffffff` | dark |
| Soft Off-White | `#faf8f5` | `#111111` | silver |
| Midnight Black | `#0d0d0d,#1a1a1a` | `#ffffff` | dark |

## License

MIT
