list_artifacts
Retrieve uploaded APKs and AABs for a Google Play app to identify version codes and SHA hashes, enabling track assignment and release management.
Instructions
List all APKs and AABs uploaded to the app.
Returns version codes and SHA hashes. Useful for finding version codes available to assign to a track.
Args: package_name: Package name, e.g. com.example.myapp
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| package_name | Yes |
Implementation Reference
- src/google_play_mcp/server.py:363-404 (handler)The MCP tool handler function for 'list_artifacts' which formats the data retrieved from the Google Play API.
@mcp.tool() def list_artifacts(package_name: str) -> str: """List all APKs and AABs uploaded to the app. Returns version codes and SHA hashes. Useful for finding version codes available to assign to a track. Args: package_name: Package name, e.g. com.example.myapp """ try: data = _publisher().list_artifacts(package_name) apks = [ { "type": "apk", "versionCode": a.get("versionCode"), "sha1": a.get("binary", {}).get("sha1"), "sha256": a.get("binary", {}).get("sha256"), } for a in data.get("apks", []) ] bundles = [ { "type": "bundle", "versionCode": b.get("versionCode"), "sha256": b.get("sha256"), } for b in data.get("bundles", []) ] all_artifacts = sorted( apks + bundles, key=lambda x: x.get("versionCode") or 0, reverse=True, ) return json.dumps( { "packageName": package_name, "totalCount": len(all_artifacts), "artifacts": all_artifacts, }, indent=2, ) - The underlying client method that performs the API call to list artifacts from Google Play.
def list_artifacts(self, package_name: str) -> Dict[str, Any]: """List all APKs and AABs currently known for the app.""" edit_id = self._create_edit(package_name) try: apks = self.service.edits().apks().list( packageName=package_name, editId=edit_id ).execute().get("apks", []) bundles = self.service.edits().bundles().list(