Skip to main content
Glama

metro

Prepare a React Native development server or trigger a reload in connected apps, using the session-bound server. Override the binding per call with runtime inputs.

Instructions

Prepare a React Native development server or ask connected apps to reload, using the development server this session is bound to. Provide explicit runtime inputs only to override that binding for one call. The binding is cleared when the session closes, and a fresh open without runtime hints also clears any leftover binding from a previous same-name session.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cwdNoWorking directory for command execution.
kindNo
portNo
udidNoiOS device UDID selector.
debugNoEnable debug diagnostics.
runIdNoLease run identifier.
actionYes
deviceNoDevice name selector.
serialNoAndroid device or Vega VVD serial selector.
targetNoAlias for deviceTarget on commands without a UI target field. Interaction commands reserve target for the UI element.
tenantNoRemote tenant identifier.
leaseIdNoExisting lease identifier.
logPathNo
sessionNoAgent-device session name.
platformNoPlatform selector used to resolve a device.
stateDirNoAgent-device state directory.
bundleUrlNo
launchUrlNo
metroHostNo
metroPortNo
timeoutMsNo
listenHostNo
statusHostNo
bearerTokenNo
bridgeScopeNo
includeCostNoInclude per-command agent-cost (cost.wallClockMs, …) in structuredContent. Defaults to off; the default response shape is unchanged.
projectRootNo
deviceTargetNoDevice target form. Maps to the CLI --target flag.
proxyBaseUrlNo
daemonBaseUrlNoRemote daemon base URL.
publicBaseUrlNo
responseLevelNoResponse verbosity: token-cheap digest / default (today) / full. Defaults to default; the default response shape is unchanged.
reuseExistingNo
probeTimeoutMsNo
daemonAuthTokenNoRemote daemon auth token.
iosXctestEnvDirNoWritable directory for iOS XCTest runner env overlays.
mcpOutputFormatNoMCP text content format. Defaults to optimized agent-friendly text; use json for JSON text. Structured content is always returned separately.
runtimeFilePathNo
iosXctestrunFileNoExternally built iOS XCTest runner .xctestrun artifact path.
startupTimeoutMsNo
iosSimulatorDeviceSetNoiOS simulator device-set path used for device resolution.
androidDeviceAllowlistNoAndroid serial allowlist used for device resolution.
iosXctestDerivedDataPathNoDerived data path for external iOS XCTest runner execution.
installDependenciesIfNeededNo
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It usefully reveals the session-binding lifecycle and clearing behavior, but it doesn't describe side effects of reloading, failure modes, or prerequisites, leaving some gaps.

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?

The description is three dense sentences, front-loaded with the main purpose and no filler. Each sentence adds distinct behavioral information that is worth keeping.

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

Completeness3/5

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

Given the tool's complexity—44 parameters, no output schema, and no annotations—the description provides the core flow and binding behavior but omits response details, operational prerequisites, and context about what happens on reload. It is adequate but not fully complete.

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

Parameters2/5

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

The description only generically refers to 'explicit runtime inputs' and provides no mapping to the 44 parameters. Schema coverage is 52%, and the description does not compensate for undocumented parameters, so it adds minimal parameter-level meaning.

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?

The description clearly identifies the tool's function: prepare a React Native development server or reload connected apps. It gives specific verbs and a resource, and the session-binding nuance distinguishes it from generic React Native tooling.

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?

It explains that the tool uses the session-bound development server and instructs when to provide explicit runtime inputs to override the binding. This gives clear usage context, though it doesn't name alternative tools or explicitly state when not to use it.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/callstack/agent-device'

If you have feedback or need assistance with the MCP directory API, please join our Discord server