appstore-api-mcp 1.16.0 → 1.16.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/CHANGELOG.md +17 -0
- package/package.json +1 -1
- package/src/index.js +20 -4
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,23 @@ All notable changes to this project are documented here. The format follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/) and the project uses
|
|
5
5
|
[Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [1.16.2] - 2026-10-08
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
- `list_webhook_deliveries`: the `filter[createdDateGreaterThanOrEqualTo]` default
|
|
11
|
+
sent a plain `YYYY-MM-DD`, which the API rejects ("cannot be parsed as a
|
|
12
|
+
date-time. Expected ISO 8601 date-time"). Now sends a full ISO 8601 date-time.
|
|
13
|
+
(Follow-up to the 1.16.1 filter fix; found by a live create→list→delete probe.)
|
|
14
|
+
|
|
15
|
+
## [1.16.1] - 2026-10-07
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
- `list_webhook_deliveries` returned `400 PARAMETER_ERROR.INVALID` ("Filter is
|
|
19
|
+
required") — the deliveries endpoint requires exactly one filter, which the
|
|
20
|
+
tool wasn't sending. It now sends `filter[deliveryState]` (when provided) or
|
|
21
|
+
defaults to `filter[createdDateGreaterThanOrEqualTo]` (last 30 days). Found via
|
|
22
|
+
a live webhook create→ping→delete round-trip.
|
|
23
|
+
|
|
7
24
|
## [1.16.0] - 2026-10-07
|
|
8
25
|
|
|
9
26
|
### Added — App Store marketing & growth (recent ASC features)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appstore-api-mcp",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.2",
|
|
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).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/src/index.js
CHANGED
|
@@ -5430,14 +5430,30 @@ ${a.teamId ? `<key>teamID</key><string>${a.teamId}</string>\n` : ""}<key>uploadS
|
|
|
5430
5430
|
},
|
|
5431
5431
|
{
|
|
5432
5432
|
name: "list_webhook_deliveries",
|
|
5433
|
-
description:
|
|
5433
|
+
description:
|
|
5434
|
+
"List delivery attempts for a webhook (status, timestamps, error) — useful for debugging a misbehaving endpoint. The API requires exactly ONE filter: pass deliveryState (SUCCEEDED, FAILED, or PENDING) OR sinceDate (YYYY-MM-DD). Defaults to deliveries created in the last 30 days.",
|
|
5434
5435
|
inputSchema: {
|
|
5435
5436
|
type: "object",
|
|
5436
|
-
properties: {
|
|
5437
|
+
properties: {
|
|
5438
|
+
id: { type: "string" },
|
|
5439
|
+
deliveryState: { type: "string", description: "SUCCEEDED, FAILED, or PENDING" },
|
|
5440
|
+
sinceDate: { type: "string", description: "YYYY-MM-DD — deliveries created on/after this date" },
|
|
5441
|
+
limit: { type: "number", description: "Max (default 50)" },
|
|
5442
|
+
},
|
|
5437
5443
|
required: ["id"],
|
|
5438
5444
|
},
|
|
5439
5445
|
run: async (a) => {
|
|
5440
|
-
|
|
5446
|
+
// The deliveries endpoint rejects a filter-less query (400 "Filter is
|
|
5447
|
+
// required and only one must be provided"), so always send exactly one.
|
|
5448
|
+
const query = { limit: a.limit ?? 50 };
|
|
5449
|
+
if (a.deliveryState) query["filter[deliveryState]"] = a.deliveryState;
|
|
5450
|
+
else {
|
|
5451
|
+
// The createdDate filter needs a full ISO 8601 date-TIME, not just a date.
|
|
5452
|
+
const d = a.sinceDate ? new Date(a.sinceDate) : new Date(Date.now() - 30 * 86400000);
|
|
5453
|
+
if (Number.isNaN(d.getTime())) return { error: `Invalid sinceDate: ${a.sinceDate}` };
|
|
5454
|
+
query["filter[createdDateGreaterThanOrEqualTo]"] = d.toISOString();
|
|
5455
|
+
}
|
|
5456
|
+
const data = await client.getAll(`/webhooks/${a.id}/deliveries`, query, 3);
|
|
5441
5457
|
return data.map((x) => ({ id: x.id, ...x.attributes }));
|
|
5442
5458
|
},
|
|
5443
5459
|
},
|
|
@@ -5722,7 +5738,7 @@ Some things a great App Store listing needs live OUTSIDE App Store Connect and c
|
|
|
5722
5738
|
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.`;
|
|
5723
5739
|
|
|
5724
5740
|
const server = new Server(
|
|
5725
|
-
{ name: "appstore-api-mcp", version: "1.16.
|
|
5741
|
+
{ name: "appstore-api-mcp", version: "1.16.2" },
|
|
5726
5742
|
{ capabilities: { tools: {} }, instructions: SERVER_INSTRUCTIONS },
|
|
5727
5743
|
);
|
|
5728
5744
|
|