Skip to main content
Glama

fcp-mcp — Final Cut Pro MCP Server

Trusted, local, human-approved Final Cut Pro workflows. fcp-mcp inspects, generates, and transactionally edits FCPXML, then optionally hands verified artifacts to Final Cut Pro. The default profile never performs direct live or offline mutation.

Version 0.3.0 freezes a 94-tool catalog across four profiles. It is a bounded FCPXML interchange and tested Final Cut Pro handoff surface—not a claim of complete autonomous Final Cut Pro control. The default workflow is inspect, prepare, review, hash approval, then commit.

You: "Find and repair flash frames in hero.fcpxml."
Claude → fcpxml_detect_flash_frames → fcpxml_workflow_prepare
       → review semantic diff + candidate hash → fcpxml_workflow_commit
Result: the reviewed candidate is atomically committed with durable evidence

Start here:

Project Structure

fcp-mcp/
├── src/fcp_mcp/
│   ├── __init__.py
│   ├── __main__.py              # python -m fcp_mcp CLI
│   ├── cli.py                   # serve, doctor, doctor --json, --version
│   ├── config.py                # immutable environment configuration
│   ├── contracts.py             # stable errors + structured diagnostics
│   ├── diagnostics.py           # non-mutating runtime readiness checks
│   ├── observability.py         # text/JSON transaction events
│   ├── server.py                # MCP v2 entry and profile-selected handlers
│   ├── tool_metadata.py         # MCP safety annotation presets
│   ├── automation/
│   │   └── osascript.py         # argv-isolated AppleScript/JXA runner
│   ├── security/
│   │   └── paths.py             # allowed-root and output policy
│   ├── fcpxml/
│   │   ├── parser.py            # FCPXML → Python object tree
│   │   ├── writer.py            # transactional XML mutation/writing
│   │   ├── models.py            # TimeValue, Timecode, Clip, Timeline, etc.
│   │   ├── time_utils.py        # rational-arithmetic timecode
│   │   ├── analysis.py          # pacing, flash frames, gaps, duplicates
│   │   ├── validator.py         # DTD-style structural validation
│   │   ├── generator.py         # programmatic project/timeline creation
│   │   ├── puppet.py            # character puppet system
│   │   ├── diff.py              # timeline A/B comparison
│   │   └── transaction.py       # validated atomic FCPXML commits
│   ├── fcp_control/             # AppleScript bridge for live FCP control
│   ├── media/
│   │   └── ffprobe.py           # ffprobe wrapper for media analysis
│   ├── pipeline/                # multi-step workflows
│   ├── workflow/                # durable prepare, approval, commit, recovery
│   └── utils/
│       ├── atomic_write.py       # backup, replace, rollback
│       ├── safe_xml.py          # defusedxml hardening
│       └── paths.py             # trusted system path helpers
├── tests/                       # complete unit + contract suite
├── scripts/                     # docs, coverage, and wheel gates
├── docs/
│   ├── README.md                # documentation map and status
│   ├── research/                # dated research records
│   └── reviews/                 # release evidence and decisions
├── examples/
│   ├── quickstart.py            # install verification
│   └── GALLERY.md               # workflow gallery with prompts
├── pyproject.toml
├── server.json                  # MCP Registry manifest
├── LLM_GUIDE.md                 # operational guide for agents
├── WORKFLOWS.md                 # production recipes
├── CHANGELOG.md
├── ROADMAP.md
├── CONTRIBUTING.md
└── LICENSE

Related MCP server: fcpxml-mcp-server

Setup

Prerequisites

  • Python 3.10+

  • macOS 15.6 or later with Final Cut Pro

  • FFmpeg on $PATH (for media_* tools): brew install ffmpeg

  • Apple Compressor (optional, for compressor_* tools)

Install

Install the current published release from PyPI:

pipx install fcp-mcp

Or from source (for contributors):

git clone https://github.com/dreliq9/fcp-mcp.git
cd fcp-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Verify

fcp-mcp --version
fcp-mcp doctor
fcp-mcp doctor --json
python examples/quickstart.py

doctor exits 0 when ready, 1 when offline service is usable but optional capabilities are degraded, and 2 when configuration blocks required runtime behavior. MCP clients can call the same structured surface through fcp_doctor.

Connect to Claude Code

claude mcp add-json fcp '{"type":"stdio","command":"fcp-mcp"}' --scope user

Or if you installed from source, point at your venv's Python:

claude mcp add-json fcp '{"type":"stdio","command":"/FULL/PATH/TO/.venv/bin/fcp-mcp"}' --scope user

Or edit ~/.claude.json directly:

{
  "mcpServers": {
    "fcp": {
      "type": "stdio",
      "command": "fcp-mcp"
    }
  }
}

Claude Desktop

Add the same config to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Verify connection

claude mcp list       # from terminal
/mcp                  # inside Claude Code

Catalog Profiles

Select a profile with FCP_MCP_PROFILE. The default workflow profile keeps the inspect → prepare → review → hash approval → commit sequence bounded and reviewable.

Profile

Tools

Prompts

Resources

Purpose

inspect

30

2

0

Offline inspection and diagnostics

workflow (default)

34

3

3

Reviewable transactional FCPXML edits

edit

75

5

3

Direct offline mutation plus workflows

full

94

5

3

All offline tools and opt-in live FCP, media, and Compressor tools

The 94 tools include the youtube-mcp.materialized-clip-plan/v1 provenance adapter, fcpxml_generate_from_clip_plan, in edit and full only. Live FCP control remains independently disabled unless FCP_MCP_ENABLE_LIVE_CONTROL=1; choosing full does not grant that authority.

Available Tools (94 in full)

The full catalog combines 93 domain tools across 13 functional categories with fcp_doctor.

Category

Count

What it does

inspect

8

Parse, list clips/markers/effects/roles, analyze pacing, timeline stats, A/B diff

qc

10

Flash frames, gaps, duplicates, media links, frame rates, audio levels, safe zones, duration, structural validation, aggregate QC report

edit

12

Markers, keywords, titles, audio, transitions, trim, split, delete, reorder, speed, role assign, reformat

heal

3

Fix flash frames, fill gaps, remove silence

batch

4

Markers, rename, role assign, apply transition across many clips

generate

5

New project/timeline, rough cuts, montages, and provenance-preserving clip-plan FCPXML

templates

3

List and save FCPXML templates; fcpxml_apply_template remains unsupported_contract in v0.3.0

io

5

Import SRT/EDL, export EDL + DaVinci Resolve XML + Premiere FCP7 XMEML

live

20

AppleScript-backed library/events/projects, playback, menu/keyboard, share, and discovery

puppet

7

Parametric character rigs in FCPXML with motion presets

media

10

ffprobe + ffmpeg info, loudness, silence, beats, scenes, thumbnails, and audio-to-MIDI

compressor

2

List Compressor settings and dispatch encode jobs

workflow

4

Prepare, inspect, hash-approve, commit, or cancel durable edit runs

Key Features

Three layers in one server

Most FCP MCPs pick a lane. DareDev256/fcpxml-mcp-server is FCPXML-only. elliotttate/finalcutpro-mcp is AppleScript/JXA-heavy with thin FCPXML. fcp-mcp does both — and adds media analysis (ffprobe) and a parametric puppet system on top. An agent can open a library, inspect the active timeline, patch the XML, re-import, trigger Share, and dispatch a Compressor job — end to end.

Rational-arithmetic timecode

Time values are stored as fractions ("720/24s") and only collapsed to floats at display boundaries. Frame-accurate across 23.976 / 24 / 29.97 / 59.94 / drop-frame — no rounding drift when splitting, trimming, or concatenating.

Scoped and transactional XML handling

All .fcpxml reads go through defusedxml via utils/safe_xml.py — XXE, entity expansion, and external entities are blocked by default. The parser enforces configured XML size and depth limits.

User paths are resolved beneath configured roots after symlink resolution. FCPXML writes are serialized to a secure temporary file beside the destination, structurally validated, backed up when replacing an existing destination, atomically committed, and validated again. The built-in validator checks the invariants it implements; it is not a complete Apple schema validator. Import into a disposable Final Cut Pro project is the authoritative compatibility gate for important outputs. On a release workstation with Final Cut Pro installed, preflight a candidate against the DTD matching its declared FCPXML version:

python scripts/apple_dtd_gate.py path/to/candidate.fcpxml

This gate reads the DTD from the installed Final Cut Pro application bundle; the project does not copy or redistribute Apple's schema. A passing DTD check does not replace the disposable-project import because Final Cut Pro also checks media and application-level semantics.

fcpxml_assign_role, fcpxml_batch_assign_roles, and their workflow operations assign audio roles. For an asset-clip, fcp-mcp writes Apple's audioRole attribute and continues to read legacy role values for compatibility.

Reviewable transactional edits

The default profile exposes four workflow tools: fcpxml_workflow_prepare, fcpxml_workflow_status, fcpxml_workflow_commit, and fcpxml_workflow_cancel.

Prepare runs a fixed, bounded edit graph and stores the candidate, semantic diff, validation evidence, and event chain beneath the private FCP_MCP_STATE_DIR. It does not create or change the public destination. Review the returned summary and diff_uri, then pass the exact returned candidate_sha256 to commit as expected_candidate_sha256. Client approval is cryptographically bound to that candidate but is recorded as client_unverified_human; the server cannot independently prove that a human approved a chat message.

Three read-only templates expose durable evidence: fcp-workflow://runs/{run_id}, fcp-workflow://runs/{run_id}/events, and fcp-workflow://runs/{run_id}/diff. Candidate XML is deliberately private and is not exposed as a resource. Interrupted commits are assessed from durable evidence and can be explicitly reconciled with:

fcp-mcp workflow reconcile RUN_ID --json

This is a bounded workflow engine, not a generic graph runtime. It does not use MCP Tasks or run background autonomous agents.

Cross-NLE export

Same timeline out to three targets:

  • fcpxml_export_resolve — DaVinci Resolve-flavored XML (v1.9)

  • fcpxml_export_fcp7 — Premiere-compatible XMEML (FCP7 format)

  • fcpxml_export_edl — flat EDL for color-grading and archive pipelines

Parametric character puppets

puppet_* tools build animated character rigs entirely in FCPXML — no third-party motion templates required. Parts, keyframes, and presets (walk, talk, wave, multi-character compositions) emit XML for structural validation followed by a disposable-project FCP import gate.

QC before you cut

fcpxml_qc_report("hero.fcpxml")
  → Markdown validation summary and timeline statistics
  → gaps and flash frames with timecodes
  → duplicate sources
  → pacing distribution

Media links, frame rates, audio levels, safe zones, and target duration are separate fcpxml_check_* tools. Run the specific checks you need instead of assuming the aggregate report includes them.

Live FCP control

When FCP is running, fcp_* tools wire through AppleScript:

fcp_open_library(...)
fcp_get_timeline_info()    → current project, active range, playhead
fcp_playback("play" | "pause" | "goto" | "in_out")
fcp_menu_command("File > Export > Export Using Compressor Settings...")
fcp_keyboard_shortcut("cmd+shift+e")
fcp_share("YouTube — 4K")
fcp_discover_effects()     → every installed effect/transition/title

Output Files

By default, modified FCPXMLs are written next to their input with a _modified suffix. Override per-call via the output_path parameter, or set the canonical directory for relative and generated outputs:

export FCP_MCP_OUTPUT_DIR=/your/path

FCP_PROJECTS_DIR remains a legacy fallback when FCP_MCP_OUTPUT_DIR is unset. Relative input paths resolve beneath the output directory.

Allow additional input roots with the macOS path separator (:):

export FCP_MCP_ALLOWED_ROOTS="/Users/me/Movies:/Volumes/Media"

Absolute and symlink-resolved inputs outside those roots are rejected. For an input-backed operation, explicit outputs may be beneath the output directory or the input file's parent. Input and output resolving to the same file are always rejected. Replacing an existing destination creates a sibling backup named <file>.bak.<UTC timestamp>.<transaction UUID>.

Live FCP, Accessibility, and Compressor actions are opt-in:

export FCP_MCP_ENABLE_LIVE_CONTROL=1

Leave it unset for offline-only use. Runtime and transaction events use text by default; set FCP_MCP_LOG_FORMAT=json for JSON lines.

Workflow state defaults to the macOS application-support directory. Override it when isolation is required:

export FCP_MCP_STATE_DIR=/your/private/state

Examples

See the full gallery for tool sequences and workflow breakdowns. Sample prompts:

  • "Run the structural QC report on hero.fcpxml and fix every reported flash frame."

  • "Convert these .srt captions into FCPXML title clips on the V2 track."

  • "Take my assembly-edit XML and re-export it as a DaVinci Resolve XML for color."

  • "List every clip on the timeline, then batch-assign the 'dialogue' role to all interview clips."

  • "Open the active library, seek to the first marker, and dispatch a ProRes 422 HQ bounce via Compressor."

  • "Build a 3-character puppet scene: one walking, one talking, one waving. 5-second timeline."


Architecture

Claude Code / Claude Desktop / any MCP client
        │
        │  stdio (JSON-RPC)
        ▼
   fcp-mcp server (fcp_mcp/server.py, MCP SDK v2)
        │
        ├── fcpxml/parser + writer + models ← rational-arithmetic, defusedxml-hardened
        ├── fcpxml/analysis + validator     ← QC, pacing, flash frames, gaps
        ├── fcpxml/generator + puppet       ← programmatic timeline construction
        ├── fcpxml/diff                     ← A/B timeline comparison
        ├── workflow/                       ← prepare, verify, approve, commit, recover
        ├── private workflow ledger         ← candidates, events, hashes, reconciliation
        ├── fcp_control/ (AppleScript)      ← live FCP when available
        ├── media/ffprobe                   ← clip info, loudness, scenes, frames
        └── Compressor (CLI dispatch)       ← automated encodes
              │
              ▼
        .fcpxml (v1.11+) / EDL / DaVinci XML / FCP7 XMEML / ProRes / H.264

Troubleshooting

fcp-mcp: command not found — make sure the venv you installed into is on your PATH, or use the absolute path to the venv's bin/fcp-mcp in your MCP config.

ffmpeg: command not found on media_ calls* — brew install ffmpeg. FFmpeg is not bundled.

fcp_* tools return "Final Cut Pro is not running" — launch FCP first. Live tools require an active FCP process on macOS and FCP_MCP_ENABLE_LIVE_CONTROL=1.

fcp_* tools fail silently on newer FCP versions — FCP's scripting surface is limited compared to pre-FCPX versions. Menu items and keyboard shortcuts are the reliable path; some JXA queries are gated behind Accessibility permissions (System Settings → Privacy & Security → Accessibility → Claude/Terminal).

fcpxml_* tools report structural validation failures — run fcpxml_validate for the implemented checks. Passing this validator is not proof of complete Apple/FCP compatibility. Run python scripts/apple_dtd_gate.py path/to/result.fcpxml on a Mac with Final Cut Pro installed, then import an important result into a disposable Final Cut Pro project before relying on it.

path_outside_scope — add the media location to FCP_MCP_ALLOWED_ROOTS. External volumes are not implicitly trusted.

same_file_forbidden — choose a different output. fcp-mcp never overwrites its source path, even when the caller supplies it explicitly.

unsupported_contract from fcpxml_apply_template — template listing and saving remain available, but clip substitution has no stable schema and remains intentionally unavailable in v0.3.0.

Tests failing on import — activate the venv and reinstall: pip install -e ".[dev]".


Planned Work

See ROADMAP.md for the full plan. Highlights:

  • MCP Prompts — shipped: qc-check, youtube-chapters, cleanup, rough-cut, beat-sync

  • Proxy/Resolve round-trip — proxy-aware offline/online workflows


Acknowledgments

fcp-mcp was co-developed by Adam Steen and Claude (Anthropic).

License

MIT — see LICENSE.

Available Tools

88 tools
compressor_encodeB

Encode a file using Compressor CLI.

Args: input_path: Path to input media file setting_path: Path to Compressor preset (.cmprstng) output_dir: Output directory batch_name: Batch name for Compressor

ParametersJSON Schema
NameRequiredDescriptionDefault
input_pathYes
setting_pathNo
output_dirNo
batch_nameNoMCP Encode

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as whether the operation is destructive, synchronous, requires specific permissions, or what happens on error. The mere mention of 'encode' implies output creation but lacks detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured as a docstring with parameter list, but the main sentence is concise. However, the param descriptions add length. Could be more concise by focusing on usage context rather than parameter repetition.

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?

With an output schema present, return value details are covered. But the description lacks context on preconditions (e.g., file existence, Compressor installation), side effects, or error handling. It is minimally complete but not rich.

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 compensate. It provides one-line explanations for each parameter (e.g., 'Path to input media file'), adding basic meaning beyond the parameter names. However, it does not elaborate on formats, constraints, or relationships between parameters.

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 states the tool encodes a file using Compressor CLI, specifying the action and resource. It distinguishes itself from the sibling 'compressor_list_settings', which lists settings rather than encoding.

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?

No guidance on when to use this tool versus alternatives. The description only explains what it does, without indicating prerequisites, when to choose it over other tools like FCP export or media tools, or 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.

compressor_list_settingsA

List available Compressor encoding presets.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states the tool lists presets but does not disclose any behavioral traits such as ordering, pagination, or side effects. For a simple read-only list, it is adequate but minimal.

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 a single, brief sentence that is front-loaded with the key action and resource. Every word contributes meaning, with no wasted content.

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?

Given that the tool has no parameters and an output schema exists, the description is sufficiently complete for a simple list operation. It tells the agent exactly what the tool does.

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?

There are zero parameters, and schema coverage is 100% by default. The description does not need to add parameter meaning beyond what the schema provides. Baseline for 0 parameters is 4.

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 'List available Compressor encoding presets' uses a specific verb (List) and resource (Compressor encoding presets), clearly distinguishing it from sibling tools like compressor_encode.

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?

The description does not explicitly state when to use this tool vs alternatives. While it is implied that it should be used before compressor_encode to see available presets, no direct guidance is provided.

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

fcp_discover_effectsA

List available FCP effects and transitions by scanning known locations.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It mentions 'scanning known locations' but does not disclose if the tool is read-only, requires FCP to be running, or has any side effects. This is insufficient for a 0-parameter tool.

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?

A single sentence that front-loads the action and resource. No extraneous words. Conciseness is optimal for this simple tool.

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?

Given the tool's simplicity (0 parameters, output schema present), the description is nearly complete. It explains what the tool lists and how. Missing are usage hints or return value context, but the output schema covers the latter.

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?

The tool has zero parameters, and schema coverage is 100%. According to guidelines, baseline for 0 params is 4. The description adds no parameter-specific info because none exist, which 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?

The description clearly states the action (list), resource (available FCP effects and transitions), and method (scanning known locations). It distinguishes itself from sibling tools like fcp_list_motion_templates and fcpxml_list_effects by specifying effects and transitions from local scanning.

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?

The description implies usage for listing effects/transitions but provides no explicit guidance on when to use this tool versus alternatives (e.g., fcpxml_list_effects). No when-not-to-use conditions or context are given.

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

fcp_export_xmlB

Trigger XML export in FCP via menu automation (requires Accessibility permissions).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so the description bears full burden. It mentions menu automation and permissions but does not disclose if the operation is synchronous, long-running, or what happens on failure.

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?

Single sentence that is front-loaded with the action, using concise language with no wasted words.

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

Completeness2/5

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

Given no input parameters and an expected output, the description fails to explain what is exported (current project? selection?) or what the return value is. Missing critical context.

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?

Input schema has no properties, so schema coverage is 100%. Baseline for 0 params is 4; description adds no additional parameter info but that's acceptable since none exist.

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 clearly states the action 'Trigger XML export in FCP' and specifies it's via menu automation. However, it does not explicitly distinguish this tool from sibling tools like fcp_share or fcpxml_export_edl.

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 only guideline is the requirement for Accessibility permissions. There is no advice on when to use this tool versus alternatives like fcp_share or fcpxml_export_*.

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

fcp_get_app_stateA

Get FCP application state — version, frontmost status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

The description discloses that the tool returns version and frontmost status. Since no annotations exist, it carries the full burden and does so clearly. It could mention prerequisites like the app needing to be running, but the behavior is otherwise transparent.

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 a single sentence that is front-loaded with the verb and resource. No unnecessary words; every part adds value.

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?

Given the simplicity (0 parameters, no annotations, output schema exists), the description is mostly complete. It states what is returned, but could briefly note that the app must be running, though the output schema may cover that.

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?

There are no parameters, so the description adds nothing beyond the schema. Baseline of 4 is appropriate as the schema already covers parameter semantics.

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 states the tool gets FCP application state, specifically version and frontmost status. It uses a specific verb and resource, and implicitly distinguishes from sibling tools like fcp_is_running by mentioning the specific state fields.

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?

The description does not explicitly state when to use this tool versus alternatives like fcp_is_running. Usage is implied as a general state query, but no context or exclusions are provided.

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

fcp_get_eventsA

Get events in a library (or all libraries if name not specified).

Args: library_name: Library name to filter (optional)

ParametersJSON Schema
NameRequiredDescriptionDefault
library_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so description must disclose behavioral traits. It indicates a read operation ('Get'), but does not explicitly state it is non-destructive, has no side effects, or require permissions. Acceptable for a simple retrieval but could be more explicit.

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?

Extremely concise: two sentences with no wasted words. The main action is front-loaded in the first sentence.

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?

Given the presence of an output schema (not shown but existence noted), the description is sufficiently complete for a simple retrieval tool with one optional parameter. It covers the basic functionality; additional context about event semantics might help but is not essential.

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?

The description explains the parameter library_name is optional and filters events, adding meaning beyond the schema which only provides title and default. Schema description coverage is 0%, so description compensates well.

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 clearly states it retrieves events from libraries, with optional filtering by library name. The verb 'Get' and resource 'events' are specific, and it differentiates from siblings like fcp_get_libraries and fcp_get_projects, though not explicitly.

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?

Implies usage context: to get events from all libraries omit name, or filter with library_name. However, no explicit guidance on when to use this tool over alternatives or prerequisites.

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

fcp_get_librariesA

Get all open libraries in Final Cut Pro (requires FCP to be running).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the requirement that FCP must be running, but does not describe other behavioral aspects like error handling (e.g., if FCP is not running), return format (though output schema exists), or potential side effects. It adds minimal context beyond the prerequisite.

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 a single, front-loaded sentence with no unnecessary words. Every part earns its place, stating the action and the sole prerequisite.

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?

Given no parameters and an existing output schema, the description covers the key context (requires running FCP). It does not mention what happens if no libraries are open or if FCP is not running, but overall it is fairly complete for a simple retrieval tool.

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?

There are no parameters, so the schema provides full coverage. The description adds no additional parameter meaning, but with zero parameters, a baseline of 4 is appropriate as no further explanation is needed.

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 states the action ('Get all open libraries') and the application (Final Cut Pro). It is concise and distinguishes this tool from siblings like fcp_get_events or fcp_get_projects by specifically targeting libraries.

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?

The description includes a key prerequisite (FCP must be running) but does not provide guidance on when to use this tool versus alternatives, such as fcp_open_library or other fcp_get_* tools. It lacks explicit when-not-to-use or alternative suggestions.

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

fcp_get_projectsA

Get projects in an event (or all events if name not specified).

Args: event_name: Event name to filter (optional)

ParametersJSON Schema
NameRequiredDescriptionDefault
event_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, and the description only states 'Get projects'—a read operation. It does not disclose any behavioral traits such as side effects, permissions, or rate limits, leaving a significant gap.

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?

Description is short and to the point, with an 'Args' section. No unnecessary words, but could be slightly more structured with a clearer separation of purpose and parameters.

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?

With an output schema present and a simple tool (one optional parameter), the description covers the basic behavior: retrieving projects filtered by event or all. It is adequate for the complexity.

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?

The description explains the single parameter 'event_name' is optional and acts as a filter, adding meaning beyond the schema (which has no description). However, it only minimally compensates for the 0% schema coverage.

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?

Description clearly states 'Get projects in an event (or all events if name not specified)', providing a specific verb and resource with scope. It distinguishes from sibling tools like fcp_get_events which retrieves events.

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?

Description implies when to use (filtering by event or getting all), but lacks explicit guidance on when not to use or alternatives. No mention of distinction from other project tools.

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

fcp_get_timeline_infoA

Get info about the current/first timeline in FCP.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It implies a read-only operation via 'Get info', but does not explicitly state safety, side effects, or error conditions.

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 a single, clear sentence with no extraneous information. Every word is necessary.

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?

With zero parameters and an output schema present, the description is sufficiently complete. It covers the tool's purpose without needing to detail return values.

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?

There are zero parameters and schema coverage is 100%, so the baseline is 4. The description adds no parameter details, 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 uses a specific verb ('get info') and resource ('current/first timeline'), clearly stating what the tool does. It is distinct from sibling tools like fcp_get_app_state or fcp_get_projects.

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?

No guidance on when to use this tool versus alternatives. The description merely states the function without any context or exclusion criteria.

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

fcp_import_xmlB

Import an FCPXML file into Final Cut Pro.

Args: fcpxml_path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
fcpxml_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states 'Import' without disclosing prerequisites (e.g., Final Cut Pro must be running), side effects, or error handling.

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 two sentences with a clear structure: purpose first, then argument list. No wasted words.

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

Completeness2/5

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

Despite having an output schema, the description lacks context about app state requirements, error scenarios, or what happens post-import. For a mutation tool, this is insufficient.

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?

Schema coverage is 0%, so description must compensate. It adds 'Path to .fcpxml file,' which merely restates the param name and provides minimal additional meaning beyond the schema.

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 states 'Import an FCPXML file into Final Cut Pro,' using a specific verb and resource. It distinguishes this tool from siblings like fcp_export_xml or fcpxml_parse.

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?

No guidance is provided on when to use this tool versus alternatives, such as when to import instead of create_project or parse. No exclusions or context given.

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

fcp_is_runningA

Check if Final Cut Pro is currently running.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description only states the basic function. It does not disclose whether the tool launches FCP, requires installation, or other behavioral traits like safety.

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?

A single, clear sentence with no redundant information. Perfectly concise and front-loaded.

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?

Given no parameters and an output schema, the description is complete. It adequately explains the tool's functionality for a simple check.

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?

With zero parameters, schema coverage is 100%. According to guidelines, baseline is 4. The description adds value by clarifying the purpose beyond the empty schema.

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 states the tool checks if Final Cut Pro is running, using a specific verb and resource. It is distinct from sibling tools, which focus on encoding, XML operations, and other FCP functions.

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?

No guidance on when to use this tool versus alternatives or prerequisites. Many sibling tools might require FCP to be running, but no conditional usage advice is given.

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

fcp_keyboard_shortcutA

Send a keyboard shortcut to FCP.

Args: keys: Shortcut description like "cmd+c", "cmd+shift+e", "option+w"

ParametersJSON Schema
NameRequiredDescriptionDefault
keysYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether FCP must be active, if the action is synchronous, or what the output contains. Since there is an output schema, the description could mention the return value.

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 extremely concise: one sentence with a brief example. Every word adds value, and the structure is front-loaded with the action.

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?

Given the tool's simplicity (one parameter) and the existence of an output schema, the description is mostly complete. However, it could mention that FCP must be running and focused for the shortcut to work.

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?

The schema has 0% description coverage for the 'keys' parameter, but the description's Args section provides examples and format guidance ('cmd+c', 'cmd+shift+e', 'option+w'), adding significant meaning beyond the schema.

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 states 'Send a keyboard shortcut to FCP' with a specific verb and resource, distinguishing it from sibling tools like fcp_menu_command that send menu commands. The parameter format examples further clarify the tool's purpose.

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?

No guidance is given on when to use this tool versus alternatives like fcp_menu_command or fcp_navigate. The description does not include any contextual hints or exclusions.

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

fcp_list_motion_templatesA

List installed Motion templates (titles, transitions, generators, effects).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description bears full burden. It correctly implies a read-only listing, but no additional behavioral traits (e.g., authorization, performance, side effects) are disclosed. The presence of an output schema mitigates the need to describe return values.

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?

A single sentence of 9 words, front-loaded with verb and resource, with no wasted words. Every part 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?

For a parameter-less tool with an output schema, the description is mostly complete. It lists the key categories of templates. However, it could mention that this lists only installed Motion templates (as opposed to project templates), which is implied by name.

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?

There are zero parameters, so the description cannot add meaning beyond the schema. Schema description coverage is 100% trivially. Baseline score of 4 applies.

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 states the verb 'List' and the resource 'installed Motion templates', specifying categories like titles, transitions, generators, effects. This distinguishes it from siblings such as fcp_discover_effects or fcpxml_list_templates.

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?

No guidance is provided on when to use this tool versus alternatives. The description lacks context about prerequisites, typical use cases, or exclusions.

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

fcp_list_share_destinationsB

List configured FCP share destinations.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description is the sole source of behavioral info. It implies a read-only operation but does not disclose any specifics about the listing behavior, such as whether it returns all destinations or only certain ones.

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 a single, concise sentence that conveys the essential purpose without unnecessary words. It is well-structured and front-loaded.

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?

The description is minimal, but given the simplicity (no parameters, has output schema), it covers the basics. However, it does not mention what the tool returns or any prerequisites, leaving potential gaps for an agent.

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?

The tool has zero parameters, so schema coverage is 100%. The description correctly implies no inputs are needed. No additional parameter semantics are required.

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 clearly states the action (List) and the resource (configured FCP share destinations). It is specific and unambiguous, though it does not differentiate from sibling tools like fcp_share.

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 provides no guidance on when to use this tool versus alternatives. It does not explain what 'configured' means or when listing destinations is appropriate.

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

fcp_menu_commandA

Execute any FCP menu command by path.

Args: menu_path: Menu path like "File > Export XML..." or "Edit > Select All"

ParametersJSON Schema
NameRequiredDescriptionDefault
menu_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, and the description only states 'Execute' without disclosing side effects, prerequisites (e.g., FCP must be running), or potential state changes. The behavioral transparency is minimal.

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 very short and to the point, with no wasted words. However, it could be improved by front-loading key information like prerequisites.

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 tool with one parameter and an output schema (unseen), the description covers the basic usage. Missing behavioral details like return value or confirmation of execution, but output schema may supplement.

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 0% with only a title. The description adds example paths (e.g., 'File > Export XML...'), providing format guidance beyond the schema, but does not specify case sensitivity or exact formatting rules.

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 states the tool executes any FCP menu command by path, using specific verb and resource. It distinguishes from sibling tools that are dedicated to specific commands (e.g., fcp_export_xml).

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?

No explicit guidance on when to use this tool versus alternatives. It implicitly covers generic menu actions not in sibling tools, but lacks when-not-to-use or alternative suggestions.

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

fcp_navigateA

Navigate to a specific timecode in FCP.

Args: timecode: Timecode to navigate to (e.g., "00:01:30:00"). Opens timecode entry if provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
timecodeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

Description mentions 'Opens timecode entry if provided' but fails to disclose side effects or prerequisites. Without annotations, the description should cover behavioral traits like whether it moves the playhead or requires an open project.

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?

Two sentences with an args list, front-loaded with purpose. Every sentence is meaningful and there is no wasted text.

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?

For a simple navigation command, the description is mostly complete. It could mention that FCP must be running or that it acts on the current timeline, but the presence of an output schema reduces the need for return value details.

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 0%, but the description adds value by providing an example format ('00:01:30:00') and explaining the parameter purpose beyond the schema's type string.

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 states the verb 'Navigate' and the specific resource 'timecode in FCP', distinguishing it from sibling tools that perform different actions like exporting, playback, or applying effects.

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?

The description provides a timecode format example, implying when to use, but does not explicitly state when not to use or suggest alternatives. No comparison to other navigation methods.

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

fcp_open_libraryC

Open a FCP library file.

Args: library_path: Path to .fcpbundle file

ParametersJSON Schema
NameRequiredDescriptionDefault
library_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations present; description only states the action without behavioral details like error handling, side effects, or whether it sets the active library. For a mutation tool, more transparency expected.

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?

Extremely concise; purpose stated first; args listed but adds no value beyond schema. Could be more structured but earns its brevity.

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?

Adequate for a simple open operation with one parameter; output schema exists so return values are covered. However, could mention that it makes the library active for subsequent operations.

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?

Parameter 'library_path' description is 'Path to .fcpbundle file' which merely restates the property title 'Library Path' from schema. Adds no additional semantics like format constraints or required permissions.

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?

Clearly states verb 'Open' and resource 'FCP library file'. Distinguishes from siblings like fcp_get_libraries which lists libraries. However, could be more specific about it being a Final Cut Pro library.

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?

No usage context provided; does not mention when to use or not use, no alternatives mentioned. Does not indicate prerequisites like library existence or effects on current state.

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

fcp_playbackB

Control FCP playback.

Args: action: "play", "pause", "stop", or "toggle" (space bar)

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNotoggle

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description must carry full behavioral disclosure. It only states the action values without describing side effects, state changes, or error conditions. The impact on FCP state is implied but not explicitly stated.

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 very short and to the point. The 'Args:' header is slightly redundant but does not significantly reduce conciseness. Every word serves a purpose.

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 playback control tool, the description covers the essential function. However, it lacks information about the output/return value (despite an output schema existing) and does not mention any state changes or feedback, leaving some ambiguity.

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?

The description lists all four allowed values for the 'action' parameter, providing critical context that the schema lacks (schema has no enum). The note about 'toggle' mapping to the space bar adds practical value beyond the schema definition.

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 'Control FCP playback' clearly states the tool's function and the specific resource it acts on. While it doesn't explicitly distinguish from siblings, the unique name and narrow scope make differentiation straightforward.

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?

No guidance is provided on when to use this tool versus alternatives like fcp_keyboard_shortcut or fcp_menu_command. There is no mention of prerequisites or conditions for use.

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

fcp_redoA

Redo the last undone action in FCP.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It states the action ('redo') but does not clarify if it is safe, reversible, or has side effects. For a simple redo, this is adequate but not thorough; an agent might benefit from knowing if it can be performed multiple times or only once.

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?

A single, concise sentence that conveys the core action without any superfluous words. Every word is necessary, and the structure is well front-loaded.

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?

Given no parameters and only a simple action, the description fully explains what the tool does. An output schema exists (not shown), but the description need not detail returns. The tool's simplicity means no further context is required.

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?

The tool has zero parameters, and the schema coverage is 100% (no parameters to document). Per guidelines, baseline is 4. The description adds no parameter info, but none is needed.

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 uses a specific verb ('Redo') and resource ('the last undone action in FCP'), making the tool's purpose unmistakable. It directly contrasts with its sibling 'fcp_undo', providing immediate differentiation.

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?

The description implies usage after an undo operation but does not explicitly state when to use it (e.g., only after an undo) or mention alternatives like 'fcp_undo'. No guidance on prerequisites or exclusions, leaving the agent to infer context.

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

fcp_select_toolB

Switch FCP editing tool.

Args: tool: "select" (A), "trim" (T), "position" (P), "range" (R), "blade" (B), "zoom" (Z), "hand" (H)

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNoselect

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits. It only states the action and parameter values, omitting details like whether the app must be running, side effects on timeline, or response behavior.

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 extremely concise with no wasted words. However, it could be slightly more structured, e.g., by separating the action from the parameter list.

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 simplicity and presence of an output schema, the description is minimally adequate but does not explain output or behavior beyond the switch action. More context on expected outcomes would improve completeness.

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 0%, so the description must compensate. It provides full documentation of the valid parameter values and their keyboard shortcuts, which adds significant meaning beyond the schema.

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 states the tool's function: 'Switch FCP editing tool.' The verb 'switch' and resource 'FCP editing tool' are specific, and the tool is distinct from siblings which deal with export, XML, media, etc.

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?

No guidance on when or why to use this tool versus alternatives. While its purpose is simple, explicit context about prerequisites or typical use cases would improve usability.

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

fcp_shareC

Trigger a share/export from FCP.

Args: destination: Share destination name (opens default if empty)

ParametersJSON Schema
NameRequiredDescriptionDefault
destinationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided. The description only notes that an empty destination opens the default, but fails to disclose whether the operation is synchronous, asynchronous, or what happens to the app state during export.

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 extremely concise with a clear structure: one line for purpose and one line for the parameter. No unnecessary text.

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

Completeness2/5

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

For a simple tool with one parameter and an existing output schema, the description lacks context about prerequisites (e.g., listing destinations) and potential side effects, making it only minimally complete.

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?

The parameter 'destination' has no schema description, but the description adds context (share destination name, default behavior). This partially compensates for 0% schema coverage, but could reference fcp_list_share_destinations.

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 clearly states the tool triggers a share/export from FCP, with a specific verb and resource. It distinguishes from siblings like fcp_export_xml, but could be more explicit about the type of export.

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?

No guidance on when to use this tool vs alternatives, such as fcp_list_share_destinations for listing destinations. No prerequisites or exclusion criteria mentioned.

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

fcp_undoA

Undo the last action in FCP.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

The description is minimal and does not disclose behavioral traits beyond the basic action. Since no annotations exist, the description should provide more details on side effects, limitations, or error states, but it does not.

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 extremely concise with a single sentence. Every word is meaningful, and there is no redundancy. It is front-loaded and efficient.

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?

The tool is simple with no parameters, but the description does not mention return values or output, despite there being an output schema. Given the tool's simplicity, some basic behavioral context is missing, but it is otherwise adequate for a straightforward undo action.

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?

The tool has no parameters, and the schema coverage is 100% (empty schema). The description does not need to add parameter semantics. A baseline of 4 is appropriate as the schema fully documents the lack of parameters.

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 states 'Undo the last action in FCP', specifying the verb 'Undo' and the resource 'the last action in FCP'. It effectively distinguishes from similar tools like fcp_redo, which has an opposite function.

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?

No guidance is provided on when to use this tool versus alternatives like fcp_redo. The description does not mention context, prerequisites, or scenarios where undo would be appropriate.

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

fcpxml_add_audioA

Add an audio clip to the timeline.

Args: path: Path to .fcpxml file audio_src: Path to audio file name: Clip name (defaults to filename) duration: Duration in FCPXML time (defaults to asset duration) position: "start", "end", or clip name to insert after output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
audio_srcYes
nameNo
durationNo
positionNoend
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description lacks disclosure of side effects (e.g., modifying the input file), permissions needed, or behavioral constraints. It only states what the tool does, not how it behaves.

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 concise with a one-line summary followed by a structured argument list. It avoids unnecessary elaboration, though the argument list could be more streamlined.

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 complexity (6 parameters, no schema descriptions), the description covers functionality reasonably but fails to mention return values (output schema exists but not described) or error conditions.

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 description coverage is 0%, so the description adds significant meaning by explaining each parameter's purpose, especially 'position' which lists valid values. However, 'duration' lacks format specification.

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 states 'Add an audio clip to the timeline', using a specific verb and resource. It is distinct from sibling tools like fcpxml_add_title or fcpxml_add_marker.

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?

The description does not provide explicit guidance on when or when not to use this tool versus other audio-related tools (e.g., media_extract_audio). Usage is implied but not differentiated.

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

fcpxml_add_keywordC

Add a keyword to a clip.

Args: path: Path to .fcpxml file clip_name: Name of the clip value: Keyword text start: Start time in FCPXML format duration: Duration of keyword range (optional) output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
clip_nameYes
valueYes
startNo0s
durationNo
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It does not mention whether the operation modifies the input file in-place or creates a new file, what happens if the keyword already exists, or any side effects. The output_path parameter hints at output but is not explained. This is insufficient for a mutation tool.

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 extremely concise: a one-sentence purpose followed by a clean list of parameters. It is front-loaded and contains no unnecessary words or repetition. Every line serves a clear purpose.

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

Completeness2/5

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

Given 6 parameters, no annotations, and that an output schema exists, the description should provide sufficient behavioral context. However, it lacks details on side effects, error handling, and the nature of the output. The minimal description leaves significant gaps for an agent to safely use the tool.

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?

The input schema has 0% description coverage, so the parameter descriptions in the tool description (e.g., 'Start time in FCPXML format', 'Duration of keyword range (optional)') add necessary meaning. However, several parameters lack detailed format or constraints, such as output_path default or value limitations. The description is functional but not rich.

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 clearly states the tool's purpose as 'Add a keyword to a clip.' This is a specific verb+resource combination. It distinguishes from sibling tools that add markers, audio, transitions, etc., but does not explicitly highlight these differences.

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?

No guidance is given on when to use this tool versus alternatives, such as when to add a marker vs. a keyword. There is no mention of prerequisites, constraints, or context that would help an agent decide to invoke this tool.

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

fcpxml_add_markerA

Add a marker to a clip.

Args: path: Path to .fcpxml file clip_name: Name of the clip to add the marker to start: Marker position in FCPXML time (e.g., "60060/30000s") value: Marker title/value note: Optional marker note marker_type: "standard" or "chapter" output_path: Output file path (default: adds _modified suffix)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
clip_nameYes
startYes
valueYes
noteNo
marker_typeNostandard
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations provided. The description mentions output_path with a default suffix, but does not clarify that the original file is unchanged or any other side effects.

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?

Purpose is front-loaded, but 'Args:' header adds redundancy for schema-aware agents. Could be more concise.

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?

Covers basic parameters but lacks details on marker_type behavior, clip existence checks, or output file implications. Adequate but not comprehensive.

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 0%, so description adds meaning with parameter explanations (e.g., time format example, marker_type options) beyond the schema's type/default.

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 'Add a marker to a clip' with a specific verb and resource, distinguishing it from sibling tools like fcpxml_add_keyword or fcpxml_add_title.

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?

No guidance on when to use this tool vs alternatives like fcpxml_batch_add_markers, nor prerequisites (e.g., existing clip in an fcpxml file).

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

fcpxml_add_titleB

Add a title clip to the timeline.

Args: path: Path to .fcpxml file text: Title text duration: Title duration in FCPXML time position: "start", "end", or clip name to insert after output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
textYes
durationNo150150/30000s
positionNoend
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose side effects. It mentions modifying a .fcpxml file but does not explain whether the original is overwritten, what happens on conflict, permission requirements, or any destructive behavior. The output file path is mentioned but not clarified (e.g., creation vs overwrite).

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 concise with a single sentence for purpose followed by a parameter list. It is front-loaded and avoids unnecessary words. Slightly more context could improve completeness without adding much length.

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

Completeness2/5

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

Given five parameters, zero schema coverage, no annotations, and an output schema (unreferenced), the description is incomplete. It lacks usage guidelines, behavioral details, and any mention of return values or effects. The tool's output is not described, leaving the agent uncertain about what the tool produces.

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 coverage is 0%, so parameter descriptions are essential. The description provides brief explanations for all five parameters (path, text, duration, position, output_path) and clarifies position's allowed values. However, details like duration format or text formatting are missing, limiting full semantic understanding.

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 states 'Add a title clip to the timeline', specifying the action (add), resource (title clip), and location. This distinguishes it from sibling tools like fcpxml_add_audio or fcpxml_add_transition, which add different clip types.

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?

No guidance is provided on when to use this tool versus alternatives (e.g., adding other clip types or using other methods). The description does not mention prerequisites, constraints, or context for use.

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

fcpxml_add_transitionB

Insert a transition after a clip.

Args: path: Path to .fcpxml file after_clip_name: Name of the clip to add transition after duration: Transition duration (default: 1 second at 29.97) name: Transition name output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
after_clip_nameYes
durationNo30030/30000s
nameNoCross Dissolve
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only states the basic operation. It does not mention whether the tool modifies the input file (output_path behavior), what happens to existing transitions, or any side effects like file system changes. The description lacks depth for a mutating tool.

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 short and includes a clear action sentence followed by a compact argument list. It front-loads the primary function. However, it could be trimmed further by removing redundant parameter descriptions that match the schema titles.

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

Completeness2/5

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

Given the tool modifies an fcpxml file, the description lacks critical context: what the return value is (though an output schema exists), error conditions, behavior when output_path is empty, and how the transition is applied (e.g., overwriting or inserting alongside existing transitions). The description is minimal for the complexity of the operation.

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?

Although the schema has 0% coverage (no descriptions), the description lists parameters with brief explanations: path (Path to .fcpxml file), after_clip_name (Name of the clip to add transition after), duration (with default in seconds), name (transition name), output_path (Output file path). This adds meaning but omits format details for duration (e.g., expected timecode format) and does not clarify defaults beyond a single example.

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 states 'Insert a transition after a clip', specifying the action and the resource. The parameter 'after_clip_name' reinforces the purpose. Although there is a sibling tool 'fcpxml_batch_apply_transition', this tool's focus on a single clip is evident from its name and required parameter.

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 provides no guidance on when to use this tool versus the batch transition tool or other related tools. There is no mention of prerequisites, limitations, or alternative scenarios, leaving the agent to infer usage context.

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

fcpxml_analyze_pacingA

Analyze shot pacing — average/median shot length, distribution histogram.

Args: path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It indicates the tool analyzes pacing (a read operation), but does not explicitly state it is read-only or non-destructive. It also does not describe side effects, file requirements, or output format (though an output schema exists). The description is adequate but leaves gaps.

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 very short (two lines plus args), which is concise and focused. However, it could be slightly more structured (e.g., bullet points) or include a brief note about output. It is close to optimal for a simple tool.

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?

With an output schema present, the description does not need to detail return values. However, it lacks mention of file prerequisites (e.g., file must exist, contain video clips) or any constraints. The description is moderately complete but could provide more context for the analysis.

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?

The single parameter 'path' is documented in the description as 'Path to .fcpxml file', which clarifies its purpose beyond the raw schema (which has 0% coverage). For a single parameter, this adds meaningful semantic context.

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 states the tool analyzes shot pacing, specifically average/median shot length and distribution histogram. It uses a specific verb ('Analyze') and resource ('shot pacing'), distinguishing it from sibling tools like fcpxml_timeline_stats or fcpxml_check_duration.

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 provides no explicit guidance on when to use this tool vs alternatives. It does not mention prerequisites, limitations, or scenarios where other tools would be more appropriate. The purpose is implied but not elaborated.

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

fcpxml_apply_templateA

Apply an FCPXML template to a set of clips.

Replaces placeholder clips in the template with provided clips.

Args: template_path: Path to template .fcpxml file clips_json: JSON array of clips to insert project_name: New project name output_path: Where to save

ParametersJSON Schema
NameRequiredDescriptionDefault
template_pathYes
clips_jsonYes
project_nameNoFrom Template
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so description carries full burden. It reveals that placeholders are replaced and a new file is saved (via output_path), but does not disclose side effects (e.g., file overwriting, validation checks) or error behavior. Basic behavior is clear but not comprehensive.

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 concise with a one-line summary and a bulleted list for parameters. It is front-loaded and avoids redundancy, though the Args section partially repeats schema information (which is acceptable given zero schema descriptions).

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?

With an output schema present, return values need not be explained. However, the description omits important context such as expected behavior when placeholders are missing, error handling, or output format details. It covers basic functionality but lacks depth for a template application tool.

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 has 0% description coverage, so the description's Args section adds significant value by explaining each parameter's purpose (e.g., 'Path to template .fcpxml file', 'JSON array of clips to insert'). However, it lacks details on expected formats or constraints, leaving some ambiguity.

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 states the action ('Apply an FCPXML template') and the resource ('set of clips'), with a specific mechanism ('Replaces placeholder clips'). It distinguishes itself from many sibling fcpxml_ tools by focusing on template application.

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?

The description implies usage (when you have a template and clips to insert) but provides no explicit guidance on when to use this tool versus alternatives like fcpxml_create_project or fcpxml_save_template. No when-not-to-use or prerequisites are mentioned.

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

fcpxml_assign_roleC

Set the role on a clip (e.g., "Dialogue", "Video", "Music", "Effects").

Args: path: Path to .fcpxml file clip_name: Name of the clip role: Role name output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
clip_nameYes
roleYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It mentions setting a role but does not disclose whether it overwrites existing roles, modifies in place, or the constraints on role values. The output_path parameter suggests a new file is created, but this is not stated explicitly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the purpose, but the 'Args:' section is redundant with the parameter names and adds little value. It is adequately concise but not optimally structured for an AI agent.

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

Completeness2/5

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

Given the output schema exists, return values need not be explained. However, the description lacks critical details about behavior (overwrite? append?), constraints on role strings, and error conditions. With many sibling tools, it does not help differentiate.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description only repeats parameter names (e.g., 'path: Path to .fcpxml file') without adding any format, constraints, or valid values. This fails to compensate for the missing schema descriptions.

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 states the action ('Set the role') and the resource ('clip'), with examples of roles. It distinguishes from siblings like fcpxml_batch_assign_roles (batch) and fcpxml_list_roles (list).

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?

No guidance is provided on when to use this tool vs alternatives (e.g., fcpxml_batch_assign_roles), nor any prerequisites or exclusions. The description only states what it does.

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

fcpxml_auto_rough_cutA

Auto-assemble clips into a rough cut timeline.

Args: clips_json: JSON array of clips: [{"src": str, "name"?: str, "duration": str}, ...] target_duration: Target total duration (optional — uses all clips if empty) max_clip_duration: Maximum clip duration (trims longer clips) transition_duration: If set, adds transitions between clips project_name: Project name output_path: Where to save

ParametersJSON Schema
NameRequiredDescriptionDefault
clips_jsonYes
target_durationNo
max_clip_durationNo150150/30000s
transition_durationNo
project_nameNoRough Cut
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

Description explains the tool's behavior (trims clips, adds transitions) but lacks details on side effects, such as whether it overwrites existing files or the state of Final Cut Pro. With no annotations, the burden is on the description, which is adequate but not comprehensive.

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?

Description is front-loaded with the purpose sentence and lists parameters concisely. Every sentence adds value, though the docstring format is slightly verbose.

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 6 parameters and an output schema, the description covers main behavior and parameter semantics. However, it omits potential errors, output details, or prerequisites like Final Cut Pro running.

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 0%, but the description explains all 6 parameters, including the JSON format for clips_json and default values. This adds significant meaning beyond the bare schema names.

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?

Description clearly states the tool auto-assembles clips into a rough cut timeline, using specific verbs and resources. It distinguishes itself from many sibling fcpxml tools that perform different operations like creating timelines or adding markers.

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?

Description implies usage for automatic rough cut assembly but does not explicitly state when to use this tool versus alternatives. No mention of when not to use or comparisons to siblings like fcpxml_create_timeline or fcpxml_generate_montage.

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

fcpxml_batch_add_markersA

Add multiple markers at once.

Args: path: Path to .fcpxml file markers_json: JSON array of markers, each: {"clip_name": str, "start": str, "value": str, "note"?: str, "type"?: str} output_path: Output file path (default: adds _modified suffix)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
markers_jsonYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It explains input parameters and default output behavior, but does not disclose side effects (e.g., file modification), error handling, or permission requirements.

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 very concise: a single introductory sentence followed by a clearly formatted Args block. Every sentence is necessary and no redundancy.

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?

Given the tool's complexity (3 parameters, batch operation) and the presence of an output schema (which covers return values), the description adequately explains inputs and default behavior. It lacks error handling info but is sufficient for correct invocation.

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 0%, but the description adds meaning by specifying that 'path' is to a .fcpxml file, 'markers_json' is a JSON array with documented fields, and 'output_path' defaults to adding '_modified'. However, it does not explain the format of 'start' and 'value' strings.

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 states 'Add multiple markers at once.' This specifies the verb (add), resource (multiple markers), and distinguishes from the sibling tool fcpxml_add_marker which handles single markers.

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?

The description implies batch usage via 'at once' and the Args section details required parameters, but it does not explicitly exclude single-marker scenarios or mention alternatives like fcpxml_add_marker.

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

fcpxml_batch_apply_transitionB

Add transitions between all adjacent clips in the timeline.

Args: path: Path to .fcpxml file duration: Transition duration name: Transition name output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
durationNo30030/30000s
nameNoCross Dissolve
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the basic action without disclosing side effects (e.g., whether it overwrites existing transitions, handles gaps, or modifies in place). The output_path parameter suggests a new file is created, but this is not explicitly stated.

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 concise with one sentence for purpose and a structured Args list. It is front-loaded and efficient, though the Args section is somewhat redundant given the schema, but it adds needed context due to lack of schema descriptions.

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

Completeness2/5

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

Despite having an output schema, the description leaves significant gaps: no explanation of duration syntax, valid transition names, behavior on missing output_path, or error conditions. For a batch editing tool, this is insufficient for an agent to invoke correctly.

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?

The input schema has 0% description coverage. The Args section adds basic meaning (e.g., path is to .fcpxml file, duration is transition duration), but lacks details like duration format, valid transition names, or behavior when output_path is empty. This partially compensates but not fully.

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 states the tool adds transitions between all adjacent clips in the timeline. This is a specific verb+resource combination and distinguishes it from siblings like fcpxml_add_transition (singular) and other batch tools.

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?

The description implies usage by stating the action, but it does not provide explicit guidance on when to use this tool versus alternatives like fcpxml_add_transition. No exclusions or prerequisites are mentioned.

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

fcpxml_batch_assign_rolesC

Assign roles to clips based on name matching rules.

Args: path: Path to .fcpxml file rules_json: JSON array of rules: [{"match": "interview", "role": "Dialogue"}, ...] output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
rules_jsonYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the burden. It does not disclose side effects (e.g., whether the file is modified in-place or a new file created), error conditions, or permissions. The output_path parameter suggests a new file is written, but this is not explicitly stated.

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 very concise with minimal text. It efficiently conveys the parameters and their purposes without redundancy.

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

Completeness2/5

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

Given the 3 parameters, no annotations, and an output schema (unseen), the description is incomplete. It does not explain the output, validation rules, or preconditions like file existence or format validity.

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 coverage is 0%, so description must compensate. It provides brief descriptions for each parameter and an example JSON for rules_json, adding moderate value. However, it lacks details like constraints or format specifications.

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?

Description clearly states the tool 'Assign roles to clips based on name matching rules', which is a specific verb and resource. The batch nature is implied by the rules_json array, and the name contrasts with fcpxml_assign_role.

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?

No guidance on when to use this tool vs alternatives like fcpxml_assign_role. No prerequisites or context for use are provided.

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

fcpxml_batch_rename_clipsB

Rename clips matching a pattern (substring replacement).

Args: path: Path to .fcpxml file pattern: Text to find in clip names replacement: Text to replace with output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
patternYes
replacementYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose whether the original file is modified (output_path suggests a new file), what happens if pattern is not found, or any side effects.

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 very concise: one-line purpose followed by a clear list of parameters. No wasted words.

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

Completeness2/5

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

With an output schema existing but no mention of return value or behavior, the description is incomplete. It does not explain what the tool returns, error handling, or side effects.

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%, but the description adds brief explanations for each parameter: 'Path to .fcpxml file', 'Text to find in clip names', etc. This adds value, but lacks detail on formats, constraints, or examples.

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 states the verb 'rename', the resource 'clips', and the method 'matching a pattern (substring replacement).' It distinguishes from sibling tools like fcpxml_list_clips or fcpxml_reorder_clips.

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?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, conditions, or context for use.

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

fcpxml_change_speedB

Change clip playback speed.

Args: path: Path to .fcpxml file clip_name: Name of the clip speed_factor: Speed multiplier (2.0 = 2x fast, 0.5 = half speed) output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
clip_nameYes
speed_factorYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description must bear the burden. It says 'Change' implying mutation, but does not disclose if it modifies in-place or creates new file, nor any side effects or permissions. The output_path parameter hints at writing to new file but is not explicitly stated.

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 short and front-loaded with the action. The argument list is clear and uses a consistent format. However, the action sentence could be more descriptive (e.g., 'Modifies the playback speed of a clip in a Final Cut Pro XML file').

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?

The tool is simple and the description covers the basic inputs. However, it lacks explanation of output behavior (even though output schema exists), and doesn't specify that the tool creates a new file (inferred from output_path). For a mutation tool with no annotations, more context is needed.

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?

With 0% schema description coverage, the description adds meaningful explanations for all 4 parameters, especially speed_factor with examples (2.0 = 2x fast). This significantly aids understanding beyond the schema's titles.

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 states the action 'Change clip playback speed' with a specific verb and resource. It distinguishes itself from sibling fcpxml_* tools like trim or split by focusing on speed.

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?

No guidance on when to use this tool vs alternatives (e.g., when to use fcpxml_change_speed vs other fcpxml manipulation tools). No context on prerequisites or exclusions.

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

fcpxml_check_audio_levelsB

Flag clips with potential audio issues (volume adjustments, missing audio).

Args: path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It only mentions 'Flag clips' without specifying whether the tool is read-only, what constitutes an issue, or any side effects. This provides minimal behavioral insight.

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 extremely concise: one sentence for purpose and a structured args line. Every word adds value, with no redundant or extraneous information.

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?

While the tool has a simple interface (one parameter, clear purpose), the description omits any mention of output format or additional behavioral details. An output schema exists but is not referenced, leaving a gap in completeness.

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?

The description adds that the 'path' parameter expects a .fcpxml file, which is helpful beyond the schema's type-only definition. However, it does not specify format requirements or validation rules, offering only partial compensation for the 0% schema coverage.

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 states the verb 'Flag' and the resource 'clips', specifying the action of identifying potential audio issues such as volume adjustments and missing audio. It distinguishes this tool from other fcpxml_check_* tools like fcpxml_check_duration or fcpxml_check_frame_rates.

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?

No guidance is provided on when to use this tool versus alternatives such as fcpxml_check_duration or media_detect_silence. The description lacks any context for appropriate usage or exclusions.

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

fcpxml_check_durationB

Verify the timeline fits a target duration.

Args: path: Path to .fcpxml file target_seconds: Target duration in seconds

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
target_secondsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose side effects (likely read-only), output format, or any behavioral traits beyond the basic operation. The tool's action (verification) is implied but not detailed.

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 extremely concise, with a single sentence for purpose and two lines for parameters. No unnecessary text, making it efficient for an AI agent to parse.

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 2-parameter tool with an output schema, the description is minimally adequate. However, it does not hint at the output (e.g., boolean, report) or clarify what 'fits' means in practical terms. The context of output schema existence reduces the need for return value details, but the description could be more complete.

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 add meaning. It briefly explains both parameters: 'path' as a file path and 'target_seconds' as a duration in seconds. This adds basic value beyond the schema titles but lacks details like file format validation or value constraints.

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 clearly states the tool verifies if a timeline fits a target duration, using a specific verb and resource. It is distinct from sibling tools like fcpxml_timeline_stats or fcpxml_check_audio_levels, but 'fits' is ambiguous (exact match? within tolerance?) which slightly reduces clarity.

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?

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as the file must exist, or what 'fits' means. No exclusions or when-not-to-use advice is provided.

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

fcpxml_check_frame_ratesC

Detect mixed frame rate issues in the timeline.

Args: path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, and description does not disclose behavioral traits such as read-only nature, side effects, or output format. Only states it detects issues, which is insufficient.

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?

Description is concise with two lines: a one-sentence purpose and an arguments list. No unnecessary content, but lacks structure like bullet points or sections.

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 existence of output schema, return values need not be explained. However, description omits context like file prerequisites, typical usage scenarios, or limitations. Minimal completeness.

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 coverage is 0%, but description adds 'Path to .fcpxml file' for the 'path' parameter, providing file type context. However, could be more detailed (e.g., path format, required extension).

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?

Description uses specific verb 'detect' and resource 'mixed frame rate issues in the timeline'. It clearly distinguishes from sibling tools like fcpxml_check_audio_levels, but does not explicitly differentiate.

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?

No guidance on when to use this tool versus alternatives like fcpxml_validate or other check tools. No context provided about prerequisites or recommended use cases.

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

fcpxml_check_safe_zonesA

Check for clips with transforms that might push content outside safe zones.

Args: path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only says 'check' but does not disclose whether the tool is read-only, how results are returned, or any side effects. The output schema exists but is not referenced. Behavioral details are minimal.

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 concise with two sentences, front-loading the purpose. Every word adds value; 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?

While an output schema exists (not shown), the description lacks context about what 'safe zones' entails, what types of transforms are checked, or how results are presented. For a checking tool, this is adequate but not thorough.

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 0%, but the description adds a meaningful explanation for the 'path' parameter ('Path to .fcpxml file'), which is absent in the schema. This compensates for the lack of schema descriptions, though no other parameter details are offered.

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 states the tool checks clips for transforms that may push content outside safe zones, specifying both the action ('check') and the resource ('clips in .fcpxml file'). It is specific and distinct from sibling tools like 'fcpxml_check_audio_levels' and 'fcpxml_check_duration'.

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 provides no guidance on when to use this tool versus alternatives (e.g., other fcpxml_check_* tools). It does not mention prerequisites, context, or when not to use it, leaving the agent to infer usage solely from the name.

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

fcpxml_create_projectB

Create a new empty FCPXML project file.

Args: name: Project name format_name: Video format (e.g., FFVideoFormat1080p2997, FFVideoFormat4Kp24) width: Frame width height: Frame height frame_duration: Frame duration in FCPXML time event_name: Event name output_path: Where to save (default: ~/Movies/.fcpxml)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoUntitled Project
format_nameNoFFVideoFormat1080p2997
widthNo
heightNo
frame_durationNo1001/30000s
event_nameNoDefault Event
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it fails to do so. It does not mention file overwrite behavior, required permissions, or side effects. The phrase 'empty FCPXML project file' implies creation but lacks detail on what happens to existing files.

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 concise, with a clear purpose statement followed by a parameter list. It is front-loaded and avoids unnecessary text, though it could be more structured (e.g., separating param descriptions from purpose).

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 7 parameters and no annotations, the description provides minimal context beyond parameter names and defaults. It does not explain the return value despite having an output schema. The tool's place among siblings is unclear.

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 compensate. It lists parameters with brief explanations (e.g., format_name examples, output_path default), but does not fully explain each parameter's role or constraints. It adds moderate value above the schema.

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 states 'Create a new empty FCPXML project file,' specifying the verb 'create' and the resource 'empty FCPXML project file'. This distinguishes it from sibling tools like fcpxml_create_timeline that operate on timelines within projects.

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?

No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives like fcpxml_create_timeline, nor does it mention prerequisites or exclusions.

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

fcpxml_create_timelineA

Build a timeline from a list of clip definitions.

Args: clips_json: JSON array of clips, each: {"src": "/path/to/file.mov", "name"?: str, "duration": "FCPXML_time", "start"?: str, "role"?: str} project_name: Project name format_name: Video format name event_name: Event name output_path: Where to save

ParametersJSON Schema
NameRequiredDescriptionDefault
clips_jsonYes
project_nameNoGenerated Timeline
format_nameNoFFVideoFormat1080p2997
event_nameNoGenerated
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states 'Build a timeline' without disclosing side effects (e.g., overwriting existing files, requiring FCP to be open, or behavior on failure).

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 sentences with a clear parameter list. The first sentence states purpose concisely. The parameter list is well-structured but could be slightly more compact (e.g., using tables).

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?

With an output schema present, return value details are not needed. The description covers all input parameters and gives examples for clips_json. It omits no critical information for a creation tool, though it could mention the output format.

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?

Schema description coverage is 0%, leaving parameters undocumented. The description compensates by providing a detailed Args block explaining the clips_json format and listing all parameters with defaults, adding substantial meaning beyond the schema.

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 uses a specific verb ('Build') and resource ('timeline from a list of clip definitions'), clearly distinguishing it from sibling tools like fcpxml_create_project which creates a project, not a timeline.

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?

No guidance on when to use this tool versus alternatives (e.g., fcpxml_create_project, fcpxml_import_xml). No mention of prerequisites or 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.

fcpxml_delete_clipsB

Remove clips from the timeline by name.

Args: path: Path to .fcpxml file clip_names_json: JSON array of clip names to delete output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
clip_names_jsonYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It fails to mention whether the tool modifies the file in-place, what happens if a clip name is not found, or any side effects. The output schema exists but is not described here.

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 very concise, using only a brief docstring format with clear parameter explanations. No unnecessary words, and the purpose is front-loaded.

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?

While the description covers the basic action and parameters, it omits details about output format, error handling, and whether the tool creates a new file or overwrites. Given that an output schema exists (not shown), the description could still benefit from clarifying the output file behavior.

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?

The description adds meaningful semantics to all three parameters beyond the schema titles: path is to a .fcpxml file, clip_names_json is a JSON array of clip names, and output_path is the output file path. This compensates for the 0% schema coverage.

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 clearly states the tool removes clips from an FCPXML timeline by name, which is specific and distinct. However, it does not explicitly differentiate from other fcpxml tools like reorder or split, but given the action 'delete', it's unambiguous.

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?

No guidance on when to use this tool versus alternatives like fcpxml_reorder_clips or fcpxml_trim_clip. No prerequisites, limitations, or edge cases mentioned, leaving the agent without context for appropriate usage.

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

fcpxml_detect_duplicatesC

Find clips that use the same source media.

Args: path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states what the tool does (finds duplicate clips) but does not disclose behavioral traits like whether it modifies the file, requires specific file permissions, or provides any side effects. The output behavior is not described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise (one sentence plus an Args line), but it lacks structure such as a clear breakdown of behavior, output, or examples. It is not verbose, but could be improved by adding essential context while staying brief.

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

Completeness1/5

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

Given the tool has one required parameter, no annotations, and an output schema exists (but not detailed), the description is insufficient. It does not explain what the output is (e.g., a list of duplicate clips), whether the file is modified, or any other contextual information needed for correct invocation.

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?

Schema description coverage is 0%, and the description adds minimal value by stating 'Path to .fcpxml file' for the parameter 'path'. This is nearly redundant with the parameter name and title, offering little additional semantic meaning.

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 clearly states the verb 'Find' and the resource 'clips that use the same source media', making the tool's purpose specific and distinct from sibling tools like detect_gaps or check_frame_rates. However, it lacks a title and could be more descriptive.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., other fcpxml detection tools like fcpxml_detect_flash_frames or fcpxml_detect_gaps). There is no mention of prerequisites, exclusions, or recommended scenarios.

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

fcpxml_detect_flash_framesA

Find clips shorter than max_frames (potential flash frames / accidental edits).

Args: path: Path to .fcpxml file max_frames: Maximum frame count to flag (default 2)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
max_framesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states that the tool 'finds clips shorter than max_frames' but does not specify whether it modifies the project, what the output format is, or any side effects. This is insufficient for a tool with no annotations.

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 extremely concise, consisting of two sentences followed by an Args section. It front-loads the purpose and provides parameter descriptions without unnecessary elaboration. Every sentence adds value.

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?

For a simple tool with an output schema, the description provides adequate context: it identifies the input parameters and the filtering criterion. However, given the lack of annotations, more detail on behavior (e.g., read-only, output format) would improve completeness. The presence of an output schema partially compensates.

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?

The description explains both parameters: 'path: Path to .fcpxml file' and 'max_frames: Maximum frame count to flag (default 2)'. Since the schema has 0% description coverage, this adds essential meaning beyond the schema's titles. However, it could be more detailed (e.g., path format or constraints on max_frames).

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 states 'Find clips shorter than max_frames (potential flash frames / accidental edits).' It specifies the verb ('Find'), the resource ('clips'), and the scope ('shorter than max_frames'). This distinguishes it from siblings like 'fcpxml_fix_flash_frames' and 'fcpxml_check_duration'.

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?

The description implies usage for detecting flash frames or accidental edits but does not explicitly state when to use this tool versus alternatives like 'fcpxml_fix_flash_frames' or 'fcpxml_check_duration'. No 'when-to-use' or 'when-not-to-use' guidance is provided.

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

fcpxml_detect_gapsB

Find all gaps in the timeline.

Args: path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, and the description lacks behavioral context. It does not state whether the operation is read-only, what happens if the file is invalid, or if any modifications occur. For a detection tool, this is a notable gap.

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 very concise with two sentences, no fluff, and front-loaded with intent. It could be slightly more informative, but it achieves brevity without losing essential information.

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 simplicity and the presence of an output schema, the description is minimally adequate. However, it fails to define what 'gaps' means or provide any context about the tool's behavior or return format, leaving room for ambiguity.

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?

The description explicitly documents the 'path' parameter as 'Path to .fcpxml file', adding meaning beyond the bare parameter name. With 0% schema coverage, this compensation is effective and clear, though the parameter is simple.

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 clearly states the tool finds gaps in the timeline, which is a specific verb+resource. However, it does not define what constitutes a gap (e.g., time gaps or missing media), and the distinction from sibling 'fcpxml_fill_gaps' is minimal.

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?

No usage guidance is provided. The description does not indicate when to use this tool versus alternatives like 'fcpxml_fill_gaps' or 'fcpxml_check_media_links'. There is no context on prerequisites or constraints.

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

fcpxml_diffB

Compare two FCPXML files and show differences.

Args: path_a: Path to first .fcpxml file path_b: Path to second .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
path_aYes
path_bYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It only says 'compare and show differences' but does not disclose whether the tool is read-only, modifies files, or the nature of the output. This is insufficient.

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 short and to the point, with no unnecessary wording. However, it could be more structured to include usage notes or output hints.

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

Completeness2/5

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

Given no annotations but an output schema exists, the description should mention what the diff output looks like to help the agent interpret results. It is incomplete for a comparison tool.

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?

Despite schema coverage of 0%, the description adds meaning to both parameters by explaining they are file paths and which is first/second. This compensates for the schema lacking descriptions.

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 states the verb 'compare' and resource 'two FCPXML files' with the action 'show differences'. It distinguishes this tool from numerous sibling fcpxml tools, none of which explicitly perform a diff between two files.

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 provides no guidance on when to use this tool versus alternatives (e.g., fcpxml_parse, fcpxml_validate). There is no mention of when it is appropriate or inappropriate, nor any alternatives suggested.

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

fcpxml_export_edlB

Export timeline as EDL (Edit Decision List).

Args: path: Path to .fcpxml file output_path: Output .edl file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided. Description only states the action without disclosing behavioral traits like whether it modifies source files, requires app state, or is read-only.

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?

Description is very concise with two sentences and argument list. No wasted words, but lacks detail.

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

Completeness2/5

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

Does not explain return values, error conditions, or output schema. Incomplete for a tool that exports files.

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%, but the description adds basic semantics for the two parameters (path to file, output path). It does not specify formats or constraints.

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 states 'Export timeline as EDL (Edit Decision List)' with a specific verb and resource. It distinguishes from sibling tools like fcpxml_import_edl and fcpxml_export_resolve.

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?

No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, limitations, or 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.

fcpxml_export_fcp7A

Convert FCPXML to FCP7 XML format (compatible with Premiere Pro and Avid).

Args: path: Path to .fcpxml file output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description bears full burden. It does not disclose side effects (e.g., file creation or overwriting), error scenarios, or whether the tool performs validation. The behavior is implied but underspecified.

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 a single clear sentence followed by a concise parameter list. Every word earns its place, and the main purpose is front-loaded with no unnecessary information.

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 simplicity of the tool, the description covers the basic conversion function. However, it omits details on output behavior (e.g., what happens when output_path is empty), success/error indicators, and any preconditions like file validity. With an output schema present, return value explanation is less critical.

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%. The description adds minimal meaning by stating 'path: Path to .fcpxml file' and 'output_path: Output file path', which clarifies the string parameters, but lacks details on expected formats, defaults, or constraints.

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 'Convert FCPXML to FCP7 XML format', which is a specific verb+resource action. It clearly differentiates from sibling export tools (e.g., fcpxml_export_edl, fcpxml_export_resolve) by naming the target format.

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?

The description mentions compatibility with Premiere Pro and Avid, hinting at when to use, but lacks explicit when-not-to-use guidance or comparisons to alternative export tools. No prerequisites or context are provided.

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

fcpxml_export_resolveA

Convert FCPXML to DaVinci Resolve-compatible format (FCPXML v1.9).

Args: path: Path to .fcpxml file output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'convert' but does not disclose whether the original file is modified, if overwriting occurs, or any authentication/permission requirements. The behavioral traits are minimally transparent.

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?

Extremely concise: one clear sentence for purpose plus a brief structured Args section. Every word earns its place; no fluff.

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?

Given the tool's simplicity (convert one file format to another) and the presence of an output schema (not shown but indicated), the description covers core functionality and parameters. It lacks edge-case details (e.g., error handling, file overwrite policy) but is sufficiently complete for a straightforward conversion tool.

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 compensate. The 'Args' section adds basic meaning ('path: Path to .fcpxml file', 'output_path: Output file path') but no details on format, constraints, or default behavior (e.g., when output_path is left empty). This adds marginal value over parameter names.

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?

Description explicitly states 'Convert FCPXML to DaVinci Resolve-compatible format (FCPXML v1.9).' It names the specific resource (FCPXML) and output format (DaVinci Resolve, versioned), clearly distinguishing it from sibling export tools like fcpxml_export_edl or fcpxml_export_fcp7.

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?

The description implies usage for converting FCPXML to Resolve format but provides no explicit guidance on when to use this tool versus alternatives (e.g., other export tools). No when-not or alternative tool names are mentioned, leaving the agent to infer.

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

fcpxml_fill_gapsB

Replace all gaps in the timeline with clips from a specified asset.

Args: path: Path to .fcpxml file fill_asset_ref: Asset resource ID to use as fill (e.g., "r3") fill_name: Name for the fill clips output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
fill_asset_refYes
fill_nameNoFill
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It does not state whether the tool modifies the original file or creates a new one, what happens when output_path is empty, or if the fill asset must already be present in the project. This lack of information is a significant gap for a mutation tool.

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 concise with one clear sentence followed by a parameter list. It is front-loaded and avoids unnecessary words. However, the parameter descriptions could be more structured or include example values more explicitly.

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

Completeness2/5

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

Despite having an output schema, the description does not cover important context such as error handling, prerequisites (e.g., asset existence), or behavior when no gaps are present. It is insufficient for a tool with 4 parameters, no annotations, and many siblings.

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?

With 0% schema description coverage, the description adds some meaning to the parameters (e.g., fill_asset_ref is an asset resource ID with example 'r3', output_path is an output file path). However, it does not explain where to obtain the asset resource ID, what types of assets are valid, or the behavior when output_path is omitted. The added value is partial.

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 states the tool replaces all gaps in the timeline with clips from a specified asset. This is a specific verb ('replace') and resource ('gaps in timeline') that distinguishes it from sibling tools like fcpxml_detect_gaps.

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 offers no guidance on when to use this tool versus alternatives such as fcpxml_detect_gaps or fcpxml_remove_silence. It only states what the tool does, without any when-to-use or when-not-to-use indications.

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

fcpxml_fix_flash_framesA

Auto-fix flash frames by extending very short clips to minimum duration.

Args: path: Path to .fcpxml file min_frames: Minimum frame count (clips shorter than this get extended) frame_duration: Frame duration for calculating frame count output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
min_framesNo
frame_durationNo1001/30000s
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided. The description mentions extending short clips but does not disclose side effects (e.g., file modification, preservation of other edits) or limitations. Lacks behavioral depth.

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 a single-line summary plus a bulleted argument list, no redundant text. Front-loaded with action verb, each sentence 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?

Explains all parameters and overall action. Output schema exists, so return values likely covered. No mention of error handling or integration with detect_flash_frames, but adequate for a simple tool.

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 0%, but the description's Args section explains each parameter's role (path, min_frames, frame_duration, output_path) with clear, concise descriptions, adding necessary context beyond schema defaults.

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 name and description clearly state the tool's purpose: auto-fix flash frames by extending very short clips. It distinguishes itself from sibling 'fcpxml_detect_flash_frames' which only detects, not fixes.

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?

No explicit when or when-not to use, nor alternatives. The description implies usage after detecting flash frames, but lacks direct guidance or mention of prerequisites.

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

fcpxml_generate_montageB

Generate a montage/highlight reel with uniform clip durations and transitions.

Args: clips_json: JSON array of clips: [{"src": str, "name"?: str, "duration": str}, ...] clip_duration: Duration for each clip in the montage transition_duration: Transition duration between clips project_name: Project name output_path: Where to save

ParametersJSON Schema
NameRequiredDescriptionDefault
clips_jsonYes
clip_durationNo90090/30000s
transition_durationNo30030/30000s
project_nameNoMontage
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether it overwrites files, requires specific permissions, or has side effects. For a file-generating tool, this is a significant gap.

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 concise, with a one-sentence purpose and a clear Args list. It is front-loaded and avoids unnecessary verbiage. Minor improvement could be using a more structured format.

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

Completeness2/5

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

Despite having an output schema, the description does not mention what the tool returns. It also fails to explain the duration format or specify output behavior fully, leaving gaps for a 5-parameter tool.

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?

The description adds value by explaining the structure of clips_json and the purpose of each parameter, partially compensating for 0% schema coverage. However, it lacks clarity on duration format (e.g., '90090/30000s') and output_path behavior, leaving some ambiguity.

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 states the tool generates a montage/highlight reel with uniform clip durations and transitions, which is specific and distinguishes it from sibling tools like fcpxml_create_project or fcpxml_auto_rough_cut.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies usage for montage creation but does not differentiate from similar tools like fcpxml_auto_rough_cut or provide any usage constraints.

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

fcpxml_import_edlB

Convert an EDL (Edit Decision List) to FCPXML.

Args: edl_path: Path to .edl file media_dir: Directory containing media files (for resolving reel names) project_name: Project name output_path: Where to save

ParametersJSON Schema
NameRequiredDescriptionDefault
edl_pathYes
media_dirNo
project_nameNoEDL Import
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It only mentions 'Convert' without disclosing side effects, required permissions, or whether the process is destructive. Minimal disclosure.

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 concise and front-loaded with the main purpose. The args section is clear but could be more structured rather than a prose paragraph.

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

Completeness2/5

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

Despite having an output schema, the description does not mention the output format or return value. It also lacks differentiation from siblings and lacks any usage context. Combined with no annotations, this is insufficient for a conversion tool.

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 description coverage is 0%, so the description compensates by providing one-line explanations for all four parameters (edl_path, media_dir, project_name, output_path), adding meaning beyond the schema names.

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 states the tool converts an EDL to FCPXML, a specific verb and resource. This distinguishes it from siblings like fcpxml_export_edl (which does the reverse) and fcp_import_xml (which imports XML directly).

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?

No guidance on when to use this tool versus alternatives (e.g., fcp_import_xml forced for other formats). No prerequisites or exclusions provided.

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

fcpxml_import_srtB

Convert SRT subtitles to title clips and add to timeline.

Args: path: Path to .fcpxml file to add subtitles to srt_path: Path to .srt subtitle file output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
srt_pathYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It states 'add to timeline' implying mutation, but fails to mention side effects (e.g., overwriting existing timeline, requirements like FCP being open, or limitations on subtitle formatting).

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 short and the purpose is front-loaded. The 'Args:' section organizes parameters clearly. However, it could be slightly more efficient by omitting the 'Args:' header if the purpose sentence already covered it.

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?

The description covers the basic function and parameters. An output schema exists, so return values are covered. However, it lacks information on prerequisites, error handling, or process details (e.g., whether it modifies the input file or creates a new one). For a subtitle import tool, more context is needed.

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 coverage is 0%, so the description must compensate. It lists three parameters and explains their roles (path: .fcpxml file, srt_path: .srt file, output_path: output file). It adds file format hints but does not describe expected formats, constraints, or how output_path differs from input path.

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 states the action (convert), the input resource (SRT subtitles), and the outcome (title clips added to timeline). It distinguishes the tool from siblings like fcpxml_create_timeline or fcpxml_add_title.

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 lists the arguments but does not provide any guidance on when to use this tool versus alternatives (e.g., fcpxml_add_title for manual title placement). An agent would not know if this is the right tool for batch subtitle import.

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

fcpxml_list_clipsA

List all clips in the timeline with timecodes, durations, and roles.

Args: path: Path to .fcpxml file project_name: Optional project name filter (uses first project if empty)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
project_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It implies read-only behavior (listing) but does not explicitly state that it is non-destructive or whether it modifies the file. No contradictions.

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 extremely concise with two clear sentences and a brief parameter list. No redundant or extraneous information, and the main purpose is front-loaded.

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?

Given the tool's simplicity and the presence of an output schema, the description covers the core functionality well. It could be more complete by mentioning file validation or error handling, but it is largely sufficient.

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?

Despite 0% schema description coverage, the description adds meaning beyond the schema: path is explained as 'Path to .fcpxml file', and project_name is noted as optional with a default behavior ('uses first project if empty'). This provides useful context.

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 states the verb 'List', the resource 'all clips in the timeline', and the key output attributes 'timecodes, durations, and roles'. This distinguishes it from sibling tools like fcpxml_list_markers or fcpxml_list_effects.

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?

The description implies usage for listing clips but does not explicitly state when to use this tool versus alternatives such as fcpxml_timeline_stats or fcpxml_parse. No exclusions or prerequisites are mentioned beyond the required file path.

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

fcpxml_list_effectsB

List all effects and transitions applied to clips.

Args: path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided. The description implies a read-only operation via 'List,' but does not elaborate on side effects, required permissions, or file validity. Adequate for a simple list tool.

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?

Extremely concise: one sentence plus an Args line, no redundancy. Front-loaded with the primary action. Every part earns its place.

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 tool with one parameter and an output schema, the description is minimally complete. It does not explain return values, error conditions, or edge cases, but the output schema covers format details.

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?

The description adds 'Path to .fcpxml file' to the single 'path' parameter, clarifying its purpose beyond the schema's type definition. With 0% schema description coverage, this compensation is effective.

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 'List all effects and transitions applied to clips,' clearly identifying the tool's action and resource. It distinguishes from sibling tools like fcpxml_list_clips and fcpxml_list_markers by specifying effects and transitions.

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?

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or context for using this over other list tools.

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

fcpxml_list_markersC

List all markers, chapter markers, and keywords across all clips.

Args: path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It does not indicate that the operation is read-only, what happens on invalid paths, or whether the file must exist. The description is minimal and lacks transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (one sentence plus parameter list) and front-loaded with purpose. However, it is overly brief, sacrificing important context and behavioral information.

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 has one parameter and an output schema, the description is minimally adequate. It identifies the data being listed but does not hint at the output structure or fields returned, leaving agents to infer from the output schema.

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?

Schema description coverage is 0%, so the description must add meaning. It merely restates the parameter name and type as 'path: Path to .fcpxml file', adding no format, constraints, or usage details beyond the schema.

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 clearly states the tool lists all markers, chapter markers, and keywords across clips, using a specific verb and resource. It distinguishes from sibling tools like fcpxml_add_marker by implying a read-only operation, but does not explicitly differentiate.

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?

No guidance is provided on when to use this tool versus alternatives (e.g., fcpxml_list_clips). There is no mention of prerequisites, context, or exclusions.

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

fcpxml_list_rolesB

List all roles and subroles used in the timeline.

Args: path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states the action without disclosing side effects, safety profile, or read-only nature. For a query tool, this is minimal.

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?

Very concise, two sentences covering purpose and parameter. No redundancy, but could include brief usage guidance without significant bloat.

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?

Given the output schema exists, description does not need to explain return values. It adequately covers purpose and parameter for a simple list tool.

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?

The description adds value over the schema by specifying the file type (.fcpxml) in the parameter docstring. Context shows 0% schema description coverage, so this compensation is necessary and well done.

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?

Clearly states the tool lists roles and subroles from a timeline, specifying the resource and action. Does not explicitly differentiate from other list tools like list_clips or list_markers, but the resource type is distinct.

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?

No guidance on when to use this tool versus alternatives (e.g., assign_role, batch_assign_roles). No prerequisites or exclusion criteria are mentioned.

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

fcpxml_list_templatesA

List available FCPXML template files.

Args: templates_dir: Directory to search (default: FCP_PROJECTS_DIR)

ParametersJSON Schema
NameRequiredDescriptionDefault
templates_dirNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only says 'list available' without detailing behavior like return format, side effects, or whether it lists files recursively. Minimal 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?

Extremely concise: two sentences front-load the purpose, with no wasted words. Efficient and scannable.

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?

For a simple list tool with an existing output schema, the description covers the basic purpose and parameter. However, it omits what the output contains (e.g., file names, paths) and how to use the result with other tools.

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 0%, but description adds meaning: 'templates_dir: Directory to search (default: FCP_PROJECTS_DIR)' clarifies the parameter's role and default value, which is not in the schema.

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?

Description clearly states the verb 'list' and the resource 'available FCPXML template files,' distinguishing it from siblings like 'fcpxml_save_template' and 'fcpxml_apply_template'.

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?

No explicit guidance on when to use or alternatives. The usage is implied for discovering templates before applying or saving, but lacks when-not-to-use or exclusions.

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

fcpxml_parseB

Parse an FCPXML file and return a structure summary.

Args: path: Path to .fcpxml file (absolute or relative to FCP_PROJECTS_DIR)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It does not state whether the tool is read-only, if it modifies files, or any permissions needed. 'Return a structure summary' implies no side effects but is not explicit.

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 short and front-loaded with the main action. The parameter description is included. Could be slightly more structured (e.g., bullet points) but is efficient.

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?

The tool has an output schema (not shown, but present). The description does not explain the output structure or error handling. For a parsing tool, more context on what 'structure summary' contains would be helpful, but the output schema may compensate.

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?

The schema has 0% description coverage (only type and title). The description adds significant meaning by specifying the file path format and relative base directory (FCP_PROJECTS_DIR), which the schema omits.

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 states the action (Parse), the resource (FCPXML file), and the output (structure summary). This distinguishes it from sibling tools like fcpxml_validate or fcpxml_export_edl.

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?

No guidance on when to use this tool versus alternatives. The description lacks context about prerequisites or scenarios where parsing is appropriate, and does not mention when to use other fcpxml_* tools.

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

fcpxml_qc_reportA

Generate a comprehensive quality check report for the timeline.

Checks: validation, gaps, flash frames, duplicates, pacing.

Args: path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

Description lists checks but does not disclose behavioral traits beyond annotations (none provided). No mention of read-only nature, output format, or side effects. Output schema exists but description does not leverage it.

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?

Description is concise with bulleted checks and argument line. Could be slightly more structured (e.g., separating output info), but overall efficient.

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?

Description omits details about the report output (format, content) despite output schema existing. For a multi-check tool, more context is needed.

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?

The only parameter 'path' has clear description 'Path to .fcpxml file' which adds meaning beyond the schema's type-only specification. Schema coverage is 0%, so description compensates well.

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?

Description clearly states 'Generate a comprehensive quality check report for the timeline' and lists specific checks (validation, gaps, flash frames, duplicates, pacing), distinguishing it from sibling tools that perform individual checks.

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?

No explicit when-to-use or alternatives provided. While the composite nature implies usage over individual checks, it does not contrast with sibling tools like fcpxml_validate, fcpxml_detect_gaps, etc.

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

fcpxml_reformatB

Reformat a timeline for a different aspect ratio (e.g., 16:9 → 9:16 for vertical).

Args: path: Path to .fcpxml file target_width: Target width target_height: Target height target_format_name: Target format name output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
target_widthNo
target_heightNo
target_format_nameNoFFVideoFormat1080x1920p2997
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits like file modification side effects, permissions needed, or constraints. The description only states the action without deeper context.

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 short, front-loaded with the purpose, and lists parameters without fluff. Each sentence contributes useful information, though the parameter list could be integrated more naturally.

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?

The tool has an output schema (not shown), which might document return values. However, the description lacks context about overwriting behavior, valid input formats, or what the output contains. It is minimally complete for a simple reformat operation but lacks detail.

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 schema has 0% description coverage, and the description lists parameters but adds no new meaning (e.g., valid values for target_format_name, relationship between width/height and format name). The example mentions aspect ratio change but doesn't map to parameters.

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 states the tool reformats a timeline for a different aspect ratio, with a concrete example (16:9 → 9:16). This distinguishes it from sibling tools like fcpxml_create_project or fcpxml_export_edl.

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?

The description implies usage via the example but does not explicitly say when to use this tool vs alternatives such as fcpxml_export_xml or other reformat-like tools. No when-not-to-use or alternative guidance is provided.

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

fcpxml_remove_silenceC

Remove gaps longer than the threshold from the timeline.

Args: path: Path to .fcpxml file silence_threshold_seconds: Minimum gap duration to remove (seconds) output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
silence_threshold_secondsNo
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but fails to disclose key behaviors such as whether the tool overwrites the input file, creates a new file, or what happens if output_path is empty. The nature of 'gaps' (silence?) is also assumed.

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 a single clear sentence followed by a structured Args list. It is concise and front-loaded with the main purpose. No unnecessary words.

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

Completeness2/5

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

The tool has 3 parameters, no annotations, and an output schema (unseen). The description does not explain the output format, side effects, or error conditions. It is insufficient for a file manipulation tool.

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%, and the description adds brief but useful parameter descriptions (e.g., path is .fcpxml file, silence_threshold_seconds is in seconds). However, it does not clarify defaults for output_path or behavior when empty.

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 clearly states the tool removes gaps longer than a threshold from the timeline, and the Args list specifies the file path. It is distinct from sibling tools like fcpxml_detect_gaps and fcpxml_fill_gaps.

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?

No guidance is provided on when to use this tool versus alternatives such as media_detect_silence or other fcpxml gap tools. There is no mention of use cases, prerequisites, or exclusions.

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

fcpxml_reorder_clipsB

Reorder clips in the primary spine to match the given name order.

Args: path: Path to .fcpxml file clip_names_json: JSON array of clip names in desired order output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
clip_names_jsonYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether the input file is modified in place or a new file is created (implied by output_path), error handling, or performance characteristics.

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 concise, with a clear purpose sentence followed by a structured Args list. No unnecessary words, and all information is front-loaded.

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

Completeness2/5

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

The tool has three parameters, no annotations, and no output schema provided. The description does not explain return values, error conditions, or typical usage scenarios, leaving gaps for an agent to invoke it correctly.

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?

The schema has 0% parameter description coverage, but the description adds brief explanations for each parameter (e.g., 'JSON array of clip names in desired order' for clip_names_json). However, it lacks details like the expected format of the JSON array or constraints on the path.

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 states the specific action ('reorder clips') and the context ('in the primary spine to match the given name order'), distinguishing it from other clip manipulation tools like fcpxml_trim_clip or fcpxml_delete_clips.

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?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., the file must have a primary spine) or when reordering is appropriate.

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

fcpxml_save_templateA

Save the current FCPXML structure as a reusable template.

Args: path: Path to .fcpxml file to use as template template_name: Name for the template output_dir: Directory to save template (default: FCP_PROJECTS_DIR)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
template_nameYes
output_dirNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It states 'Save' but does not disclose whether existing templates are overwritten, error handling, or any side effects beyond writing to disk.

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 concise with two sentences and a structured argument list. Every sentence is informative, and it is front-loaded with the core purpose.

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?

The description covers parameters and purpose but omits mention of return value (despite output schema existing) and lacks details on potential overwrite behavior. It is minimally complete for a simple save operation.

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?

Despite 0% schema description coverage, the description adds clear meaning for each parameter (path, template_name, output_dir with default), compensating for the schema gap.

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 explicitly states 'Save the current FCPXML structure as a reusable template,' providing a specific verb and resource. It clearly distinguishes from sibling tools like fcpxml_apply_template and fcpxml_list_templates.

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?

The description implies usage for saving a reusable template but does not provide explicit guidance on when to use this tool versus alternatives, nor does it 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.

fcpxml_split_clipA

Split a clip at a given offset within the clip.

Args: path: Path to .fcpxml file clip_name: Name of the clip to split split_at: Offset within the clip to split at (FCPXML time) output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
clip_nameYes
split_atYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations exist to disclose safety or destructive behavior. The description does not mention what happens to the original file, whether the output is a new file or overwrites, or error conditions. The optional output_path is unexplained.

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 extremely concise, using a clear bulleted list for arguments. Every word earns its place without repetition.

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 presence of an output schema (not shown), the description covers the basics but lacks details on return values and differences from the sibling fcpxml_trim_clip. Adequate but not comprehensive.

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 description coverage is 0%, so the description must compensate. It adds meaningful explanations for all four parameters, including the format hint 'FCPXML time' for split_at.

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 states the verb 'split' and the resource 'clip in a .fcpxml file'. It distinguishes from sibling tools like fcpxml_trim_clip by using 'split' instead of 'trim'.

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?

No guidance is provided on when to use this tool versus alternatives such as fcpxml_trim_clip. There is no mention of prerequisites, when not to use, or context for when splitting is appropriate.

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

fcpxml_timeline_statsB

Get comprehensive timeline statistics — duration, clip count, resolution, pacing, etc.

Args: path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

Annotations are absent, so description carries full burden. It states 'get' but does not disclose whether the file is read, modified, or any side effects. No mention of performance, file size limits, or that it is likely read-only.

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?

One sentence listing purpose plus a simple Args line. No unnecessary words, front-loaded with the tool's function.

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?

Has output schema (not shown) but description implies output content. However, lacks context like preconditions (file must exist), error cases, or that it is a read-only analysis. Adequate but not comprehensive.

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%. The description adds basic semantics by saying 'path' is a 'Path to .fcpxml file', but does not specify expected format, relative vs absolute, or validation. It is minimal but improves over schema alone.

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 states the tool gets 'comprehensive timeline statistics' and lists examples like duration, clip count, resolution, pacing. This distinguishes it from siblings such as fcpxml_parse or fcpxml_validate.

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?

No guidance on when to use this tool vs alternatives. There is no mention of when not to use it or which sibling tools might be more appropriate for specific sub-stats (e.g., fcpxml_check_duration).

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

fcpxml_trim_clipC

Trim a clip's source in/out points.

Args: path: Path to .fcpxml file clip_name: Name of the clip to trim new_start: New source start time (optional) new_duration: New duration (optional) output_path: Output file path

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
clip_nameYes
new_startNo
new_durationNo
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description fails to disclose important behavioral traits, such as whether the operation is destructive, whether it modifies the original file or creates a new one, or any permission or file format requirements.

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 very concise, with a clear front-loaded purpose and a bulleted list of arguments. Every sentence adds value.

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

Completeness2/5

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

Given the lack of annotations and schema descriptions, the description is incomplete. It misses output behavior, time format details, required vs optional params, and potential side effects.

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?

Each parameter has a basic description, but critical details like time format (e.g., timecode vs frames) and default behaviors for optional parameters are missing. Schema coverage is 0%, so the description partially compensates but leaves gaps.

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 clearly states the tool trims a clip's source in/out points, using a specific verb and resource. However, it does not explicitly distinguish from siblings like fcpxml_split_clip, leaving some ambiguity about use cases.

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?

No guidance is provided on when to use this tool versus alternatives such as fcpxml_split_clip or fcpxml_change_speed. The description lacks context about prerequisites or scenarios.

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

fcpxml_validateC

Validate FCPXML structure and report errors/warnings.

Args: path: Path to .fcpxml file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

The description does not disclose behavioral traits beyond the basic action. It does not state whether the tool is read-only, whether it modifies files, or any permissions or side effects. No annotations are present to supplement this.

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 concise (2 lines) and includes an 'Args' section. However, the 'Args' section is somewhat redundant with the input schema. The core information is front-loaded and efficient.

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

Completeness2/5

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

Given the absence of annotations and the presence of an output schema (not described), the tool's description lacks completeness. It does not explain the validation scope, output format, or error types. More context is needed for effective use.

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?

Schema coverage is 0%. The description adds only 'Path to .fcpxml file' to the parameter, which is a minor improvement over the schema's 'Path'. It does not specify file format restrictions, valid paths, or other semantic details.

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 states the tool's action ('validate') and resource ('FCPXML structure'), with expected output ('report errors/warnings'). This distinguishes it from sibling tools that perform specific checks (e.g., audio, media links) or export/import operations.

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?

No guidance is provided on when to use this tool versus alternatives like fcpxml_check_media_links or fcpxml_check_audio_levels. There is no mention of prerequisites, context, or 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.

media_audio_to_midiA

Transcribe audio to MIDI using basic-pitch (ML audio transcription).

Converts audio (from video or standalone) into MIDI note data. Returns the MIDI file path and a summary of detected notes.

Requires basic-pitch: pip install basic-pitch

Args: path: Path to audio file (wav, mp3, flac) or video file output_path: Where to save MIDI (default: same dir, .mid extension)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It mentions the dependency (basic-pitch) and that it returns a MIDI file path and note summary. However, it does not disclose potential failure modes, performance characteristics, or limitations beyond the dependency. Adequate but could be more thorough.

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 structured with a clear first line stating purpose, a supporting sentence, and a parameter breakdown. It is reasonably concise, though the parameter descriptions could be integrated into the main text. No superfluous content.

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?

Given the tool's complexity (audio transcription with external dependency) and lack of output schema in the provided data, the description covers input parameters, output summary, and a required installation. It lacks error handling or edge cases, but for a tool that returns a path, it is fairly complete.

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?

With 0% schema description coverage, the description fully compensates by explaining both parameters: 'path' specifies allowed audio/video formats, 'output_path' gives default behavior and extension. This adds crucial meaning beyond the schema's type and title.

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 states the tool's purpose: transcribe audio to MIDI using basic-pitch ML audio transcription. It specifies the action (transcribe), the input (audio), and the output (MIDI). This distinguishes it from sibling tools like media_detect_beats or media_extract_audio.

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?

The description explains what the tool does but does not provide explicit guidance on when to use it versus alternatives. It implies use for audio-to-MIDI conversion, but lacks direct comparisons or when-not-to-use cases. Sibling tools include other audio processing, so implicit differentiation exists but not explicit.

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

media_detect_beatsB

Detect beat positions in audio/music files.

Returns beat timestamps that can be used for music-synced editing.

Args: path: Path to audio/video file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description only mentions the output (beat timestamps). It does not disclose any behavioral traits such as supported file formats, audio requirements, processing time, or whether the operation is non-destructive.

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 short and to the point, with two sentences and an argument list. Every sentence contributes value, though it could benefit from slightly more detail without being verbose.

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 simplicity, the description covers the primary purpose and parameter. However, the lack of annotations and behavioral context makes it incomplete for agents needing to understand prerequisites or side effects. The presence of an output schema compensates for return value explanation.

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?

Schema description coverage is 0%, and the description adds only a basic clarification for the 'path' parameter (Path to audio/video file). It does not provide format constraints, examples, or additional context that the schema lacks.

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 states it detects beat positions in audio/music files and returns timestamps for music-synced editing. It uses specific verbs and resources, and distinguishes itself from sibling tools like media_detect_silence and media_scene_detect.

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?

The description implies usage for music-synced editing but does not explicitly state when to use this tool over alternatives or provide exclusions. No guidance on when not to use it is given.

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

media_detect_silenceB

Detect silent sections in audio/video files.

Args: path: Path to media file noise_threshold: Noise floor threshold (e.g., "-30dB", "-40dB") min_duration: Minimum silence duration in seconds

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
noise_thresholdNo-30dB
min_durationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as whether the tool is read-only, performance implications, or output format. The minimal description leaves ambiguity.

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 short and front-loaded with the purpose. The Args section is somewhat redundant but clear. No unnecessary information.

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?

The description lacks information about the output schema (which is available but not described) and does not cover edge cases or usage context. For a detection tool, more detail on return values would be helpful.

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?

Despite 0% schema description coverage, the description explains each parameter's purpose, including format for noise_threshold (e.g., '-30dB') and unit for min_duration (seconds). This adds meaningful context beyond the raw schema.

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 states the tool detects silent sections in audio/video files, with a specific verb and resource. It distinguishes from siblings like fcpxml_remove_silence (which removes silence) and media_detect_beats (detects beats).

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?

No guidance on when to use this tool versus alternatives like fcpxml_remove_silence. It does not mention prerequisites, context, or exclusions.

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

media_extract_audioA

Extract audio track from a video file.

Useful for feeding video audio into transcription, analysis, or the sheet-music-maker pipeline (basic-pitch → MIDI → notation).

Args: path: Path to video file output_path: Where to save audio (default: same dir, .wav extension) format: Audio format: wav, mp3, flac (default: wav)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
output_pathNo
formatNowav

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations exist, so the description alone must convey behavioral traits. It lacks details on overwriting behavior, file size limits, error handling, or any side effects. The basic parameter defaults are mentioned, but important aspects are missing.

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 concise: one line for purpose, one for usage context, and a clear parameter list. Every sentence adds value, and it's front-loaded with the core action.

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?

Given the tool's simplicity and the presence of an output schema, the description covers the main functionality and key parameters. Minor omissions (e.g., error conditions) prevent a perfect score.

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?

With 0% schema coverage, the description adds meaning by listing each parameter with its purpose, default value, and for 'format' the allowed values (wav, mp3, flac). This goes beyond the schema which only provides titles and defaults.

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 states the tool extracts audio from a video file, using a specific verb and resource. It distinguishes itself from sibling tools like media_extract_thumbnail and media_audio_to_midi by focusing on audio extraction.

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?

The description suggests use cases like transcription and sheet music creation, but does not contrast with alternatives (e.g., media_audio_to_midi) or specify when not to use this tool. Guidance is present but limited.

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

media_extract_thumbnailB

Extract a frame thumbnail from video at a specific time.

Args: path: Path to video file time: Time in seconds to extract frame from output_path: Where to save thumbnail (default: auto-generated) width: Thumbnail width in pixels

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
timeNo
output_pathNo
widthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. It discloses the core behavior (extracting a thumbnail) and parameter purposes, but lacks details like output format, file creation behavior, error conditions, or time/width constraints. Moderate transparency.

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 concise (one sentence plus a list), front-loaded with the primary action. The Args section is structured but could be integrated more naturally. No wasted words.

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?

An output schema exists, so return value explanation is unnecessary. The description covers all four parameters briefly. However, it lacks details on output format, behavior for invalid inputs, or auto-generated paths. Slightly incomplete for a 4-parameter tool with no annotation context.

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 compensate. The Args section explains each parameter's purpose (path, time, output_path, width), adding meaning beyond the schema's names/types. However, it omits constraints (e.g., time >= 0, width > 0) and the default output_path behavior. Adequate but not thorough.

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 states the tool extracts a frame thumbnail from video at a specific time. The verb 'Extract' and resource 'frame thumbnail' are specific, and the sibling 'media_extract_thumbnails' (plural) suggests a batch variant, making this singular tool distinct.

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 provides no guidance on when to use this tool versus alternatives like 'media_extract_thumbnails' or other media tools. No context about prerequisites (e.g., video accessibility, duration) or when not to use.

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

media_extract_thumbnailsB

Extract thumbnails at regular intervals (contact sheet / storyboard).

Args: path: Path to video file interval: Seconds between thumbnails output_dir: Directory to save thumbnails width: Thumbnail width in pixels

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
intervalNo
output_dirNo
widthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It lacks disclosure of behavioral traits such as file overwrite behavior, supported image formats, error handling, or permission requirements. For a tool that generates multiple files, these details are important.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The main description sentence is concise and front-loaded, but the subsequent parameter listing duplicates schema information and could be removed. It is not overly verbose but could be more efficient.

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

Completeness2/5

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

Given that the tool has 4 parameters, 1 required, and an output schema, the description is minimal. It does not clarify what the tool returns (though an output schema exists), nor does it explain edge cases or constraints like maximum interval or allowed widths.

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?

Schema description coverage is 0%, meaning the description adds no additional meaning beyond parameter names and defaults. The listed parameters ('Path to video file', 'Seconds between thumbnails', etc.) merely restate the schema titles and provide no constraints or format details.

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 states 'Extract thumbnails at regular intervals (contact sheet / storyboard)', which is a specific verb and resource. It distinguishes from sibling tools like 'media_extract_thumbnail' (singular) and 'media_scene_detect' by emphasizing regular intervals.

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?

The description implies usage for creating contact sheets or storyboards but does not explicitly state when to use this tool versus alternatives like 'media_extract_thumbnail' (singular thumbnail) or 'media_scene_detect'. No exclusions or prerequisites are mentioned.

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

media_infoA

Get detailed media file info (codec, resolution, duration, bitrate, etc.).

Args: path: Path to media file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It describes a read-only operation but does not mention file existence requirements, supported formats, or any potential side effects. Basic transparency but not detailed.

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?

Two sentences with no wasted words. Front-loaded with the core purpose, followed by parameter description. Ideal conciseness.

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?

Given the output schema explains return values, the description covers the essential purpose and parameter. Could mention edge cases (e.g., missing file) but overall sufficient for a simple tool.

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 coverage is 0%, so description must compensate. It adds 'Path to media file' which clarifies the parameter's purpose, but does not specify format constraints or supported file types. Minimal added value.

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 states 'Get detailed media file info' with examples like codec, resolution, duration, bitrate. This differentiates it from sibling tools that focus on specific analyses (e.g., media_detect_beats, media_loudness).

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?

No guidance on when to use this tool versus the many similar sibling tools (e.g., media_list_streams, media_loudness). It does not specify context, prerequisites, or alternatives.

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

media_list_streamsB

List all audio, video, and subtitle streams in a media file.

Args: path: Path to media file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It states it lists streams, implying a read-only operation, but does not disclose potential limitations (e.g., codec types) or performance implications for large files. Adequate but not detailed.

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?

Extremely concise with two lines plus an Args section. No unnecessary words; every sentence adds value.

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?

Given the single parameter and existence of an output schema (not shown), the description is mostly complete. It could briefly mention what the output contains (e.g., stream index, codec type), but overall it is adequate.

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

Parameters1/5

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

Schema description coverage is 0%. The description only repeats the parameter name 'path' without adding any meaning beyond the schema's title. No additional format constraints or examples.

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 states the verb 'List' and the resource 'audio, video, and subtitle streams' in a media file. It is specific and distinguishes the tool from siblings like media_info or media_extract_audio.

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?

No guidance on when to use this tool versus alternatives, such as media_info for general metadata or media_scene_detect for scene changes. No explicit context or exclusions.

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

media_loudnessA

Analyze audio loudness (EBU R128 / LUFS).

Returns integrated loudness, loudness range, and true peak.

Args: path: Path to audio/video file

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of disclosure. It mentions the standard (EBU R128) and the returned metrics, but does not address edge cases (e.g., missing file, invalid audio, computational cost). While it provides a basic behavioral outline, it lacks depth.

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 concise, consisting of a single-line summary followed by a bullet list of outputs and an 'Args' section. It is front-loaded with the main purpose. However, the structure could be improved by grouping related info (e.g., outputs and args).

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?

With an output schema present, the description does not need to detail return values. It covers the tool's purpose, input, and output metrics. However, it omits potential error conditions or file size constraints. For a simple tool, it is adequate but not exhaustive.

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?

The single parameter 'path' has 0% schema description coverage. The description adds 'Path to audio/video file', which clarifies the parameter's purpose beyond the schema's 'path' title. However, it does not specify supported formats, file size limits, or required permissions. With low coverage, more detail is expected.

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 states the tool's function: 'Analyze audio loudness (EBU R128 / LUFS)' and specifies the output metrics (integrated loudness, loudness range, true peak). This distinguishes it from sibling tools, which focus on video editing or other audio processing tasks like beat detection or silence removal.

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?

The description implies usage for loudness analysis, but lacks explicit guidance on when to use versus alternatives. However, given the sibling set, there is no other loudness tool, so the context is clear. The description could improve by noting that it is the only tool for EBU R128 analysis.

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

media_scene_detectA

Detect scene changes in video.

Useful for automatic clip segmentation.

Args: path: Path to video file threshold: Scene change sensitivity (0.0-1.0, lower = more sensitive)

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
thresholdNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior2/5

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

No annotations provided, so description bears full burden. It implies a read-only operation via 'detect' but does not explicitly state non-destructiveness, dependencies, or output format. Missing details on side effects or prerequisites.

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?

Extremely concise: one-line purpose, one-line utility hint, and structured arg descriptions. Every sentence is valuable with no redundancy. Front-loaded with core action.

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?

For a simple detection tool with an output schema, the description covers purpose and parameters adequately. Could mention file format support or dependencies, but overall sufficient given the tool's simplicity.

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?

Schema description coverage is 0%, so description fully explains both parameters: path as 'Path to video file' and threshold as 'Scene change sensitivity (0.0-1.0, lower = more sensitive)'. Adds meaning beyond schema types and defaults.

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?

Description clearly states the tool detects scene changes in video using 'Detect scene changes in video'. It is distinct from sibling media detection tools like media_detect_beats and media_detect_silence.

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?

States 'Useful for automatic clip segmentation' which provides context for when to use. Does not explicitly exclude cases or name alternatives, but the use case is clear and distinct from siblings.

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

puppet_animateA

Build a puppet scene with custom keyframe animations.

Args: rigs_json: JSON array of rig definitions animations_json: JSON array of animations: [ { "part": "head", "property": "position", "keyframes": [ {"time": "0s", "value": [0, 200], "interp": "smooth2"}, {"time": "150150/30000s", "value": [20, 210], "interp": "smooth2"}, {"time": "300300/30000s", "value": [0, 200], "interp": "smooth2"} ] }, { "part": "left_arm", "property": "rotation", "keyframes": [ {"time": "0s", "value": 0}, {"time": "150150/30000s", "value": 45}, {"time": "300300/30000s", "value": 0} ] } ] property: "position" (value=[x,y]), "rotation" (value=degrees), "scale" (value=[sx,sy]) interp: "smooth2" (default, ease), "linear", "hold" duration: Scene duration project_name: Project name output_path: Where to save

ParametersJSON Schema
NameRequiredDescriptionDefault
rigs_jsonYes
animations_jsonYes
durationNo300300/30000s
project_nameNoPuppet Animation
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits like side effects (e.g., file overwriting), required permissions, or error handling. It only explains input structure.

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 purpose and includes a detailed JSON example. While lengthy, every sentence adds useful information; minor redundancy exists but overall efficient.

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?

For a 5-parameter tool with output schema present, the description covers input comprehensively with examples. It does not explain return values or error conditions, but given the output schema exists, this gap is acceptable.

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?

The description adds significant value beyond the schema by detailing the structure of animations_json, including property types and interpolation options. Schema coverage is 0%, so the description compensates well, though output_path is briefly mentioned.

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 states 'Build a puppet scene with custom keyframe animations,' specifying verb, resource, and operation. It distinguishes itself from sibling tools like puppet_build_scene or puppet_preset_motion by focusing on animation.

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?

There is no explicit guidance on when to use this tool versus alternatives, such as puppet_build_scene for static scenes. Usage is implied by the description but lacks when-not-to-use or alternative references.

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

puppet_build_sceneA

Build an FCPXML timeline from one or more puppet rigs.

Each rig's parts become layered connected clips with transforms applied. Import the resulting .fcpxml into FCP to see the assembled characters.

Args: rigs_json: JSON array of rig definitions (same format as puppet_create_rig). Each rig: {"name": str, "position": [x, y], "parts": [...]} duration: Scene duration in FCPXML time (default 10 seconds at 29.97fps) project_name: Project name output_path: Where to save (default: ~/Movies/.fcpxml)

ParametersJSON Schema
NameRequiredDescriptionDefault
rigs_jsonYes
durationNo300300/30000s
project_nameNoPuppet Animation
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

The description explains the process (layered connected clips with transforms, output to FCPXML) but lacks details on side effects, error handling, or default behaviors. With no annotations, the description carries full burden and is moderately transparent.

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 concise (approx. 100 words), well-structured with a clear purpose sentence followed by a structured Args list. No redundant information.

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?

Given the tool's complexity (4 params, output schema exists) and low schema coverage, the description covers purpose, parameters, and basic behavior well. Minor gaps remain regarding differentiation from puppet_multi_scene and idempotency.

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?

The Args section adds substantial meaning beyond the schema's bare fields, including format for rigs_json and explanation of duration default. However, the duration default clarification ('300300/30000s') could be more precise.

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 states 'Build an FCPXML timeline from one or more puppet rigs' with a specific verb and resource. It distinguishes from sibling tools like puppet_create_rig and puppet_animate by focusing on timeline assembly.

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?

The description implies usage after creating rigs via puppet_create_rig, but does not explicitly state when to use this tool versus alternatives like puppet_multi_scene. No exclusions or alternatives are mentioned, so guidance is minimal.

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

puppet_create_humanoid_rigA

Create a standard 6-part humanoid rig from a folder of images.

Expects PNG files named: head.png, body.png, left_arm.png, right_arm.png, left_leg.png, right_leg.png in the image directory.

Parts are auto-positioned for a standard humanoid layout on a 1080p frame.

Args: name: Character name image_dir: Absolute path to folder containing part images position_x: X position on screen (0 = center) position_y: Y position on screen (0 = center) scale: Overall scale multiplier

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
image_dirYes
position_xNo
position_yNo
scaleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It explains auto-positioning for a 'standard humanoid layout on a 1080p frame', revealing key behavior. It does not mention return value or side effects, but for a creation tool, the behavior is reasonably disclosed.

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 succinct: one-line intro, requirements in a bullet-like list, then clear Args section. No redundant sentences, front-loaded with key purpose.

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?

Given 5 parameters, no annotations, but presence of output schema, the description covers input requirements, file naming, auto-positioning, and parameter defaults. It doesn't mention error handling or missing files, but is largely complete for this tool type.

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 0%, so description must add value. It explains image_dir requires absolute path, position_x/y default to center (0 = center), scale is overall multiplier. This goes beyond schema titles/defaults, providing practical semantics.

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 states the tool's purpose: 'Create a standard 6-part humanoid rig from a folder of images.' It specifies the verb 'create', the resource 'humanoid rig', and the input 'folder of images', distinguishing it from siblings like puppet_create_rig (generic rig) and puppet_animate (animation).

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?

The description provides explicit prerequisites: 'Expects PNG files named: head.png, body.png...' but does not directly contrast with alternatives like puppet_create_rig or puppet_preset_motion. It implies use for standardized 6-part rigs, but lacks explicit 'when to use vs not' guidance.

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

puppet_create_rigA

Define a puppet character rig from body parts.

Each part is a separate image (PNG) that gets positioned and layered to form a character. Parts can be animated independently.

Args: rig_json: JSON object defining the character: { "name": "my_character", "position": [0, 0], "parts": [ { "name": "head", "image": "/absolute/path/to/head.png", "position": [0, 200], "scale": 1.0, "rotation": 0, "anchor": [0, -50], "z_order": 5 }, ... ] } - position: [x, y] offset from character center (y-positive = up) - anchor: pivot point for rotation - z_order: higher = in front

Returns: JSON summary of the rig (use this to verify before building a scene).

ParametersJSON Schema
NameRequiredDescriptionDefault
rig_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are present, so the description carries full burden. It explains that parts are separate PNG images, layered, and independently animated. It also mentions returning a JSON summary. However, it does not disclose if the rig persists or any side effects.

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 a clear single sentence, followed by structured Args and Returns sections. It is well-organized but slightly lengthy due to the example; still efficient.

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?

Given the tool has an output schema (true), the description appropriately summarizes return behavior. All necessary input details are covered. The tool is single-purpose, and the description is complete.

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?

Schema coverage is 0% with no parameter description in the input schema. The description compensates fully by providing a detailed example and explaining each field (name, image, position, scale, rotation, anchor, z_order) with semantics.

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 states 'Define a puppet character rig from body parts', specifying the verb 'Define' and resource 'puppet character rig'. It distinguishes from siblings like puppet_create_humanoid_rig by emphasizing custom body parts.

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?

The description implies usage for custom rigs from parts, and alternatives like puppet_create_humanoid_rig or puppet_list_presets exist. However, no explicit when-to-use or when-not-to-use guidance is provided.

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

puppet_list_presetsA

List all available puppet animation presets with descriptions.

Returns details on each preset, what body parts it uses, and what parameters it accepts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must bear the burden. It implies a read-only operation by saying 'List', but does not explicitly state it is non-destructive or safe.

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?

Two sentences, front-loaded with purpose, no redundant information. Every sentence adds value.

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?

Given zero parameters and an output schema exists, the description correctly outlines return details. It could mention any limitations or source of presets, but is adequate for a simple listing tool.

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?

There are no parameters, and schema coverage is 100%. The description does not need to add parameter meaning, so baseline 4 applies.

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 states the tool lists all available puppet animation presets with details, which is specific and distinguishes it from sibling tools like puppet_animate or puppet_preset_motion.

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 provides no guidance on when to use this tool vs alternatives, such as before applying a preset or for exploring options.

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

puppet_multi_sceneA

Build a multi-scene puppet animation with different presets per scene.

Generates one FCPXML per scene. Useful for storyboarding a sequence.

Args: rigs_json: JSON array of rig definitions (shared across scenes) scenes_json: JSON array of scene definitions: [ {"name": "intro", "duration": "300300/30000s", "preset": "idle"}, {"name": "greeting", "duration": "150150/30000s", "preset": "wave"}, {"name": "walking", "duration": "600600/30000s", "preset": "walk", "cycles": 4} ] project_name: Base project name (scenes get suffixed) output_path: Output directory (default: ~/Movies/)

ParametersJSON Schema
NameRequiredDescriptionDefault
rigs_jsonYes
scenes_jsonYes
project_nameNoPuppet Multi-Scene
output_pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It mentions generating FCPXML files per scene but does not warn about destructive actions, required prerequisites, or side effects like file creation. The mutation action is implied but not explicitly stated.

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 main purpose, followed by a structured Args section. The example for scenes_json is helpful but somewhat verbose. Overall, it earns its place without redundancy.

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?

Given 4 parameters and existing output schema, the description covers input semantics well and mentions output format (FCPXML). Missing some behavioral context and output details, but enough for basic understanding.

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 0%, so the description fully compensates with detailed parameter explanations, especially scenes_json with an illustrative example including duration format and optional cycles. rigs_json and general structure are less defined but still useful.

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 states it builds a multi-scene puppet animation with presets per scene, generating one FCPXML per scene. This distinguishes it from sibling tools like puppet_animate (single scene) or puppet_build_scene (single scene building), making its purpose specific and non-ambiguous.

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?

The description mentions it's 'useful for storyboarding a sequence,' implying a use case, but does not explicitly contrast with alternatives like puppet_animate or puppet_build_scene for single scenes. Lacks direct when-to-use/when-not-to-use guidance.

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

puppet_preset_motionA

Build a puppet scene with a preset motion applied.

Available presets:

  • "idle": Subtle breathing/sway (keeps character alive)

  • "bounce": Vertical bouncing

  • "walk": Full walk cycle (arms, legs, body bob)

  • "talk": Mouth movement + head bob

  • "wave": Arm waving (applies to left_arm)

Args: rig_json: JSON rig definition preset: Motion preset name duration: Scene duration project_name: Project name output_path: Where to save cycles: Number of motion cycles (more = faster movement) intensity: Scale factor for motion amplitude (0.5 = subtle, 2.0 = exaggerated)

ParametersJSON Schema
NameRequiredDescriptionDefault
rig_jsonYes
presetNoidle
durationNo300300/30000s
project_nameNoPuppet Animation
output_pathNo
cyclesNo
intensityNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description must disclose all behavioral traits. It explains the effects of cycles and intensity parameters and lists presets, but does not cover side effects (e.g., file overwriting), error handling, permission requirements, or the meaning of the cryptic default duration format ('300300/30000s').

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 concise: one purpose sentence, a bullet list of presets with explanations, and a clean Args list. Every element adds value with no unnecessary words.

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?

The description covers all parameters and preset semantics, but lacks details on return values (though an output schema exists), error conditions, prerequisuites (e.g., rig format), and the unusual duration default. It is adequate but not comprehensive for a tool with 7 parameters.

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?

The Args section adds meaningful descriptions for 7 parameters beyond the schema (which has 0% coverage). It explains cycles ('more = faster movement') and intensity with examples (0.5 subtle, 2.0 exaggerated), but does not clarify the duration format or rig_json structure.

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 states 'Build a puppet scene with a preset motion applied' and lists available presets with descriptions. This distinguishes it from sibling tools like puppet_animate or puppet_build_scene by specifying that a preset motion is applied to a rig.

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?

The description provides presets and their behaviors, implying when to use each, but lacks explicit guidance on when to use this tool versus alternatives or when not to use it. No exclusions or sibling comparisons are given.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 88 tool updatesv0.2.0
    • First observedcompressor_encode
    • First observedcompressor_list_settings
    • First observedfcp_discover_effects
    • First observedfcp_export_xml
    • First observedfcp_get_app_state
    • First observedfcp_get_events
    • First observedfcp_get_libraries
    • First observedfcp_get_projects
    • First observedfcp_get_timeline_info
    • First observedfcp_import_xml
    • First observedfcp_is_running
    • First observedfcp_keyboard_shortcut
    • First observedfcp_list_motion_templates
    • First observedfcp_list_share_destinations
    • First observedfcp_menu_command
    • First observedfcp_navigate
    • First observedfcp_open_library
    • First observedfcp_playback
    • First observedfcp_redo
    • First observedfcp_select_tool
    • First observedfcp_share
    • First observedfcp_undo
    • First observedfcpxml_add_audio
    • First observedfcpxml_add_keyword
    • First observedfcpxml_add_marker
    • First observedfcpxml_add_title
    • First observedfcpxml_add_transition
    • First observedfcpxml_analyze_pacing
    • First observedfcpxml_apply_template
    • First observedfcpxml_assign_role
    • First observedfcpxml_auto_rough_cut
    • First observedfcpxml_batch_add_markers
    • First observedfcpxml_batch_apply_transition
    • First observedfcpxml_batch_assign_roles
    • First observedfcpxml_batch_rename_clips
    • First observedfcpxml_change_speed
    • First observedfcpxml_check_audio_levels
    • First observedfcpxml_check_duration
    • First observedfcpxml_check_frame_rates
    • First observedfcpxml_check_media_links
    • First observedfcpxml_check_safe_zones
    • First observedfcpxml_create_project
    • First observedfcpxml_create_timeline
    • First observedfcpxml_delete_clips
    • First observedfcpxml_detect_duplicates
    • First observedfcpxml_detect_flash_frames
    • First observedfcpxml_detect_gaps
    • First observedfcpxml_diff
    • First observedfcpxml_export_edl
    • First observedfcpxml_export_fcp7
    • First observedfcpxml_export_resolve
    • First observedfcpxml_fill_gaps
    • First observedfcpxml_fix_flash_frames
    • First observedfcpxml_generate_montage
    • First observedfcpxml_import_edl
    • First observedfcpxml_import_srt
    • First observedfcpxml_list_clips
    • First observedfcpxml_list_effects
    • First observedfcpxml_list_markers
    • First observedfcpxml_list_roles
    • First observedfcpxml_list_templates
    • First observedfcpxml_parse
    • First observedfcpxml_qc_report
    • First observedfcpxml_reformat
    • First observedfcpxml_remove_silence
    • First observedfcpxml_reorder_clips
    • First observedfcpxml_save_template
    • First observedfcpxml_split_clip
    • First observedfcpxml_timeline_stats
    • First observedfcpxml_trim_clip
    • First observedfcpxml_validate
    • First observedmedia_audio_to_midi
    • First observedmedia_detect_beats
    • First observedmedia_detect_silence
    • First observedmedia_extract_audio
    • First observedmedia_extract_thumbnail
    • First observedmedia_extract_thumbnails
    • First observedmedia_info
    • First observedmedia_list_streams
    • First observedmedia_loudness
    • First observedmedia_scene_detect
    • First observedpuppet_animate
    • First observedpuppet_build_scene
    • First observedpuppet_create_humanoid_rig
    • First observedpuppet_create_rig
    • First observedpuppet_list_presets
    • First observedpuppet_multi_scene
    • First observedpuppet_preset_motion

TDQS

B3.4/5.0
Disambiguation4/5

Tools are well-separated by prefixes (fcp_, fcpxml_, media_, puppet_, compressor_) and each has a distinct purpose. Some potential overlap exists between fcpxml_auto_rough_cut and fcpxml_create_timeline or between various detection and checking tools, but descriptions clarify differences.

Naming Consistency5/5

All tools follow a consistent prefix_snake_case pattern. Verbs are standardized (e.g., list_, create_, detect_, check_, export_, import_) and naming conventions are uniform across the entire set.

Tool Count3/5

88 tools is a large set, but it covers multiple domains (FCP control, FCPXML, media analysis, puppet animation, Compressor). Each subdomain is reasonably scoped, though the overall count borders on heavy and could be overwhelming for an agent.

Completeness5/5

The tool surface is extremely comprehensive for video editing workflows: full FCP control, extensive FCPXML manipulation (CRUD, export/import, QC, templates), media analysis, and even puppet animation. There are no obvious gaps for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    D
    maintenance
    Enables comprehensive remote control and automation of Final Cut Pro through 99 tools covering timeline editing, project management, and AI-powered features. It facilitates complex workflows including media organization, color grading, and FCPXML generation using AppleScript and JXA automation.
    100
    10
    -
  • A
    license
    A
    quality
    A
    maintenance
    The first MCP server for Final Cut Pro. 53 tools that parse, edit, and generate FCPXML timelines via natural language. Health checks, flash frame detection, chapter markers, rough cuts, NLE export. 912 tests, MIT licensed.
    13
    99
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that exposes the complete DaVinci Resolve scripting API, enabling AI assistants to control DaVinci Resolve programmatically with over 440 tools for project management, timeline editing, color grading, rendering, and more.
    5
    MIT

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/dreliq9/fcp-mcp'

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