Search the App Store and download packages from the terminal
You can handle the process of finding an app in the App Store and downloading its installation file via command line. This tool automates metadata lookups for Apple ecosystem apps and downloads .ipa or .pkg files. It is particularly useful when you want to handle app information in scripts or automation environments.
Interacting with the App Store from the terminal
This tool is designed to interact with Apple's App Store. You can find apps using the search command and retrieve actual installation files with the download command. It supports apps for iOS, iPadOS, tvOS, watchOS, visionOS, and macOS. It operates in interactive mode by default, but you can run it stably in automation environments using the --non-interactive flag. The output format can be selected as text or JSON, making subsequent processing easy.
Extended usage as an MCP server
This tool can run as an MCP (Model Context Protocol) server. By launching a standard input/output-based server via the ipatool mcp command and connecting it to an MCP client, you can call App Store tools from other AI agents or automation systems. First, complete authentication in the terminal with ipatool auth login, then register the command in the client configuration. This allows you to naturally perform tasks like app search or version lookup from external systems.
Installation and execution environment
On macOS, you can install it via Homebrew with brew install ipatool. For Linux and Windows, you must directly obtain the latest version from GitHub releases. To run it, you must use one of macOS, Linux, Windows, or iOS, and you need an Apple account connected to the App Store. Since it is written in Go, it is also possible to compile directly from source using the go build command. It is distributed under the MIT license, allowing free use.
Pre-use checks
Before using this tool, you should verify that Apple account authentication is working correctly. It is recommended to check the authentication status using the auth command. Additionally, depending on whether the app you want to download has a purchase history for that account or is a free app, the purchase command may be required. In automation environments, you must specify the --non-interactive option, and if keychain access is required, you must provide the passphrase with --keychain-passphrase. To look up metadata for a specific version or a list of versions, use the get-version-metadata and list-versions commands.