Skip to main content
Glama

Get frame timings

get_frames
Read-onlyIdempotent

Retrieves frame build and raster timings from a running Flutter app to identify janky frames exceeding the frame budget. Set onlyJanky to filter frames over 16.67ms.

Instructions

Frame build/raster timings. Set onlyJanky to focus on frames over the frame budget — 16.67ms (60fps) by default, which is an assumption: the VM Service does not report the display refresh rate. Override with FLUTTER_LAMP_FRAME_BUDGET_MS when the target's rate is known.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
onlyJankyNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.21.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the read-only, idempotent safety profile, so the description adds valuable behavioral context: the default frame budget of 16.67ms is an assumption because the VM Service does not report refresh rate, and it can be overridden via FLUTTER_LAMP_FRAME_BUDGET_MS. It does not describe return format, but that is a minor gap against otherwise strong disclosure.

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 sentences, front-loaded with the core purpose and then the onlyJanky nuance and override instruction. Every sentence adds useful information with no redundancy.

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?

For a simple query tool with annotation coverage, the description is adequate but leaves gaps: it does not explain the limit parameter, what fields the timings contain, or whether results are paginated. It also gives no tool-selection context among related performance tools.

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 0%, so the description must carry parameter meaning. It fully explains onlyJanky (filters to frames over the frame budget, default budget, env override) but completely omits the limit parameter, leaving half the parameters undocumented beyond their types and defaults.

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

Purpose4/5

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

The description states the resource ('Frame build/raster timings') with an implied retrieval verb, so an agent can tell what is returned. It does not differentiate from siblings like get_timeline or diagnose_performance, but the purpose is clear.

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

Usage Guidelines2/5

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

The description gives guidance only for the onlyJanky parameter, not for when to use this tool versus alternatives such as get_timeline or diagnose_performance. No explicit context or exclusions for tool selection are provided.

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