Skip to main content
Glama

view

Render Final Cut Pro FCPXML timelines as interactive JSON with lanes, clips, markers, gaps, transcript words, and thumbnails; inspect clips in MCP Apps.

Instructions

See the cut inline. view_timeline(filepath, thumbnails=true, words=true) returns the timeline — lanes, clips, markers, gaps, cached transcript words and filmstrip thumbnails — as an exact rational-time JSON payload that hosts with MCP Apps render as an interactive timeline (clip details, range selection, inspect / find-similar / marker / delete buttons that call the other tools). view_clip(filepath, clip_name) is the inspect button. Read-only; edits go through edit and mark. Actions: view_timeline, view_clip.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
argsNoArguments for the chosen action, e.g. {"filepath": "/path/to/project.fcpxml"}. Any action that takes a filepath also accepts expected_sha256: the call refuses if the file no longer hashes to it (every write result and analyze_timeline report the current sha256).
actionYesWhich operation to run.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.26.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it explicitly declares read-only semantics, describes the interactive MCP Apps rendering and the buttons that call other tools, and names the sha256 refusal behavior (via the schema). It omits any auth/permission or rate-limit notes, so it falls short of exhaustive.

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?

Two dense sentences, no filler — the return payload is front-loaded and the routing note trails. The opening 'See the cut inline' is idiomatic and slightly opaque, but the specifics immediately follow and every clause earns its place.

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

Completeness4/5

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

No output schema exists, so the description must explain returns, and it describes view_timeline's payload thoroughly plus the UI affordances. It does not describe what view_clip returns and says nothing about pagination or size limits, leaving a small gap for a two-action tool with nested args.

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

Parameters5/5

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

The schema is a generic {action, args} envelope with only 100% coverage of placeholder text, so the description is what actually documents the per-action parameters and defaults: view_timeline(filepath, thumbnails=true, words=true) and view_clip(filepath, clip_name). This adds real meaning the structured fields do not convey.

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 names the two concrete operations (view_timeline, view_clip) with their signatures and states exactly what view_timeline returns — lanes, clips, markers, gaps, transcript words, filmstrip thumbnails as rational-time JSON. It also distinguishes the tool from siblings by declaring 'Read-only; edits go through edit and mark.' An agent can tell this apart from edit/mark/inspect without opening any schema.

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 supplies clear routing context: read-only viewing here, mutations via edit and mark, and 'view_clip is the inspect button' ties it to the inspect sibling. However it never states the selection rule between view_timeline and view_clip beyond naming them, so the when-to-use distinction is left partly implicit.

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