enable_bundle_capability
Enable specific capabilities like iCloud, Push Notifications, or In-App Purchase for an App Store Connect bundle ID to configure app functionality.
Instructions
Enable a capability for a bundle ID
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bundleIdId | Yes | The ID of the bundle ID | |
| capabilityType | Yes | The type of capability to enable | |
| settings | No | Optional capability settings |
Implementation Reference
- src/handlers/bundles.ts:93-121 (handler)The core handler function enableBundleCapability that validates input, constructs the EnableCapabilityRequest, and posts to the App Store Connect /bundleIdCapabilities endpoint to enable the specified capability for a bundle ID.async enableBundleCapability(args: { bundleIdId: string; capabilityType: CapabilityType; settings?: CapabilitySetting[]; }): Promise<any> { const { bundleIdId, capabilityType, settings } = args; validateRequired(args, ['bundleIdId', 'capabilityType']); const requestBody: EnableCapabilityRequest = { data: { type: "bundleIdCapabilities", attributes: { capabilityType, settings }, relationships: { bundleId: { data: { id: bundleIdId, type: "bundleIds" } } } } }; return this.client.post('/bundleIdCapabilities', requestBody); }
- src/index.ts:574-619 (schema)Input schema definition for the enable_bundle_capability tool, specifying parameters like bundleIdId, capabilityType (with enum of possible capabilities), and optional settings.name: "enable_bundle_capability", description: "Enable a capability for a bundle ID", inputSchema: { type: "object", properties: { bundleIdId: { type: "string", description: "The ID of the bundle ID" }, capabilityType: { type: "string", description: "The type of capability to enable", enum: [ "ICLOUD", "IN_APP_PURCHASE", "GAME_CENTER", "PUSH_NOTIFICATIONS", "WALLET", "INTER_APP_AUDIO", "MAPS", "ASSOCIATED_DOMAINS", "PERSONAL_VPN", "APP_GROUPS", "HEALTHKIT", "HOMEKIT", "WIRELESS_ACCESSORY_CONFIGURATION", "APPLE_PAY", "DATA_PROTECTION", "SIRIKIT", "NETWORK_EXTENSIONS", "MULTIPATH", "HOT_SPOT", "NFC_TAG_READING", "CLASSKIT", "AUTOFILL_CREDENTIAL_PROVIDER", "ACCESS_WIFI_INFORMATION", "NETWORK_CUSTOM_PROTOCOL", "COREMEDIA_HLS_LOW_LATENCY", "SYSTEM_EXTENSION_INSTALL", "USER_MANAGEMENT", "APPLE_ID_AUTH" ] }, settings: { type: "array", description: "Optional capability settings", items: { type: "object", properties: { key: { type: "string", description: "The setting key" }, options: { type: "array", items: { type: "object", properties: { key: { type: "string" }, enabled: { type: "boolean" } } } } } } } }, required: ["bundleIdId", "capabilityType"] } },
- src/index.ts:1373-1375 (registration)Tool registration in the MCP server's CallToolRequest handler switch statement, mapping the tool name to the bundleHandlers.enableBundleCapability method.case "enable_bundle_capability": return { toolResult: await this.bundleHandlers.enableBundleCapability(args as any) };