Skip to main content
Glama

frames

Record page performance for a set duration: frame rate, dropped frames, long animation frames, layout shifts, slowest interaction. Optionally run an action (click, hover, scroll, key).

Instructions

Record the page for duration_ms and report how smooth it ran: main-thread frame rate and dropped frames, Long Animation Frames (duration, blocking time, render and style/layout start, the scripts responsible), layout shifts with the elements that moved (CLS for the window only), and the slowest interaction (INP for the window, split into input delay, processing, presentation; needs trusted input, synthetic events have no interaction id). Optionally runs an action (click, hover, scroll, key) right after recording starts. Animations that started are counted too. Compositor-only animations can stay smooth while the main thread drops frames. Refuses on a hidden page: rAF and observers stop there.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax long frames listed; counts include all
actionNoAction run right after recording starts
tab_idNoTarget tab; omitted = last tab navigated in this session, else the active one
frame_idNoTarget iframe id from get_frames; omitted = main frame
duration_msNoRecording window in ms (max 30000)
threshold_msNoLong frames shorter than this are not listed

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.28.0

TDQS

A4.2/5.0
Behavior5/5

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

Annotations only carry the generic safety profile, and the description adds substantial behavioral context: it refuses on hidden pages because rAF/observers stop, synthetic events yield no interaction id, compositor-only animations can stay smooth while the main thread drops frames, and an action can run right after recording starts. These are genuine operational traits not visible in structured fields.

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-loaded with the core purpose and tightly information-dense, with no filler sentences. It is long and parenthetical-heavy (render/style layout start, CLS/INP window caveats), which slightly taxes readability, but nearly every clause carries real meaning.

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 6-parameter tool with a nested action object and no output schema, the description fully explains the returned metrics (frame rate, dropped frames, LoAF details, shifts with moved elements, INP split into input delay/processing/presentation) plus the hidden-page and trusted-input constraints. Nothing essential is missing.

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 six parameters (limit, action, tab_id, frame_id, duration_ms, threshold_ms) are already documented. The description adds the action types (click, hover, scroll, key) and the trusted-input requirement, but this only marginally extends what the schema already provides; baseline 3 is appropriate.

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 (record) and resource (the page/frame performance window) and enumerates exactly what it reports: frame rate, dropped frames, LoAF, layout shifts, INP. An agent can distinguish this from perf_trace, lighthouse, and animations without opening a schema.

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

Usage Guidelines3/5

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

Implied usage is clear from the metric set (use it to measure smoothness/interaction responsiveness over a window), and it notes constraints like needing trusted input for INP. But it never names an alternative (perf_trace, lighthouse, animations) or states when this is preferred over them.

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