Skip to main content
Glama

eas_submit

Publish an EAS build to the App Store or Google Play using the submit profile in eas.json, defaulting to the last finished build when no build ID is given.

Instructions

Submit an EAS build straight to the store, using the submit profile in eas.json.

External action: this really publishes. Confirm the profile and platform with the user.

iOS: downloads the .ipa from EAS and uploads it via altool with this server's key (eas submit does not accept an API key without a prompt). Android: eas submit with the submit profile in eas.json. Without build_id, uses the most recent finished build.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
profileNoproduction
build_idNo
platformYes
project_pathYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations to lean on, the description carries the full burden and does so well: it flags the irreversible external publish action, the confirmation requirement, the iOS auth constraint (server key, no API key without a prompt), the altool upload path, and the fallback to the latest finished build.

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?

Front-loads the action and the publish warning, then adds platform-specific detail. Every sentence carries information, though the iOS/Android split could be tightened slightly.

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?

An output schema exists so return values need no explanation, and the description covers the risk, prerequisites, defaults and platform quirks an agent needs before firing an irreversible submission. Complete for this tool's complexity.

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 0%, so the description must compensate, and it explains three of four params meaningfully: profile (the submit profile in eas.json), platform (with platform-specific behavior), and build_id (defaults to the most recent finished build). Only project_path is left to inference, which is low risk.

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+resource (submit a build to the store) and scopes it to the EAS submit profile in eas.json. It is clearly distinguishable from siblings like eas_build_start or eas_build_download, which prepare or fetch builds rather than publishing.

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?

Gives clear context and an explicit gate: it really publishes, so the agent should confirm the profile and platform with the user first, and notes what happens without build_id (most recent finished build). It stops short of naming alternative tools or when-not-to-use conditions.

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