@capivv/mcp-server 0.5.13 → 0.5.15

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.
@@ -3,7 +3,9 @@ export function registerGetIapStateTool(server, client) {
3
3
  server.tool('capivv_get_iap_state', [
4
4
  "Read an Apple in-app purchase's lifecycle state from App Store Connect. Mirror of capivv_get_subscription_state for IAPs (consumable / non-consumable).",
5
5
  '',
6
- 'Returns the IAP\'s current `state` (MISSING_METADATA, READY_TO_SUBMIT, WAITING_FOR_REVIEW, IN_REVIEW, APPROVED, etc.), the productId, name, and whether it\'s CONSUMABLE or NON_CONSUMABLE. Useful after capivv_create_product / capivv_set_iap_review_screenshot to confirm the IAP is no longer stuck in MISSING_METADATA.',
6
+ 'Returns the IAP\'s current `state` (MISSING_METADATA, READY_TO_SUBMIT, WAITING_FOR_REVIEW, IN_REVIEW, APPROVED, etc.), the productId, name, and whether it\'s CONSUMABLE or NON_CONSUMABLE.',
7
+ '',
8
+ "**state vs probe_submission — which to trust for 'is this ready?'**: the `state` field reflects Apple's RECORDED lifecycle (MISSING_METADATA can persist even when nothing is actually missing). For the question 'is this product ready, what's blocking?', trust capivv_probe_submission instead — it answers that question directly and returns awaiting_first_app_version when the only remaining gate is Apple's first-version policy.",
7
9
  '',
8
10
  'Get `apple_iap_id` from the `store_create.store_product_id` field of capivv_create_product or from App Store Connect.',
9
11
  ].join(' '), {
@@ -3,6 +3,8 @@ export function registerGetSubscriptionStateTool(server, client) {
3
3
  server.tool('capivv_get_subscription_state', [
4
4
  'Read the current Apple-side state of a subscription. Returns name, productId, and Apple\'s lifecycle state (MISSING_METADATA / READY_TO_SUBMIT / WAITING_FOR_REVIEW / IN_REVIEW / APPROVED / REJECTED / etc).',
5
5
  '',
6
+ "**state vs probe_submission — which to trust for 'is this ready?'**: the `state` field reflects Apple's RECORDED lifecycle (MISSING_METADATA can persist even when nothing is actually missing — the legacy mirror often lags). For the question 'is this product ready, what's blocking?', trust capivv_probe_submission instead — it answers that question directly and returns awaiting_first_app_version when the only remaining gate is Apple's 'first sub on a new app must ship with v1' policy.",
7
+ '',
6
8
  'Use this to verify a subscription is actually ready after capivv_create_product + capivv_set_subscription_review_screenshot. Apple\'s modern /v1/subscriptions and legacy /v1/inAppPurchases views can diverge — a subscription with all metadata + screenshot uploaded sometimes stays at MISSING_METADATA because the legacy mirror lags. Poll this every 30-60 seconds; if state doesn\'t progress within a few minutes, call capivv_touch_subscription or click Save in App Store Connect\'s web UI.',
7
9
  ].join(' '), {
8
10
  apple_subscription_id: z
@@ -1,7 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  export function registerProbeSubmissionTool(server, client) {
3
3
  server.tool('capivv_probe_submission', [
4
- 'Probe an Apple subscription or in-app purchase for what is still gating App Store submission.',
4
+ "Probe an Apple subscription or in-app purchase for what is still gating App Store submission. **This is the source of truth for 'is this product ready?'** — prefer this over capivv_get_subscription_state / capivv_get_iap_state when you want to know what's actually blocking submission, because Apple's recorded `state` field (MISSING_METADATA, etc.) often lags behind the real readiness.",
5
5
  '',
6
6
  "Apple's `*Submissions` endpoint reliably returns 409 on a brand-new product with an `errors` body that says exactly what's missing. This tool POSTs to `/v1/subscriptionSubmissions` (or `/v1/inAppPurchaseSubmissions`) and returns a structured result:",
7
7
  '- `ready`: submission accepted (rare on first probe; means metadata is complete).',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capivv/mcp-server",
3
- "version": "0.5.13",
3
+ "version": "0.5.15",
4
4
  "description": "MCP server for managing Capivv subscription platform via AI assistants",
5
5
  "type": "module",
6
6
  "bin": {