Skip to main content
Glama

Build Archive

build_archive

Run xcodebuild archive on a generic iOS device to produce a .xcarchive for manual signing pipelines. Returns exit code, stdout, and stderr from the build.

Instructions

Run xcodebuild archive (generic iOS device) to produce a .xcarchive.

Use when: manual signing pipeline steps. For the whole signed TestFlight flow use testflight_ship. Returns: {ok, exit_code, stdout, stderr} from xcodebuild.

Input Schema

NameRequiredDescriptionDefault
schemeYesXcode scheme name to build, e.g. 'MyApp'.
projectYesPath to the .xcodeproj or .xcworkspace to build, e.g. /path/App/App.xcodeproj.
archive_pathYesPath to the .xcarchive, e.g. build/App.xcarchive.
configurationNoXcode build configuration, default 'Release'.Release

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.1.5
    • addedInput schema / properties / archive_path / description
      Added value: +"Path to the .xcarchive, e.g. build/App.xcarchive."
    • addedInput schema / properties / configuration / description
      Added value: +"Xcode build configuration, default 'Release'."
    • addedInput schema / properties / project / description
      Added value: +"Path to the .xcodeproj or .xcworkspace to build, e.g. /path/App/App.xcodeproj."
    • addedInput schema / properties / scheme / description
      Added value: +"Xcode scheme name to build, e.g. 'MyApp'."
  2. First observedv0.1.1

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=false). The description adds that it invokes xcodebuild against a generic iOS device, which is useful behavioral context, but says nothing about side effects like archive_path overwrite behavior or signing requirements. Adequate but not rich.

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

Conciseness5/5

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

Three short, front-loaded lines: purpose, when-to-use/alternative, and return shape. No filler and everything earns its place.

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?

An output schema exists, and the description even summarizes the return shape, so an agent knows what to expect. Combined with annotations covering safety, the only mild gap is that mutation side effects on archive_path are unstated.

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%, so all four parameters (scheme, project, archive_path, configuration) are already documented with examples and a default. The description adds no parameter-level meaning beyond the schema, which is the expected baseline when the schema does the heavy lifting.

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 command (xcodebuild archive), its scope (generic iOS device) and its concrete output artifact (.xcarchive). An agent can immediately distinguish it from sibling build tools like build_for_sim or build_export_ipa.

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

Usage Guidelines4/5

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

Explicitly names the context ('manual signing pipeline steps') and the alternative for the full flow (testflight_ship). The condition for choosing this tool is stated, though the boundary of 'manual signing pipeline steps' is a touch loose rather than crisply defined.

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