@appscreenshotstudio/mcp 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -5
- package/dist/index.js +23 -0
- package/package.json +2 -1
- package/skills/appscreenshotstudio/SKILL.md +104 -0
package/README.md
CHANGED
|
@@ -44,9 +44,15 @@ Add to your MCP config (`.cursor/mcp.json`, `settings.json`, etc.):
|
|
|
44
44
|
|
|
45
45
|
## Tools
|
|
46
46
|
|
|
47
|
+
### `prepare-screenshot-brief`
|
|
48
|
+
|
|
49
|
+
Get a research checklist and strategy guide before generating. Returns file patterns to search for across tech stacks, story flow recommendations per app category, headline tips, and the `codebase_context` schema to fill in.
|
|
50
|
+
|
|
51
|
+
**Free — no API call or credits.**
|
|
52
|
+
|
|
47
53
|
### `generate-screenshots`
|
|
48
54
|
|
|
49
|
-
Create a complete set of App Store screenshots.
|
|
55
|
+
Create a complete set of App Store screenshots. The agent researches your codebase first, then passes rich context for accurate, app-specific designs.
|
|
50
56
|
|
|
51
57
|
| Parameter | Type | Required | Description |
|
|
52
58
|
|---|---|---|---|
|
|
@@ -58,9 +64,27 @@ Create a complete set of App Store screenshots. One tool call = one full project
|
|
|
58
64
|
| `device_id` | string | No | Target device (default: `iphone-6.9`) |
|
|
59
65
|
| `count` | number | No | Number of cards, 3-10 (default: 5) |
|
|
60
66
|
| `story_flow` | string | No | Narrative structure (default: `auto`) |
|
|
67
|
+
| `codebase_context` | object | No | App context from codebase research (see below) |
|
|
61
68
|
|
|
62
69
|
**Costs 5 credits.**
|
|
63
70
|
|
|
71
|
+
#### `codebase_context`
|
|
72
|
+
|
|
73
|
+
Pass this for dramatically better screenshots. The context is persisted on the project and used in all subsequent chats.
|
|
74
|
+
|
|
75
|
+
| Field | Description |
|
|
76
|
+
|---|---|
|
|
77
|
+
| `readme_summary` | App overview from README or docs |
|
|
78
|
+
| `key_screens` | Main screens/views (e.g. "Dashboard", "Settings") |
|
|
79
|
+
| `color_tokens` | Brand colors from theme files (e.g. `{ "primary": "#7C3AED" }`) |
|
|
80
|
+
| `target_audience` | Who the app is for |
|
|
81
|
+
| `app_category` | fitness, finance, social, productivity, etc. |
|
|
82
|
+
| `competitive_edge` | What makes it unique |
|
|
83
|
+
| `app_store_description` | Existing store listing if found |
|
|
84
|
+
| `tech_stack` | React Native, SwiftUI, Flutter, etc. |
|
|
85
|
+
| `ui_style` | "dark mode with neon accents", "clean minimal", etc. |
|
|
86
|
+
| `primary_user_flow` | Main user journey through the app |
|
|
87
|
+
|
|
64
88
|
### `edit-screenshots`
|
|
65
89
|
|
|
66
90
|
Make changes to an existing project with natural language. Optionally target specific cards.
|
|
@@ -70,6 +94,7 @@ Make changes to an existing project with natural language. Optionally target spe
|
|
|
70
94
|
| `project_id` | string | Yes | From a previous `generate-screenshots` call |
|
|
71
95
|
| `message` | string | Yes | What to change |
|
|
72
96
|
| `card_indices` | number[] | No | Target specific cards by index (0-based). Omit to edit all. |
|
|
97
|
+
| `codebase_context` | object | No | App context to enrich the edit (same schema as above) |
|
|
73
98
|
|
|
74
99
|
**Costs 5 credits.**
|
|
75
100
|
|
|
@@ -111,6 +136,28 @@ Show all supported device specs. No API call needed.
|
|
|
111
136
|
|
|
112
137
|
**Free.**
|
|
113
138
|
|
|
139
|
+
## Prompts
|
|
140
|
+
|
|
141
|
+
MCP prompts are pre-defined workflows your agent can follow.
|
|
142
|
+
|
|
143
|
+
### `create-app-screenshots`
|
|
144
|
+
|
|
145
|
+
Full guided workflow: research the codebase, generate screenshots with rich context, iterate, and export. Best results when used from within the app's project directory.
|
|
146
|
+
|
|
147
|
+
| Argument | Default | Description |
|
|
148
|
+
|---|---|---|
|
|
149
|
+
| `platform` | ios | "ios", "android", or "both" |
|
|
150
|
+
| `extra_instructions` | none | Additional instructions like "use dark theme" |
|
|
151
|
+
|
|
152
|
+
### `improve-screenshots`
|
|
153
|
+
|
|
154
|
+
Research the codebase and improve an existing screenshot project. Compares current designs to the actual app and makes targeted fixes.
|
|
155
|
+
|
|
156
|
+
| Argument | Required | Description |
|
|
157
|
+
|---|---|---|
|
|
158
|
+
| `project_id` | Yes | Project ID to improve |
|
|
159
|
+
| `focus` | No | What to focus on: "headlines", "colors", "story flow", etc. |
|
|
160
|
+
|
|
114
161
|
## Supported Devices
|
|
115
162
|
|
|
116
163
|
| ID | Name | Size | Required |
|
|
@@ -133,10 +180,11 @@ The AI generates professional screenshots using:
|
|
|
133
180
|
|
|
134
181
|
## Workflow
|
|
135
182
|
|
|
136
|
-
1. **
|
|
137
|
-
2. **
|
|
138
|
-
3. **
|
|
139
|
-
4. **
|
|
183
|
+
1. **Research** — Agent calls `prepare-screenshot-brief`, then searches your codebase for app name, features, colors, screens, and audience
|
|
184
|
+
2. **Generate** — Agent calls `generate-screenshots` with `codebase_context` for app-specific designs
|
|
185
|
+
3. **Iterate** — Agent calls `edit-screenshots` to refine (codebase context carries over automatically)
|
|
186
|
+
4. **Upload** — Open the project URL, upload your actual app screenshots into the device mockups
|
|
187
|
+
5. **Export** — Agent calls `render-screenshots` or click "Download All" in the web app
|
|
140
188
|
|
|
141
189
|
## Security
|
|
142
190
|
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
4
|
import { z } from 'zod';
|
|
5
|
+
import { existsSync, mkdirSync, copyFileSync } from 'node:fs';
|
|
6
|
+
import { join, dirname } from 'node:path';
|
|
7
|
+
import { homedir } from 'node:os';
|
|
8
|
+
import { fileURLToPath } from 'node:url';
|
|
9
|
+
// ─── CLI: install-skill ─────────────────────────────────────────────────────────
|
|
10
|
+
const args = process.argv.slice(2);
|
|
11
|
+
if (args[0] === 'install-skill') {
|
|
12
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
const src = join(__dirname, '..', 'skills', 'appscreenshotstudio', 'SKILL.md');
|
|
14
|
+
const destDir = join(homedir(), '.claude', 'skills', 'appscreenshotstudio');
|
|
15
|
+
const dest = join(destDir, 'SKILL.md');
|
|
16
|
+
if (!existsSync(src)) {
|
|
17
|
+
console.error('Error: SKILL.md not found in package. Try reinstalling @appscreenshotstudio/mcp.');
|
|
18
|
+
process.exit(1);
|
|
19
|
+
}
|
|
20
|
+
mkdirSync(destDir, { recursive: true });
|
|
21
|
+
copyFileSync(src, dest);
|
|
22
|
+
console.log('Skill installed to ~/.claude/skills/appscreenshotstudio/SKILL.md');
|
|
23
|
+
console.log('');
|
|
24
|
+
console.log('You can now use /appscreenshotstudio in Claude Code to generate screenshots.');
|
|
25
|
+
console.log('Make sure the MCP server is also configured in your Claude Code settings.');
|
|
26
|
+
process.exit(0);
|
|
27
|
+
}
|
|
5
28
|
const API_BASE = process.env.APPSCREENSHOTSTUDIO_URL || 'https://appscreenshotstudio.com';
|
|
6
29
|
const API_KEY = process.env.APPSCREENSHOTSTUDIO_API_KEY;
|
|
7
30
|
// ─── Devices (mirrors lib/device-specs.ts) ─────────────────────────────────────
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appscreenshotstudio/mcp",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "MCP server for generating App Store screenshots via AppScreenshotStudio",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"files": [
|
|
41
41
|
"dist",
|
|
42
|
+
"skills",
|
|
42
43
|
"README.md"
|
|
43
44
|
]
|
|
44
45
|
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: appscreenshotstudio
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: Generate App Store screenshots by researching the codebase and calling AppScreenshotStudio MCP tools. Use when the user mentions "screenshots", "App Store", "Play Store", "store listing", or wants to create marketing screenshots for their app.
|
|
5
|
+
allowed_tools:
|
|
6
|
+
- Read
|
|
7
|
+
- Glob
|
|
8
|
+
- Grep
|
|
9
|
+
- Bash
|
|
10
|
+
- WebFetch
|
|
11
|
+
- AskUserQuestion
|
|
12
|
+
argument-hint: [app name or description]
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# App Store Screenshot Generator
|
|
16
|
+
|
|
17
|
+
You generate production-ready App Store / Play Store screenshots by researching the user's codebase and calling the AppScreenshotStudio MCP tools.
|
|
18
|
+
|
|
19
|
+
## Workflow
|
|
20
|
+
|
|
21
|
+
### Step 1: Research the Codebase
|
|
22
|
+
|
|
23
|
+
Before generating, thoroughly research the app. This context dramatically improves output quality.
|
|
24
|
+
|
|
25
|
+
**Find and read these files:**
|
|
26
|
+
|
|
27
|
+
- **App identity**: `README.md`, `package.json`, `Cargo.toml`, `pubspec.yaml`, `build.gradle`
|
|
28
|
+
- **Brand colors**: `tailwind.config.*` (colors/theme), `**/theme.*`, `**/colors.*`, `**/palette.*`
|
|
29
|
+
- SwiftUI: search for `Color(` or `.accentColor`
|
|
30
|
+
- Flutter: search for `ThemeData`, `primarySwatch`, `colorScheme`
|
|
31
|
+
- **Key screens**: route/page files, navigation definitions, tab bars
|
|
32
|
+
- React/Next.js: `app/`, `pages/`, route files
|
|
33
|
+
- SwiftUI: `NavigationView`, `TabView`, `View` structs
|
|
34
|
+
- Flutter: `MaterialPageRoute`, `GoRouter`
|
|
35
|
+
- React Native: `createStackNavigator`, `Screen`
|
|
36
|
+
- **Store metadata**: `Info.plist`, fastlane `metadata/`, `AndroidManifest.xml`
|
|
37
|
+
- **Marketing copy**: landing pages, about pages, existing descriptions
|
|
38
|
+
|
|
39
|
+
**Build this context object:**
|
|
40
|
+
```
|
|
41
|
+
readme_summary: What the app does (2-3 sentences)
|
|
42
|
+
key_screens: ["Dashboard with activity feed", "Settings page", ...]
|
|
43
|
+
color_tokens: {"primary": "#hex", "secondary": "#hex"}
|
|
44
|
+
target_audience: Who it's for
|
|
45
|
+
app_category: fitness|finance|social|productivity|food|travel|health|education
|
|
46
|
+
competitive_edge: What makes it unique
|
|
47
|
+
ui_style: "dark mode with neon accents" or "clean minimal"
|
|
48
|
+
primary_user_flow: "Sign up → Create project → Track progress"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Step 2: Confirm with the User
|
|
52
|
+
|
|
53
|
+
Present your findings and ask:
|
|
54
|
+
- "I found these as your main features: [X, Y, Z]. Are these the top 3-5 to highlight?"
|
|
55
|
+
- "Your brand colors appear to be [primary, secondary]. Should I use these?"
|
|
56
|
+
- "What mood fits? Options: energetic, calm, professional, playful, minimal, bold, warm, dark"
|
|
57
|
+
- "How many screenshots? (3-10, default 5)"
|
|
58
|
+
|
|
59
|
+
### Step 3: Generate Screenshots
|
|
60
|
+
|
|
61
|
+
Call the `generate-screenshots` MCP tool with:
|
|
62
|
+
- `app_name`: from package.json or user input
|
|
63
|
+
- `app_description`: from README or user description
|
|
64
|
+
- `features`: top 3-5 features as array
|
|
65
|
+
- `brand_colors`: `{ primary, secondary?, accent? }` from theme files
|
|
66
|
+
- `mood`: user's chosen mood
|
|
67
|
+
- `device_id`: `"iphone-6.9"` (default), `"ipad-13"`, `"android-phone"`, `"android-tablet-10"`
|
|
68
|
+
- `count`: number of cards (3-10)
|
|
69
|
+
- `story_flow`: `"auto"` (default), `"hero-intro"`, `"problem-solution"`, `"benefit-first"`, etc.
|
|
70
|
+
- `codebase_context`: the full context object from Step 1
|
|
71
|
+
|
|
72
|
+
### Step 4: Review and Iterate
|
|
73
|
+
|
|
74
|
+
Share the project URL and offer refinements using `edit-screenshots`:
|
|
75
|
+
- "Want to change any headlines or colors?"
|
|
76
|
+
- "Should I add a social proof card with ratings?"
|
|
77
|
+
- "Want to try a different layout style?"
|
|
78
|
+
|
|
79
|
+
### Step 5: Export
|
|
80
|
+
|
|
81
|
+
Call `render-screenshots` to export PNGs at exact App Store dimensions. This is free.
|
|
82
|
+
|
|
83
|
+
## Headline Rules
|
|
84
|
+
|
|
85
|
+
Headlines must pass the "one second test" — readable at thumbnail size.
|
|
86
|
+
|
|
87
|
+
**Three styles:**
|
|
88
|
+
1. Paint a moment: "Morning runs handled", "Your kitchen simplified"
|
|
89
|
+
2. State an outcome: "Never miss a workout", "Inbox zero daily"
|
|
90
|
+
3. Eliminate a pain: "No more forgotten tasks", "Ditch the spreadsheet"
|
|
91
|
+
|
|
92
|
+
**Banned:** feature lists, "and"-joined phrases, starting with "The", vague aspirational fluff.
|
|
93
|
+
|
|
94
|
+
## Credit Costs
|
|
95
|
+
|
|
96
|
+
| Tool | Cost |
|
|
97
|
+
|------|------|
|
|
98
|
+
| generate-screenshots | 5 credits |
|
|
99
|
+
| edit-screenshots | 5 credits |
|
|
100
|
+
| generate-background | 6 credits |
|
|
101
|
+
| render-screenshots | free |
|
|
102
|
+
| prepare-screenshot-brief | free |
|
|
103
|
+
| list-devices | free |
|
|
104
|
+
| get-project | free |
|