@capivv/mcp-server 0.5.10 → 0.5.11

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/dist/client.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Config } from './config.js';
2
- import type { App, Product, Entitlement, Offering, Rule, Experiment, ExperimentSummary, AnalyticsOverview, OnboardingResponse, ImportPreviewResponse, CreateAppRequest, CreateEntitlementRequest, CreateProductRequest, CreateOfferingRequest, CreateRuleRequest, ValidateRuleRequest, ValidateRuleResponse, WhoamiResponse, ApiKeyUsageResponse, Paywall, CreatePaywallRequest, UpdatePaywallRequest, PaywallStats, Promotion, CreatePromotionRequest, UpdatePromotionRequest, RescueFlow, CreateRescueFlowRequest, UpdateRescueFlowRequest, RescueStats, PricingStrategy, CreatePricingStrategyRequest, PricingPreviewResult, PricingRecomputeRequest, PricingRecomputeResult, PricingPushResult, PricingChangeRequest, SetCountryPriceOverrideRequest, ExperimentWithVariants, CreateExperimentRequest, UpdateExperimentRequest, UpdateAppRequest, UpdateEntitlementRequest, UpdateOfferingRequest, AutopilotRunResult, SyncSuggestion, SyncSuggestionsCount, TriggerSyncResult, IntegrationSummary, ConnectAppleIntegrationRequest, ConnectAppleIntegrationResult, ConnectGoogleIntegrationRequest, ConnectGoogleIntegrationResult, SetSubscriptionReviewScreenshotRequest, SetSubscriptionReviewScreenshotResult, SubscriptionStateInfo, TouchSubscriptionResult, ProbeSubmissionRequest, ProbeSubmissionResult, SetAppPrivacyUrlRequest, SetAppPrivacyUrlResult, SetIapReviewScreenshotRequest, SetIapReviewScreenshotResult } from './types.js';
2
+ import type { App, Product, Entitlement, Offering, Rule, Experiment, ExperimentSummary, AnalyticsOverview, OnboardingResponse, ImportPreviewResponse, CreateAppRequest, CreateEntitlementRequest, CreateProductRequest, CreateOfferingRequest, CreateRuleRequest, ValidateRuleRequest, ValidateRuleResponse, WhoamiResponse, ApiKeyUsageResponse, Paywall, CreatePaywallRequest, UpdatePaywallRequest, PaywallStats, Promotion, CreatePromotionRequest, UpdatePromotionRequest, RescueFlow, CreateRescueFlowRequest, UpdateRescueFlowRequest, RescueStats, PricingStrategy, CreatePricingStrategyRequest, PricingPreviewResult, PricingRecomputeRequest, PricingRecomputeResult, PricingPushResult, PricingChangeRequest, SetCountryPriceOverrideRequest, ExperimentWithVariants, CreateExperimentRequest, UpdateExperimentRequest, UpdateAppRequest, UpdateEntitlementRequest, UpdateOfferingRequest, AutopilotRunResult, SyncSuggestion, SyncSuggestionsCount, TriggerSyncResult, IntegrationSummary, ConnectAppleIntegrationRequest, ConnectAppleIntegrationResult, ConnectGoogleIntegrationRequest, ConnectGoogleIntegrationResult, SetSubscriptionReviewScreenshotRequest, SetSubscriptionReviewScreenshotResult, SubscriptionStateInfo, TouchSubscriptionResult, ProbeSubmissionRequest, ProbeSubmissionResult, SetAppPrivacyUrlRequest, SetAppPrivacyUrlResult, SetIapReviewScreenshotRequest, SetIapReviewScreenshotResult, IapStateInfo } from './types.js';
3
3
  export declare class ApiError extends Error {
4
4
  status: number;
5
5
  code: string;
@@ -97,4 +97,5 @@ export declare class CapivvClient {
97
97
  probeAppleSubmission(req: ProbeSubmissionRequest): Promise<ProbeSubmissionResult>;
98
98
  setAppPrivacyUrl(req: SetAppPrivacyUrlRequest): Promise<SetAppPrivacyUrlResult>;
99
99
  setIapReviewScreenshot(req: SetIapReviewScreenshotRequest): Promise<SetIapReviewScreenshotResult>;
100
+ getIapState(appleIapId: string): Promise<IapStateInfo>;
100
101
  }
package/dist/client.js CHANGED
@@ -362,4 +362,7 @@ export class CapivvClient {
362
362
  const { apple_iap_id, ...body } = req;
363
363
  return this.post(`/dashboard/iap/${encodeURIComponent(apple_iap_id)}/review-screenshot`, body);
364
364
  }
365
+ async getIapState(appleIapId) {
366
+ return this.get(`/dashboard/iap/${encodeURIComponent(appleIapId)}/state`);
367
+ }
365
368
  }
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { CapivvClient } from '../client.js';
3
+ export declare function registerGetIapStateTool(server: McpServer, client: CapivvClient): void;
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ export function registerGetIapStateTool(server, client) {
3
+ server.tool('capivv_get_iap_state', [
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
+ '',
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.',
7
+ '',
8
+ 'Get `apple_iap_id` from the `store_create.store_product_id` field of capivv_create_product or from App Store Connect.',
9
+ ].join(' '), {
10
+ apple_iap_id: z
11
+ .string()
12
+ .describe('Apple in-app purchase ID (e.g. "6765812345") — NOT the Capivv product UUID.'),
13
+ }, async ({ apple_iap_id }) => {
14
+ const result = await client.getIapState(apple_iap_id);
15
+ return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
16
+ });
17
+ }
@@ -78,6 +78,7 @@ import { registerTouchSubscriptionTool } from './touch-subscription.js';
78
78
  import { registerProbeSubmissionTool } from './probe-submission.js';
79
79
  import { registerSetAppPrivacyUrlTool } from './set-app-privacy-url.js';
80
80
  import { registerSetIapReviewScreenshotTool } from './set-iap-review-screenshot.js';
81
+ import { registerGetIapStateTool } from './get-iap-state.js';
81
82
  export function registerAllTools(server, client) {
82
83
  // Identity — call this first to verify which workspace you're connected to
83
84
  registerWhoamiTool(server, client);
@@ -198,4 +199,6 @@ export function registerAllTools(server, client) {
198
199
  registerProbeSubmissionTool(server, client);
199
200
  registerSetAppPrivacyUrlTool(server, client);
200
201
  registerSetIapReviewScreenshotTool(server, client);
202
+ // V0.5.11 — IAP state probe (mirror of get_subscription_state).
203
+ registerGetIapStateTool(server, client);
201
204
  }
package/dist/types.d.ts CHANGED
@@ -652,3 +652,11 @@ export interface SetIapReviewScreenshotResult {
652
652
  screenshot_id: string;
653
653
  bytes_uploaded: number;
654
654
  }
655
+ export interface IapStateInfo {
656
+ apple_iap_id: string;
657
+ product_id: string;
658
+ name: string | null;
659
+ state: string | null;
660
+ /** "CONSUMABLE" / "NON_CONSUMABLE". */
661
+ in_app_purchase_type: string | null;
662
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capivv/mcp-server",
3
- "version": "0.5.10",
3
+ "version": "0.5.11",
4
4
  "description": "MCP server for managing Capivv subscription platform via AI assistants",
5
5
  "type": "module",
6
6
  "bin": {