Skip to main content
Glama
zackscriven

ghl-mcp-server-v2

by zackscriven

ghl_clientportal_get_mobile_apk_build

Read-onlyIdempotent

Retrieves a mobile APK build's status and download link, letting you poll until the build finishes or fails and get the artifact URL when ready.

Instructions

CLIENT PORTAL AI BUILDER API (/ai-builder-api) — side-effecting: opens/edits sandboxes and starts builds. Edit a sandbox only once sandbox.status is ready; checkpoint after edits and before starting the run that builds them; 409 means a cloud build owns the sandbox or it is not running. Get an APK build's status and download link. Read it again until status is finished, when artifactUrl is a short-lived download link, or failed, when error says why. Endpoint: GET /ai-builder-api/projects/{projectId}/app-config/apk-builds/{apkBuildId} (Version header: v3; source: v3/clientportal-ai-v3.json) OAuth scopes: clientportal-ai.readonly

Input Schema

NameRequiredDescriptionDefault
projectIdYesThe app's id.
apkBuildIdYesThe build's id, from the response that started it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.1.0

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds genuinely useful behavior beyond the readOnlyHint/idempotentHint annotations: poll until terminal status, `artifactUrl` is short-lived, and `error` explains failures. Offset against this, the leading line declares the API "side-effecting: opens/edits sandboxes and starts builds," which is misleading for a read-only GET endpoint and could deter an agent from calling it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first sentence is family-level boilerplate about sandbox editing, checkpointing, and 409s that does not apply to this read endpoint, and it precedes the actual purpose statement. The useful content is two sentences; the rest is noise that delays the agent's understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description does convey the key return surface (`status`, `artifactUrl`, `error`) and the polling loop needed to use it correctly. That is nearly sufficient for a simple two-parameter read; only the irrelevant preamble keeps it from being fully tight.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both required parameters (projectId, apkBuildId) have patterns and descriptions, so the schema already carries the semantics. The description adds nothing about either parameter, which is acceptable at this coverage level but is a baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The second paragraph gives a specific verb+resource: "Get an APK build's status and download link." That is enough to separate it from the sibling ghl_clientportal_request_mobile_apk_build (which starts a build), but the tool never names that sibling and the opening API-section boilerplate dilutes the purpose statement by burying it under unrelated sandbox-edit rules.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Read it again until `status` is `finished`" is real usage guidance for a polling tool, and the 409 note adds a failure condition. However, nothing says when to call this versus request_mobile_apk_build, and the 409/sandbox guidance in the preamble belongs to other endpoints in the family, not this one.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools