Skip to main content
Glama

phone_run_end

Close an active phone-use task and return run metrics such as HTTP calls, batches, observed actions, flows, failures, and p50/p95 call time. Use the same run_id; closed or missing runs yield no summary.

Instructions

Close a live task opened with phone_run_start and return its metrics: HTTP calls (not model turns), batches, observed actions, flows, stale/unknown outcomes, failures and p50/p95 call time. Use the same run_id and session; a missing or already-closed run cannot produce a new live summary. Supply turn_ids only for a complete_trace declaration, including every model generation; otherwise model_round_trips remains unknown. This ends accounting only, not a video recording or the owner lease: use phone_record(stop) and phone_release_owner for those.

Input Schema

NameRequiredDescriptionDefault
run_idYes
instanceNoInstalled local instance name, such as i13 or default. Omit to use the configured daemon. No fallback on failure.
turn_idsNoEvery model turn id of the task, when phone_run_start declared a complete trace; `[]` for a task that used no model turns.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.27.3
    • addedInput schema / properties / instance
      Added value: +{
      +  "description": "Installed local instance name, such as i13 or default. Omit to use the configured daemon. No fallback on failure.",
      +  "type": "string"
      +}
  2. First observedv0.21.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already define the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds important behavioral context beyond annotations: closing is accounting-only, does not stop video recording or release the owner lease, and an already-closed run produces no new summary. It could say more about failure modes or return shape, but it meaningfully exceeds the annotation baseline.

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?

The description is front-loaded with the core action and return metrics, then adds usage constraints and sibling alternatives. It is dense but every sentence carries useful information; minor wording complexity in the metrics list keeps it from being maximally crisp.

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?

For a non-idempotent close/accounting tool with no output schema, the description is complete enough: it names the metrics returned, explains the required run/session linkage, covers the special turn_ids condition, and clarifies what the tool does not do relative to phone_record and phone_release_owner.

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 67%, with run_id undocumented in the schema. The description compensates by explaining that the same run_id and session must be used, and it clarifies turn_ids semantics: supply them only for a complete_trace declaration, include every model generation, and otherwise model_round_trips remains unknown. The instance parameter is left to the schema, which is acceptable.

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 states a specific verb and resource: close a live task opened with phone_run_start and return its metrics. It distinguishes the tool from siblings by naming phone_run_start, phone_record(stop), and phone_release_owner.

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?

It gives explicit when-to-use and when-not-to-use guidance: use the same run_id and session, a missing or already-closed run cannot produce a summary, supply turn_ids only for a complete_trace declaration, and use phone_record(stop) and phone_release_owner for recording and lease termination.

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