Skip to main content
Glama
concavegit
by concavegit

create_app_store_version

Create a new App Store version by specifying platform, version string, and release type to prepare apps for distribution on Apple platforms.

Instructions

Create a new app store version for an app

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appIdYesThe ID of the app
platformYesThe platform for this version
versionStringYesVersion string in format X.Y or X.Y.Z (e.g., '1.0' or '1.0.0')
copyrightNoCopyright text for this version (optional)
releaseTypeNoHow the app should be released
earliestReleaseDateNoEarliest release date in ISO 8601 format (required when releaseType is SCHEDULED)
buildIdNoID of the build to associate with this version (optional)

Implementation Reference

  • Implementation of the createAppStoreVersion handler function that validates inputs, constructs the API request, and calls the App Store Connect API to create a new app store version.
    async createAppStoreVersion(args: { appId: string; platform: 'IOS' | 'MAC_OS' | 'TV_OS' | 'VISION_OS'; versionString: string; copyright?: string; releaseType?: 'MANUAL' | 'AFTER_APPROVAL' | 'SCHEDULED'; earliestReleaseDate?: string; buildId?: string; }): Promise<AppStoreVersionResponse> { const { appId, platform, versionString, copyright, releaseType, earliestReleaseDate, buildId } = args; validateRequired(args, ['appId', 'platform', 'versionString']); // Validate version string format const versionRegex = /^\d+\.\d+(\.\d+)?$/; if (!versionRegex.test(versionString)) { throw new Error('Version string must be in format X.Y or X.Y.Z (e.g., 1.0 or 1.0.0)'); } // Validate release date if provided if (earliestReleaseDate) { const date = new Date(earliestReleaseDate); if (isNaN(date.getTime())) { throw new Error('Invalid release date format. Use ISO 8601 format (e.g., 2024-01-01T00:00:00Z)'); } if (releaseType !== 'SCHEDULED') { throw new Error('earliestReleaseDate can only be set when releaseType is SCHEDULED'); } } const requestData: AppStoreVersionCreateRequest = { data: { type: 'appStoreVersions', attributes: { platform, versionString, ...(copyright && { copyright }), ...(releaseType && { releaseType }), ...(earliestReleaseDate && { earliestReleaseDate }) }, relationships: { app: { data: { type: 'apps', id: appId } }, ...(buildId && { build: { data: { type: 'builds', id: buildId } } }) } } }; return this.client.post<AppStoreVersionResponse>( '/appStoreVersions', requestData ); }
  • MCP tool schema definition for 'create_app_store_version', specifying input parameters, descriptions, enums, and required fields.
    name: "create_app_store_version", description: "Create a new app store version for an app", inputSchema: { type: "object", properties: { appId: { type: "string", description: "The ID of the app" }, platform: { type: "string", description: "The platform for this version", enum: ["IOS", "MAC_OS", "TV_OS", "VISION_OS"] }, versionString: { type: "string", description: "Version string in format X.Y or X.Y.Z (e.g., '1.0' or '1.0.0')" }, copyright: { type: "string", description: "Copyright text for this version (optional)" }, releaseType: { type: "string", description: "How the app should be released", enum: ["MANUAL", "AFTER_APPROVAL", "SCHEDULED"] }, earliestReleaseDate: { type: "string", description: "Earliest release date in ISO 8601 format (required when releaseType is SCHEDULED)" }, buildId: { type: "string", description: "ID of the build to associate with this version (optional)" } }, required: ["appId", "platform", "versionString"] } },
  • src/index.ts:1348-1349 (registration)
    Registration and dispatching logic that routes 'create_app_store_version' tool calls to the LocalizationHandlers.createAppStoreVersion method.
    case "create_app_store_version": return { toolResult: await this.localizationHandlers.createAppStoreVersion(args as any) };

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/concavegit/app-store-connect-mcp-server'

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