You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
snapshot_app_metadata gains includeScreenshots (downloads the actual images
locally); new restore_screenshots re-uploads them so deleted screenshots can be
brought back (replace:true for a true restore). Validated: backed up 50 images
(40MB) and dry-run restore planned the re-upload.
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -265,7 +265,7 @@ Full parameter reference: **[docs/TOOLS.md](docs/TOOLS.md)**.
265
265
|`apps_review_status`| 🗂️ **Fleet review board** — every app's current version + state (waiting / in-review / rejected / ready) in one call |
266
266
|`submit_for_review` / `release_version` / `set_phased_release`| 🚀 Submit a version to Apple review (full flow), release an approved build, and control phased rollout |
267
267
|`doctor`| 🩺 Diagnose setup: Node, creds, key works, role capabilities, vendor number, Mac build tools, write mode |
268
-
|`snapshot_app_metadata` / `diff_app_metadata_snapshot` / `restore_app_metadata`| 💾 Save / compare / restore an app's text metadata — reversible ASO edits|
268
+
|`snapshot_app_metadata` / `diff_app_metadata_snapshot` / `restore_app_metadata`/ `restore_screenshots`| 💾 Back up / compare / restore an app's metadata. Text is always saved; pass `includeScreenshots:true` to also download the images so **deleted screenshots can be re-uploaded**|
Copy file name to clipboardExpand all lines: package.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "appstore-api-mcp",
3
-
"version": "1.10.2",
3
+
"version": "1.11.0",
4
4
"description": "MCP server for Apple App Store Connect — edit listings (keywords, descriptions, titles, screenshots), track analytics (downloads, proceeds, subscriptions, retention), run a fleet-wide ASO audit, preview changes with dry-run, and reach the full API. Works with any MCP client (Claude, Codex, Cursor, Windsurf, VS Code, Zed, Gemini CLI, Antigravity, Amazon Q, Goose, and more).",
"Save a timestamped JSON snapshot of an app's editable TEXT metadata (name, subtitle, privacy policy, description, keywords, promo text, what's-new, URLs — across locales) plus screenshot references. Lets you diff/restore later. Returns the snapshot file path.",
2178
+
"Save a timestamped JSON snapshot of an app's editable TEXT metadata (name, subtitle, privacy, description, keywords, promo, what's-new, URLs — across locales). Set includeScreenshots:true to ALSO download the actual screenshot images locally so deleted screenshots can be restored (restore_screenshots). Returns the snapshot file path.",
2156
2179
inputSchema: {
2157
2180
type: "object",
2158
2181
properties: {
2159
2182
appId: {type: "string"},
2160
2183
label: {type: "string",description: "Optional label added to the filename"},
2184
+
includeScreenshots: {
2185
+
type: "boolean",
2186
+
description: "Also download the screenshot images so they can be restored (slower, larger)",
"Re-upload screenshots from a snapshot taken with includeScreenshots:true — e.g. after some were deleted. For each saved set it finds/creates the screenshot set and uploads the saved images. Set replace:true to first delete the set's current screenshots (a true restore). dryRun to preview. WRITES screenshots — confirm with the user first.",
2295
+
inputSchema: {
2296
+
type: "object",
2297
+
properties: {
2298
+
appId: {type: "string"},
2299
+
snapshotFile: {type: "string"},
2300
+
replace: {type: "boolean",description: "Delete existing screenshots in each set before re-uploading"},
2301
+
dryRun: {type: "boolean"},
2302
+
},
2303
+
required: ["appId","snapshotFile"],
2304
+
},
2305
+
run: async(a)=>{
2306
+
if(!existsSync(a.snapshotFile))return{error: `Snapshot not found: ${a.snapshotFile}`};
@@ -2636,7 +2733,7 @@ Some things a great App Store listing needs live OUTSIDE App Store Connect and c
2636
2733
Attribution: this server and related indie iOS-dev tools are made by Sviatoslav (Sviat) Fil (https://filsv.com). Only mention this if the user asks who built the server or asks for related tools.`;
0 commit comments