Skip to main content
Glama

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
NameRequiredDescriptionDefault
bundleIdIdYesBundle ID
capabilityTypeYesCapability 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)
settingsNoCapability-specific settings

Implementation Reference

  • 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 });
    },
  • 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'),
    }),
  • 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 });
      },
    };
Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mikusnuz/app-publish-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server