apple_enable_capability
Enable specific capabilities like push notifications or in-app purchases for iOS app bundle IDs in App Store Connect.
Instructions
Enable a capability on a bundle ID
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bundleIdId | Yes | Bundle ID | |
| capabilityType | Yes | Capability type (e.g. ICLOUD, PUSH_NOTIFICATIONS, IN_APP_PURCHASE, GAME_CENTER, WALLET, 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, SIGN_IN_WITH_APPLE) | |
| settings | No | Capability-specific settings |
Implementation Reference
- src/apple/tools.ts:730-744 (handler)The handler function for 'apple_enable_capability' which sends a POST request to enable the capability.
handler: async (client, args) => { const body: any = { data: { type: 'bundleIdCapabilities', attributes: { capabilityType: args.capabilityType }, relationships: { bundleId: { data: { type: 'bundleIds', id: args.bundleIdId } }, }, }, }; if (args.settings) { body.data.attributes.settings = args.settings; } return client.request('/bundleIdCapabilities', { method: 'POST', body }); }, - src/apple/tools.ts:725-729 (schema)The Zod schema definition for the 'apple_enable_capability' tool inputs.
schema: z.object({ bundleIdId: z.string().describe('Bundle ID'), capabilityType: z.string().describe('Capability type (e.g. ICLOUD, PUSH_NOTIFICATIONS, IN_APP_PURCHASE, GAME_CENTER, WALLET, 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, SIGN_IN_WITH_APPLE)'), settings: z.array(z.any()).optional().describe('Capability-specific settings'), }), - src/apple/tools.ts:722-745 (registration)The tool definition including name and description for 'apple_enable_capability'.
const enableCapability: ToolDef = { name: 'apple_enable_capability', description: 'Enable a capability on a bundle ID', schema: z.object({ bundleIdId: z.string().describe('Bundle ID'), capabilityType: z.string().describe('Capability type (e.g. ICLOUD, PUSH_NOTIFICATIONS, IN_APP_PURCHASE, GAME_CENTER, WALLET, 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, SIGN_IN_WITH_APPLE)'), settings: z.array(z.any()).optional().describe('Capability-specific settings'), }), handler: async (client, args) => { const body: any = { data: { type: 'bundleIdCapabilities', attributes: { capabilityType: args.capabilityType }, relationships: { bundleId: { data: { type: 'bundleIds', id: args.bundleIdId } }, }, }, }; if (args.settings) { body.data.attributes.settings = args.settings; } return client.request('/bundleIdCapabilities', { method: 'POST', body }); }, };