Skip to main content
Glama

Start build

start_build
Destructive

Start a new Android, iOS or both builds of the app. Call it only when the merchant asked for a build or accepted your offer. Unpublished builder changes are published first, which also updates installed apps over the air. Builds take 10-30 minutes; check progress with get_build_status. If published is true but no platform is running, tell the merchant their builder changes were published to installed apps even though no build started. If this project's Twinr section (replit.md on Replit, otherwise AGENTS.md) has no application_id, call list_apps, show the merchant every organization and its apps, and ask which app this project is. Never choose one yourself, and never infer it from the project's name or URL. Then record it in the project's Twinr section. Before calling this tool, tell the merchant which app you are changing by name, e.g. "Updating the icon for Shop Name…".

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "app_id": "<app_id>",
      "platform": "<platform>"
    },
    "name": "start_build"
  }
}

Input Schema

NameRequiredDescriptionDefault
app_idYesThe application_id recorded in this project's Twinr section.
platformYes

Output Schema

NameRequiredDescriptionDefault
buildsYes
publishedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and idempotentHint=false, and the description earns its keep by explaining why: unpublished builder changes are published first and pushed over the air to installed apps, and builds run 10-30 minutes. It even handles the edge case where published is true but no platform is running, telling the agent what to report to the merchant — context the annotations cannot convey.

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

Conciseness4/5

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

Purpose and the build gate are front-loaded, and the timing plus follow-up tool come immediately after. The later block on app_id resolution and merchant-facing confirmation phrasing is operationally necessary but makes the definition multi-topic and longer than typical; it could be tightened without losing substance.

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

Completeness5/5

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

With an output schema present, return values need not be explained, and the description still covers duration, progress-checking, side effects on installed apps, the no-platform-started edge case, and the prerequisite for obtaining app_id. Nothing an agent needs before invoking is missing.

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

Parameters4/5

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

Schema coverage is only 50%, so the description must carry weight on app_id — it does, specifying provenance ('the application_id recorded in this project's Twinr section') and a strict resolution procedure via list_apps with an explicit ban on inferring from project name or URL. Platform is covered only implicitly through 'Android, iOS or both', which maps cleanly onto the enum but adds no detail.

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

Purpose5/5

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

States a specific verb and resource with scope: 'Start a new Android, iOS or both builds of the app.' It is immediately distinguishable from the sibling get_build_status, which it explicitly routes to for progress.

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

Usage Guidelines5/5

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

Explicit gating: 'Call it only when the merchant asked for a build or accepted your offer.' It also names the alternative paths for related needs — get_build_status for progress, list_apps for resolving an unknown app_id — so the agent knows both when and when not to call it.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources