Skip to main content
Glama
SkieAdmin

FilmoraMCP-Server

by SkieAdmin

FilmoraMCP-Server

A local Windows MCP server targeting Wondershare Filmora X / version 10 and newer. It detects the selected editor at runtime, chooses compatible shortcut policies and resolves live UI controls instead of requiring one Filmora build. It gives an MCP assistant actual PNG screenshots, accessibility inspection, mouse/keyboard input, project dialogs, timeline commands, clip panels, media libraries, audio tools and export workflows.

Release 0.2.0 includes profiles for X/10 and 11–16, plus conservative adaptation for unknown/future versions. Local editor validation is currently on 13.6.13; other releases have adapter/policy tests and still need live editor validation. See docs/COMPATIBILITY.md for the matrix and limits.

This is independent software, not an official Wondershare integration. FilmoraMCP operates the visible editor. It does not expose a private editing API or rewrite undocumented .wfp files.

Product scope

Item

Current scope

Filmora target

Filmora X/v10 and newer on Windows; runtime detection selects the applicable profile

Version policies

X/10 legacy commands; release profiles for 11–16; conservative unknown/future adaptation

MCP clients

Claude Code, Claude Desktop, Codex and Google Antigravity; additional Cursor snippet

Interface

Local stdio MCP: 33 tools, 2 resources, 1 editing prompt

Catalog

94 command candidates, 39 named UI targets, 102 feature guides; availability varies by version/context

Evidence

66 automated tests passed; native editor testing on 13.6.13; complete edit/export validation remains outstanding

The product requirement is broad access to editing features through the live editor. Version-dependent features remain conditional on the installed build, selection, assets, account and license. See the PRD for requirements and acceptance criteria, and the roadmap for remaining validation work.

Related MCP server: openowl

Quickstart

From an extracted source folder, install the environment and preview client registration:

powershell -NoProfile -ExecutionPolicy Bypass -File .\setup.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File .\connect-clients.ps1 -Preview

Register the selected clients with connect-clients.ps1 as described below, then reload their MCP connections. Run diagnostics with:

.\.venv\Scripts\python.exe -m filmora_mcp.server --diagnose

For stdio MCP, use the absolute Python executable and module argument from client-configs/. The MCP client starts the server; you normally do not double-click run.cmd first. Running run.cmd alone waits silently for JSON-RPC on stdin.

Connect a client

  • Claude Code / Claude Desktop / Codex / Google Antigravity: run connect-clients.ps1 to register Filmora in all four local clients. Existing settings and MCP servers are preserved; original configs are backed up under logs/client-backups. Repeat runs are safe and do not duplicate the server. Use connect-clients.ps1 -Preview to inspect target paths first.

  • For a specific client: .\.venv\Scripts\python.exe scripts\install_clients.py --clients antigravity --apply (choices: claude-code, claude-desktop, codex, antigravity).

  • Manual configurations are in client-configs/claude-code.json, claude-desktop.json, codex.toml and antigravity.json. Cursor's snippet remains included.

Reload MCP servers or restart each client after registration. Setup installs dependencies/snippets; registration is a separate step. The installer does not change trust/approval policies and refuses to replace a different existing filmora server. Claude support here means local Claude Code and Claude Desktop. See docs/CLIENTS.md for client paths, verification and troubleshooting.

Coverage

Area

Implemented control

Vision

Window PNG images returned as MCP ImageContent; crop, resize, saved captures; image-to-window coordinate mapping

Inspection

Window enumeration, process validation, accessibility names/IDs/types/geometry/focus, searchable control trees

Interaction

Single/double/right click, modifier-click, drag, scrolling, bounded shortcut repetition, literal Unicode text

UI controls

Focus, invoke, click, set text/value, select list/combo items, toggle, expand/collapse, numeric slider ranges

Project/media

Launch, new/open/save/save-as/archive commands, native file-dialog paths, import, media libraries, folders

Timeline

Split/trim, ripple delete, duplicate, grouping, insert/overwrite, navigation, markers, zoom, track toolbar

Video/color

Open properties, crop/zoom, speed, stabilization, chroma key, tracking, color correction/match and keyframes

Audio/text/assets

Audio mixer/recorder, detach/mute, titles, effects, transitions, filters, stickers, captions and AI toolbar targets

Export

Open export settings, inspect/configure/start through real controls, inspect progress and verify resulting file size

Advanced features

Feature-route catalog for masks, speed ramps, LUTs, denoise, ducking, subtitles, AI and other version-dependent tools

Run filmora_status for detected executable versions and filmora_capabilities(probe_ui=true) for version-resolved commands plus exposed/disabled UI targets. filmora_commands filters commands by group/text and omits unavailable ones by default. Its include_unavailable=true option explains blocked commands.

Coverage means access through Filmora's UI, not that every feature has a one-call editing API. Detailed effect parameters, exact clip timing, text styling, export settings and AI operations are configured using live inspected controls or screenshots. Feature guides describe navigation; they do not execute edits. Version checks flag known newer features on older editors; other features remain unverified until inspected. The installed release, shortcut preset, clip selection, layout, assets and license determine availability. Premium/AI features may require login, network processing, credits or downloads; the server does not supply those entitlements.

Typical request

Inspect my Filmora project, import these clips, arrange them on the timeline, trim the first clip, add a title and transition, adjust audio, save as a new project, and export a local MP4. Check screenshots after each important change.

The assistant starts with filmora_status, filmora_windows, filmora_screenshot and filmora_inspect, acts once, and checks the result. See docs/WORKFLOWS.md for tool sequences.

Install or move to another computer

Requires 64-bit Windows, Python 3.11+ and installed Filmora X/10 or newer in an unlocked interactive desktop session. Filmora 9 and earlier are outside the target range. Tested here on Python 3.14.7; this server's OS requirements also apply when an older Filmora release supports older Windows versions.

powershell -NoProfile -ExecutionPolicy Bypass -File .\setup.ps1

Setup creates a local virtual environment, installs pinned direct dependencies and regenerates client snippets using the current folder. Do not copy .venv between computers; rerun setup. requirements-lock.txt records the complete tested environment. For an exact environment, install it with .\.venv\Scripts\python.exe -m pip install -r requirements-lock.txt and then install this project with -m pip install --no-deps -e ..

To use a non-default Filmora executable or custom shortcuts, copy config.example.json to config.local.json. Set executable to the actual Filmora editor EXE, or set FILMORA_EXE. FILMORA_MCP_CONFIG selects a config file; FILMORA_CAPTURE_DIR changes the captures folder. Shortcuts use names like ctrl+shift+s; see filmora_commands. Configuration is read at server startup.

Version detection uses executable product/file metadata, then adjacent installation version folders. filmora_major_version is normally null (auto); set it only for an otherwise unknown installation. Conflicts with a detected version are rejected. ui_target_overrides supplies exact names/automation IDs and control types for localized or changed layouts. See the compatibility guide for examples. Multiple installations require explicit executable/window selection.

After relocating the project, recreate its virtual environment with setup.ps1, then update registrations that still point at the previous folder:

powershell -NoProfile -ExecutionPolicy Bypass -File .\connect-clients.ps1 -RelocateFrom 'D:\Previous\FilmoraMCP' -Preview
powershell -NoProfile -ExecutionPolicy Bypass -File .\connect-clients.ps1 -RelocateFrom 'D:\Previous\FilmoraMCP'

Replace the example with the actual previous project path. Relocation updates only matching Filmora registrations, preserves other server settings, and creates backups. A conflicting command or different arguments are left for review.

Operation and limits

  • Run the server as the same Windows user and integrity level as Filmora. Keep the desktop unlocked and avoid competing mouse/keyboard input.

  • Input is scoped to validated Filmora processes. If a modal opens, list windows and select that dialog; reselect the editor when it closes.

  • Screenshot/UI observations expire after 60 seconds and are invalidated by input, window selection or changed window geometry. Get a fresh observation after every action. Manual UI changes can also stale an observation: always refresh.

  • Screenshots include the selected Filmora window. They may contain project content; save=True writes a local capture. Screenshot images are sent to the requesting MCP client. Default mode="visible" captures displayed pixels; activate/reveal Filmora first. This refuses capture when another app is foreground. Optional mode="window" uses native window capture while obscured, but may show stale GPU surfaces.

  • To stop input, move the mouse to desktop (0,0) or create an empty PAUSE file in this folder. Remove the file/move the pointer to resume. Restarting the server is unnecessary.

  • A successful input tool means dispatched, not a verified edit. Inspect selection, playhead, dialog and output before claiming completion. Pixel operations cannot promise frame-exact editing without visual verification.

  • Native file-dialog helper requires an unambiguous standard filename field. For Filmora custom dialogs, inspect and edit explicit controls instead. The helper refuses an existing Save As destination; ordinary Save commands and explicit UI interactions can still modify existing projects.

  • Input does not work from a headless service or locked desktop. Accessibility may be incomplete for Qt canvas items; use screenshots. Capture may fail/appear blank with particular GPU/window states; activate and restore Filmora before retrying. Display scaling and external dialogs require fresh observations.

  • The server uses stdio only, opens no listening network port, and has no arbitrary shell/code-execution tool. It does not automate authentication or automatically dismiss save/overwrite/license prompts. General UI controls can still start recording, rendering or online features when instructed; inspect the visible state first.

Verification

.\.venv\Scripts\python.exe -m pytest -q
.\.venv\Scripts\python.exe scripts\smoke_test.py --report logs\smoke-test.json

The first command includes protocol, compatibility, client-registration and input-guard tests. The second requires Filmora to be open and checks real MCP status, native screenshots and exposed accessible controls without editing the current project. Use --no-desktop for protocol-only checks. See docs/VALIDATION.md for actual run results and untested workflows.

Documentation

Sources

MIT licensed. Wondershare and Filmora are trademarks of their respective owners.

Available Tools

33 tools
filmora_activateA
Destructive

Restore/foreground the selected Filmora window. Does not maximize or resize it.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

The description adds a genuine scope constraint beyond the annotations ('does not maximize or resize'), which tells the agent what state will not change. However, it says nothing about what happens if no window is selected, whether focus changes are reversible, or why the annotations mark this destructiveHint=true for an apparently non-destructive foreground action, leaving a behavioral gap.

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 short sentences, front-loaded with the action and immediately followed by the boundary condition. No filler or repetition of the title.

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 zero-parameter, no-output-schema window action, the description is nearly sufficient: action, target, and behavioral boundary are all present. The remaining gap is failure behavior (no selected window / window not open) and the unexplained destructive annotation.

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 takes zero parameters and the schema is trivially complete, so there is no parameter semantics for the description to carry. Baseline 4 applies for a 0-param tool.

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

Purpose5/5

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

States a specific verb pair (restore/foreground) and a precise resource (the selected Filmora window), which cleanly separates it from siblings like filmora_select_window, filmora_windows, and filmora_launch. The scope clause 'Does not maximize or resize it' further disambiguates it from window-manipulation 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?

Usage is only implied: the phrase 'the selected Filmora window' presupposes that a window was chosen first, implying a call to filmora_select_window. There is no explicit when-to-use statement, no when-not, and no named alternatives.

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

filmora_capabilitiesC
Read-only

Resolve commands/features for detected Filmora X/10+; probe_ui checks exposed controls, not account entitlements.

ParametersJSON Schema
NameRequiredDescriptionDefault
probe_uiNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds one genuine behavioral caveat — that UI probing reflects exposed controls rather than account entitlements — but says nothing about cost, latency, or what happens when the detected version is unsupported.

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?

A single compact sentence with no filler, and the primary purpose leads. It is dense to the point of being cryptic ('Resolve commands/features'), but every clause carries information.

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 no output schema and no annotations about returns, the description should at least hint at what 'resolve' produces — a list of supported commands, a version map, a boolean? That is entirely absent, leaving the agent unable to anticipate the result shape.

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% and the sole parameter is an undescribed boolean, so the description carries the burden. It does explain the semantic distinction of probe_ui (it inspects exposed UI controls, not entitlement state), which is real meaning absent from the schema, though it omits any note on the default-false behavior.

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

Purpose3/5

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

The description names a domain (commands/features for Filmora X/10+) but the verb 'resolve' is vague and never says what the tool actually returns. It does not distinguish itself from close siblings such as filmora_commands and filmora_feature_guide, so an agent cannot confidently pick this one over those.

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?

There is no when-to-use guidance and no named alternative, even though filmora_commands and filmora_feature_guide sit in the same sibling set. The one clause present ('probe_ui checks exposed controls, not account entitlements') describes a parameter's scope, not when to select this tool.

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

filmora_clickB
Destructive

Click screenshot pixels. Double-click count=2; Alt-click adds a keyframe where supported.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
countNo
buttonNoleft
modifiersNo
observation_idYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so safety is covered by structured data. The description adds genuinely useful behavior – count=2 for double-click and Alt-click adding a keyframe – but says nothing about what gets modified, permission needs, or side effects beyond the keyframe case.

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 compact sentences with the core purpose front-loaded and no filler. Every clause carries information, though it stops short of a truly complete, self-sufficient statement.

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 click tool with no output schema, the safety profile from annotations plus the modifier notes make it minimally viable. It omits how observation_id links to a prior screenshot and what a click returns or affects, leaving meaningful gaps for a 6-parameter destructive tool.

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% across 6 parameters, so the description carries the full burden. It clarifies only count (=2 for double-click) and modifiers (Alt); x, y, button, and especially observation_id remain entirely unexplained in both schema and description.

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?

States a specific verb (click) and resource (screenshot pixels), which distinguishes it from drag/scroll/key siblings. It does not explicitly name or differentiate from potential click-overlapping siblings like filmora_ui_action, keeping it just short of a 5.

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 over alternatives such as filmora_ui_action or filmora_drag, nor any prerequisite (e.g. a prior screenshot yielding observation_id). The double-click/Alt-click notes are behavioral, not usage-selection guidance.

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

filmora_clip_panelB
Destructive

Open a selected clip's editing panel. Inspect and adjust actual controls with ui_action/pixels.

ParametersJSON Schema
NameRequiredDescriptionDefault
panelYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, lowering the disclosure burden. The description adds the prerequisite that a clip must be selected and points to ui_action/pixels for the actual mutations, but it does not clarify what state the panel opening changes or why an open-panel action is flagged 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?

Two short, front-loaded sentences with no padding; the core action leads and the workflow hint follows. The second sentence drifts slightly toward other tools' behavior, but the overall structure 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?

For a no-output-schema UI tool with one enum parameter, the description gives the action, prerequisite, and next-step workflow. It is still incomplete on the enum values the agent must choose between, which is the main decision this tool requires.

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?

There is a single enum parameter (panel) with 9 possible values and 0% schema description coverage, yet the description never mentions the panel argument or explains any of its options. It fails to compensate for the coverage gap on the one parameter the agent must supply.

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 uses a clear verb+resource ('Open a selected clip's editing panel') and scopes the target to a clip, which loosely separates it from the general filmora_open_panel sibling. However it never explicitly differentiates itself from that sibling or from filmora_edit, so the agent must infer which panel-opener applies.

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 second sentence implies the follow-up workflow (inspect/adjust controls via ui_action/pixels), giving implied usage. But there is no when-to-use guidance for the panel argument, no exclusions, and no explicit routing rule distinguishing this from filmora_open_panel.

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

filmora_commandB
Destructive

Dispatch a named command from filmora_commands. Focus/selection determines its effect; verify afterward.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
repeatNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the mutation risk is covered. The description usefully adds that outcome depends on current focus/selection and that verification is advised — real context beyond the annotations — but it does not say what gets altered, whether it is reversible, or what happens on an invalid command.

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 short sentences, front-loaded, with no filler. It is arguably too terse for a destructive dispatcher, but nothing is wasted.

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?

A destructive tool with 0% parameter documentation, no enum, no output schema, and an open-ended command string. The description names the source of command names but leaves the agent without enough to invoke it confidently (unknown valid values, unknown effect, unspecified repeat behavior).

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 does explain that 'action' is a command name drawn from filmora_commands, which is the single most important thing to know. It says nothing about 'repeat' (default 1) or any format/validity constraints, so half the parameters remain undocumented.

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

Purpose3/5

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

It states a verb and a resource ('Dispatch a named command') and names the sibling tool that supplies valid command names (filmora_commands), which is genuinely useful. But the purpose is still generic — it does not say what class of action is being dispatched, and the 'action' string is opaque, so the agent cannot tell what this does relative to filmora_ui_action or filmora_key.

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?

'Focus/selection determines its effect; verify afterward' implies context and points at a follow-up verification step, which is meaningful guidance. It never says when to prefer this dispatcher over the many concrete siblings (filmora_click, filmora_key, filmora_edit), so the routing decision is left to inference.

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

filmora_commandsC
Read-only

Find version-resolved shortcuts. Unavailable/ambiguous commands are omitted unless requested.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupNo
queryNo
include_unavailableNo

TDQS

C2.9/5.0
Behavior4/5

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

With annotations already declaring a safe read operation, the description adds useful behavioral context: unavailable and ambiguous commands are excluded by default unless explicitly requested. That filtering behavior is not evident from the annotations or schema, though return format and version-resolution details are 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.

Conciseness5/5

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

The description is two short sentences, front-loaded with the core purpose and followed by the key default behavior. There is no wasted 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 lookup tool with three optional parameters, no schema descriptions, and no output schema, the description is incomplete. It explains the unavailable-command default but leaves the query and group parameters unexplained and does not describe what a returned shortcut/command entry contains.

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 needs to compensate for three undocumented parameters. It only clarifies the include_unavailable behavior indirectly and says nothing about what 'group' or 'query' mean or how they filter results.

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

Purpose3/5

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

The description gives a verb ('Find') and a resource ('version-resolved shortcuts'), but 'shortcuts' is not clearly the same as the tool name 'commands' and it does not distinguish this lookup tool from the sibling 'filmora_command'. The omission behavior adds some specificity, but the core purpose remains somewhat vague.

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?

It mentions that unavailable/ambiguous commands are omitted unless requested, which explains the include_unavailable parameter, but it gives no guidance on when to use this tool versus filmora_command or other siblings. There is no explicit when-to-use or 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.

filmora_dragB
Destructive

Drag clips/assets/trim handles/keyframes using fresh screenshot pixels. Alt-drag can replace media.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_xYes
end_yYes
start_xYes
start_yYes
durationNo
modifiersNo
observation_idYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context, namely that pixels must be fresh (a staleness constraint on observation_id) and that Alt-drag has a media-replacing side effect, but it omits permissions, what state is mutated on a plain drag, and how drag completion/settling is handled.

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 tight sentences with no filler, leading with the action and targets before the optional modifier behavior. Every clause carries information an agent can act on.

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 7-parameter, destructive, coordinate-based tool with 0% schema coverage and no output schema, the description leaves major gaps: coordinate origin/units, what happens after the drag, and the meaning of duration and modifiers values. It is not adequate to invoke the tool reliably without inspecting additional sibling tools.

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% across 7 parameters, so the description must carry the load and largely does not. Only 'Alt-drag' loosely maps to the modifiers parameter and 'fresh screenshot pixels' hints at observation_id; start_x/start_y/end_x/end_y coordinate space, duration semantics, and expected modifier string values are unexplained.

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?

States a specific verb ('drag') with concrete drag targets (clips, assets, trim handles, keyframes), which is more precise than the generic siblings filmora_click/filmora_ui_action. It does not explicitly differentiate itself from filmora_ui_action, which could plausibly also perform a drag, so it stops short of a 5.

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?

'Using fresh screenshot pixels' implies the precondition that the observation_id must come from a recent filmora_screenshot, and 'Alt-drag can replace media' gives a modifier-level usage rule. However, there is no guidance on when to choose this drag over filmora_ui_action or filmora_click, so usage remains inferred rather than stated.

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

filmora_editB
Destructive

Edit selected timeline clips; inspect selection and playhead first, then verify the result.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
repeatNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered. The description usefully adds that a selection must exist and that results should be verified, but it does not disclose what specific actions destroy (delete, ripple_delete, cut) or how undo/redo interact with the timeline.

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?

A single compact, front-loaded sentence with no filler, keeping the core action and prerequisite first. It is arguably under-specified rather than bloated, which is a smaller sin than verbosity.

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?

A 17-action destructive mutation tool with no output schema, no per-action documentation, and no explanation of repeat demands far more description than one line. An agent cannot tell which actions need a selection, which are reversible, or what the return looks like.

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% and the description mentions no parameters at all. The 17-value action enum is largely self-describing, but semantics such as ripple_delete vs close_gap vs cut, and the meaning of the repeat parameter, are left entirely unexplained.

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?

States a clear verb (edit) and resource (selected timeline clips), which tells the agent what the tool does. However, it does not differentiate itself from siblings such as filmora_command, filmora_commands, or filmora_ui_action, which could plausibly also mutate clips.

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?

Provides a real workflow constraint: inspect selection and playhead first, then verify the result, effectively giving a precondition and postcondition. It stops short of naming alternatives or stating when not to use it versus filmora_command/filmora_ui_action.

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

filmora_feature_guideB
Read-only

Get a UI route for an advanced feature. Guidance is not an executed edit or guaranteed availability.

ParametersJSON Schema
NameRequiredDescriptionDefault
featureYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuine value beyond that by stating this is guidance, not an executed edit, and that availability is not guaranteed. That sets expectations about the tool's advisory nature and reliability limits.

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 short, front-loaded sentences with no filler. The caveat sentence earns its place by preventing misuse, though the parameter is left entirely unexplained.

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?

No output schema exists, yet the description does not describe the shape of the returned 'UI route' an agent would receive. Combined with the fully undocumented parameter, this leaves gaps, though for a simple single-purpose lookup tool the description is minimally adequate.

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?

There is one parameter ('feature') with 0% schema description coverage, so the schema provides only a title. The description does not explain what values 'feature' accepts, its format, or valid examples. With a single undocumented parameter, the description fails to compensate for the coverage gap.

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?

States a clear verb+resource: 'Get a UI route for an advanced feature.' An agent can tell this returns navigational guidance rather than performing actions, distinguishing it from action tools like filmora_edit or filmora_click. The term 'advanced feature' is somewhat generic and the description doesn't explicitly name which siblings it overlaps with (e.g. filmora_commands, filmora_capabilities).

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 second sentence ('Guidance is not an executed edit or guaranteed availability') implies usage context by clarifying this is informational only, which helps an agent avoid mistaking it for an edit. However, there is no explicit when-to-use, when-not-to-use, or named alternative among the many siblings.

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

filmora_fill_file_dialogA
Destructive

Fill an observed native file chooser (no shell). Default leaves it open for inspection.

paths are absolute local paths. Existing files required for Open/Import; Save As requires a new filename. Select the actual dialog via filmora_select_window first. Custom Qt dialogs need explicit UI actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsYes
submitNo
save_asNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, so the mutation nature is already known. The description adds valuable behavioral context beyond annotations: 'no shell', default leaves dialog open for inspection, existing files required for Open/Import, and Save As requires a new filename. It does not explain what happens on submit or on error, but the added details are substantive.

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?

Three sentences, front-loaded with the core action and default behavior. Each subsequent sentence adds necessary prerequisite or constraint information without any filler. The structure is efficient and easy 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 tool with destructiveHint=true and no output schema, the description covers usage prerequisites and path constraints well. But it omits the consequences of submitting (e.g., what action is triggered), failure modes (e.g., file not found), and any return behavior. These gaps leave an agent without full context for safe invocation.

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 fully explains the 'paths' parameter (absolute local paths, existing files for Open/Import, new filename for Save As) and implicitly covers 'save_as'. However, the 'submit' parameter is not described at all, leaving a key control undocumented.

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?

States a specific verb and resource: 'Fill an observed native file chooser'. It also distinguishes itself from custom Qt dialogs, which require different handling, so an agent can tell it apart from siblings. The term 'observed' is slightly opaque but does not obscure the core action.

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?

Explicit prerequisite is given: 'Select the actual dialog via filmora_select_window first'. It also states when NOT to use it: 'Custom Qt dialogs need explicit UI actions'. Conditions for Open/Import vs Save As are covered, though the alternative tool for custom dialogs (filmora_ui_action) is not named.

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

filmora_import_media_dialogA
Destructive

Open the import chooser; list/select its window before filling paths.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=true, so the safety profile is already conveyed structurally. The description adds the workflow ordering constraint but never explains the destructive aspect (what opening this dialog discards) or what the call returns. With annotations carrying safety, this is a moderate contribution.

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?

A single compact sentence with the action front-loaded and the ordering constraint trailing. No filler, though the second clause is slightly compressed and could be clearer.

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 zero-parameter dialog opener with no output schema, the description covers the essential action and the follow-on ordering. However, 'list/select its window' is ambiguous about what the tool actually returns or exposes, and the destructiveHint is left unexplained, leaving an agent to infer 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 tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the mention of 'filling paths' correctly implies paths arrive through a later step, not this call.

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 names a specific verb and resource ('Open the import chooser'), which is clearly distinct from generic siblings like filmora_open_panel or filmora_click. It does not explicitly contrast itself with the adjacent dialog tools (filmora_open_project_dialog, filmora_fill_file_dialog), so it falls short of full sibling differentiation.

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?

'list/select its window before filling paths' establishes sequencing: this is the first step and window selection must precede path filling. It gives clear operational context but names no alternative tool and states no when-not condition.

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

filmora_inspectB
Read-only

Read UI Automation controls and focus. IDs expire; query filters returned names, not tree traversal.

ParametersJSON Schema
NameRequiredDescriptionDefault
hwndNo
queryNo
max_depthNo
max_elementsNo

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: returned IDs expire, and query scoping applies to names in the result rather than pruning traversal. This is useful operational detail the annotations do not carry.

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 compact sentences with the core action front-loaded and no filler. The caveats (expiring IDs, query scope) are appended efficiently. Slightly telegraphic, but no sentence is wasted.

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 4-parameter tool with 0% schema coverage and no output schema, the description should explain the traversal parameters (max_depth, max_elements, hwnd) and ideally the shape of the returned control tree. It covers only the query parameter and an ID-lifetime caveat, leaving several call-critical gaps.

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 carries the full burden. It only clarifies the query parameter ('filters returned names, not tree traversal') and leaves hwnd, max_depth, and max_elements completely unexplained, including their defaults and effect on the scan. It compensates for only one of four parameters.

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?

States a specific verb and resource: 'Read UI Automation controls and focus.' It is clear this inspects the live UIA tree, distinct from higher-level siblings like filmora_state or filmora_windows. It does not explicitly contrast itself against those overlapping siblings, keeping it at 4 rather than 5.

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?

There is no explicit when-to-use, when-not-to-use, or named alternative guidance. The 'IDs expire' note hints that results are short-lived but doesn't say when an agent should call this versus filmora_windows or filmora_ui_action. Usage is only weakly implied.

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

filmora_keyA
Destructive

Dispatch one key/chord, e.g. ctrl+b, escape, tab, left. No raw script or Windows key support.

ParametersJSON Schema
NameRequiredDescriptionDefault
chordYes
repeatNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and openWorldHint=false, so the mutation risk is covered structurally. The description adds a genuine behavioral limitation (no raw scripts, no Windows key) but says nothing about delivery target, focus requirements, or why the operation is considered destructive, leaving a moderate gap.

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 short sentences, front-loaded with the action and followed by format examples and the key limitation. No filler; every clause carries 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?

For a simple input tool with no output schema, the description covers the action, format, and hard limitations, but omits the 'repeat' parameter's purpose and any indication of what the caller should expect after dispatch (focus, timing, state change). Adequate but with clear gaps.

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 does so for 'chord' by giving four concrete example values that clarify the expected format. However, the 'repeat' parameter is never mentioned, leaving one of two parameters entirely undocumented.

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?

States a specific verb (dispatch) and resource (one key/chord) with concrete examples ('ctrl+b, escape, tab, left'), so the agent immediately knows this is single-keystroke input rather than text entry or scripted command execution. It does not explicitly name siblings like filmora_type_text or filmora_command, so differentiation is inferred rather than stated.

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 gives a negative constraint ('No raw script or Windows key support'), which tells the agent when this tool is NOT appropriate, but it never states positive when-to-use conditions or names the alternative tool for raw scripts or Windows keys. Usage is therefore implied rather than directed.

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

filmora_launchA
Destructive

Launch installed Filmora if it is not running; does not open or replace a project.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With readOnlyHint=false and destructiveHint=true already declared, the description adds real behavioral context: the launch is conditional/no-op when already running, and it deliberately leaves project state untouched. It does not say what happens if Filmora is not installed or what the call returns, which keeps it short of a 5.

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 compact sentence, front-loaded with the action and condition, then the negative scope. Every clause carries information; nothing is padding.

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 zero-parameter, no-output-schema utility tool, the description covers the action, the precondition, and the non-effects. Minor gaps remain: failure behavior when Filmora is absent and whether a prior filmora_status check is expected.

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 takes zero parameters, so the baseline is 4. There is nothing parameter-wise for the description to clarify, and it correctly refrains from inventing arguments.

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

Purpose5/5

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

States a specific verb and resource (launch Filmora) plus the scoping condition ('if it is not running'). The clause 'does not open or replace a project' actively distinguishes it from siblings like filmora_new_project and filmora_open_project_dialog.

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?

Gives a clear usage condition ('if it is not running') and rules out a class of alternative actions (opening/replacing a project). It does not name the sibling tools an agent should consider instead (e.g. filmora_status to check first), so it stops short of explicit routing.

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

filmora_markerC
Destructive

Add/edit marker, assign color mark, or control in/out range in the focused timeline/player.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNoadd

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, lowering the bar, but the description never discloses which action is destructive (clear_in_out removes in/out marks) or what happens to existing markers on edit. It only adds the scoping phrase 'focused timeline/player'.

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?

A single efficient sentence with the core verb front-loaded and no filler. The action list is slightly run-on but each clause carries distinct 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?

For a one-parameter, no-output-schema tool this is minimally adequate, but an agent still cannot tell when the tool applies versus general edit/playback tools, or what the destructive clear_in_out action wipes out.

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 carry the load. It does group the 13 bare enum values into meaningful categories (add/edit, color assignment, in/out range control), which adds real meaning beyond the raw enum list, but it never explains defaults, combinations, or per-value effects.

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?

States specific verbs (add/edit marker, assign color, control in/out range) and the resource/scope (focused timeline/player). No sibling tool handles markers, so the function is distinguishable, though it doesn't explicitly contrast with filmora_edit or filmora_playback.

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?

There is no guidance on when to choose this tool over alternatives, nor any exclusions. The only contextual hint is 'focused timeline/player', which implies a prerequisite but is not framed as one.

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

filmora_new_projectA
Destructive

Open new-project workflow. Existing project may prompt to save; inspect before proceeding.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is partially covered; the description adds the useful detail that an existing project may prompt to save. However, "inspect before proceeding" is vague and it doesn't say what gets destroyed, whether the prompt blocks execution, or what the workflow leaves open.

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 short sentences, front-loaded with the action and followed by the caution. Nothing is wasted, though "inspect before proceeding" is underspecified rather than merely brief.

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 zero-parameter, no-output-schema tool with destructive annotations, the description covers the core action and the main side-effect risk, but omits how to handle the save prompt (e.g., which sibling to call) and what the workflow subsequently opens.

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?

This tool takes zero parameters, so the baseline is 4 and there are no parameter semantics for the description to clarify or omit.

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?

States a specific action (open the new-project workflow) on an identifiable resource, which separates it from siblings like filmora_save_project and filmora_open_project_dialog. It doesn't explicitly name those siblings, so an agent gets a clear purpose but no direct disambiguation.

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?

"inspect before proceeding" implies a cautious-use context and the save-prompt note hints at when care is needed, but the description never states when to prefer this over filmora_open_project_dialog or how it relates to filmora_save_project. Usage is only implied.

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

filmora_open_exportA
Destructive

Open export settings; inspect/set real fields. Does not start rendering, upload, or bypass license dialogs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and openWorldHint=false, and the description usefully adds that it will not render, upload, or bypass license dialogs. However, it never explains why the operation is flagged destructive (e.g., which settings get changed) or the effect of setting fields, leaving the annotation's key implication 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?

Two tight sentences, front-loaded with the action, with the exclusion clauses immediately following. Every clause adds disambiguating value with no filler.

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 parameterless tool with annotations and no output schema, the description adequately conveys what happens (dialog opens, fields inspectable/settable) and what is out of scope. It could say more about which fields are exposed, but the dynamic dialog nature makes this a minor gap.

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 nominal, so the baseline is 4. The description adds no parameter detail, but none is needed for a no-argument tool.

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?

States a specific verb and resource ('Open export settings') plus the follow-on capability ('inspect/set real fields'). It bounds scope against nearby concepts like rendering/uploading, though it does not name a sibling directly. An agent can distinguish this from filmora_open_panel or a hypothetical export/render tool.</Figure>

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 'Does not start rendering, upload, or bypass license dialogs' clause provides explicit when-not boundaries, telling the agent this opens a configuration surface rather than performing an export. It lacks named alternatives, so it stops short of a 5.

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

filmora_open_panelB
Destructive

Open a Filmora X/10+ panel using live controls, exact-label selectors, or a version-resolved shortcut.

Includes toolbar toggles such as auto_snap and auto_ripple: these toggle state, not ensure enabled. Configure ui_target_overrides for localized/different layouts. Disabled/ambiguous controls never trigger fallbacks.

ParametersJSON Schema
NameRequiredDescriptionDefault
panelYes

TDQS

B3.4/5.0
Behavior4/5

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

Beyond annotations, it discloses selector strategies, version-resolved shortcuts, toggle-state behavior for auto_snap/auto_ripple, localization overrides, and that disabled or ambiguous controls never trigger fallbacks. These are useful behavioral details, though it does not elaborate on destructive side effects despite destructiveHint=true.

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

Conciseness4/5

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

The description is front-loaded with the core purpose, then adds three concise operational notes. It is compact and avoids filler, though the line-broken structure is slightly choppy.

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 tool with one parameter, no output schema, and a destructive annotation, the description covers operational quirks but omits what the 'panel' parameter accepts and does not describe side effects or return behavior. It is adequate but incomplete for safe 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?

The schema has 0% description coverage for the single required 'panel' parameter, but the description provides no details on allowed panel values, format, or examples. It mentions ui_target_overrides, which is not a parameter, leaving the parameter semantics largely undocumented.

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 and resource: 'Open a Filmora X/10+ panel using live controls, exact-label selectors, or a version-resolved shortcut.' It distinguishes the tool from generic UI actions by emphasizing panel-specific opening methods, though it does not explicitly contrast with siblings like filmora_windows or filmora_ui_action.

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 gives operational context such as toolbar toggles being state toggles and the need to configure ui_target_overrides for localized layouts. However, it does not explicitly say when to choose this tool over alternatives like filmora_ui_action or filmora_windows, leaving usage selection implied.

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

filmora_open_project_dialogB
Destructive

Open Filmora's project chooser. List/select the dialog, then fill_file_dialog with an existing .wfp.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, but the description says nothing about what gets destroyed. Opening a project chooser and loading a .wfp can replace the current project/session, which is exactly the behavior an agent needs warned about. The description adds essentially no behavioral context beyond the annotations.

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 short sentences, front-loaded with the action and followed by the workflow hint. No filler, though the second sentence is clipped enough that 'the dialog' is slightly ambiguous without prior context.

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 zero-param, no-output tool this is mostly sufficient, but given destructiveHint=true the description should note that loading a project may discard unsaved work or require an existing project context. It also doesn't say what to do if the dialog fails to appear.

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 takes zero parameters, so per the rubric the baseline is 4. The description correctly implies no arguments are needed before the dialog is opened and the follow-up call carries the file path.

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?

States a specific verb and resource: 'Open Filmora's project chooser.' An agent knows exactly what this does. It doesn't distinguish itself from siblings like filmora_new_project or filmora_import_media_dialog, which also open file-chooser style flows, so it falls short of a 5.

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?

It implies the usage sequence ('List/select the dialog, then fill_file_dialog with an existing .wfp'), which gives the agent a next step and names the follow-up tool. However it never states when to choose this over filmora_new_project or filmora_import_media_dialog, so usage is only implied rather than explicit.

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

filmora_playbackB
Destructive

Playback/navigation shortcuts. Focus the timeline/player before navigation.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
repeatNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is partly covered. The description adds a real operational caveat (focus targeting behavior). It never explains why a playback operation is flagged destructive, nor what state changes result, leaving a notable gap against a strong annotation.

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 short, front-loaded sentences with zero filler; the purpose comes first and the prerequisite second. It is efficient, though arguably under-specified rather than truly complete.

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 low-complexity 2-parameter tool with no output schema, coverage is only partial: purpose and focus precondition are present, but parameter meaning, effect on playhead/save state, and return behavior are absent. Adequate but with clear gaps.

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 compensate and it does not. It never mentions the 12-value 'action' enum (though values are self-evident) and says nothing about 'repeat', whose semantics and interaction with frame/second navigation are genuinely non-obvious.

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?

Names a specific category (playback/navigation shortcuts) and the resource it operates on (timeline/player). However, it does not differentiate itself from generic siblings like filmora_key, filmora_command, or filmora_ui_action, which could plausibly issue the same keystrokes. The enum in the schema supplies the specifics the prose omits.

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?

Provides a genuine usage precondition: focus the timeline/player first, otherwise navigation is meaningless. But it offers no when-to-use vs alternatives guidance relative to the key/command/ui_action siblings, so routing is left to inference.

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

filmora_save_projectA
Destructive

Save project or open Save As. Inspect dialogs; use a new filename to preserve the original.

ParametersJSON Schema
NameRequiredDescriptionDefault
save_asNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds real context beyond that: the destructive act is overwriting the original, and choosing a new filename avoids it, plus it warns that dialogs appear and must be inspected. It stops short of saying what happens on completion.

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 short sentences, front-loaded with the primary action before the conditional mode and the caveat. Nothing is padded, though 'Inspect dialogs;' is cryptic enough that it borders on under-specification rather than conciseness.

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 destructive save tool with no output schema, the description covers the core risk (overwriting the original) and the dialog step, but leaves the post-save flow and the required companion dialog tools unstated. An agent would have to discover the dialog-filling step itself.

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 exposes one boolean, save_as, with 0% description coverage, so the description carries the burden. It does explain the parameter's effect: Save As opens a filename path, and using a new filename preserves the original. That is meaningful added value for the only parameter.

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?

States a specific verb (Save) and resource (project) and names the two modes, Save vs Save As, which separates it from siblings like filmora_new_project or filmora_open_project_dialog. It is clear what the tool does, though it never names or contrasts a sibling 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 when to choose the Save As path ('use a new filename to preserve the original') and instructs the agent to 'Inspect dialogs', which is a usage hint. However, it gives no explicit when-to-use/when-not framing and does not point to the follow-up dialog tools (e.g. filmora_fill_file_dialog) that saving-as likely requires.

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

filmora_screenshotA
Read-only

Return actual MCP PNG image + coordinate metadata. Optional crop uses original window pixels.

Click/drag/scroll coordinates use displayed image pixels, including resize/crop mapping. save=True stores a uniquely named PNG in captures. Restore minimized windows first. window mode captures the app even when obscured, but GPU previews may have artifacts. visible mode captures displayed pixels; Filmora must be foreground and unobscured.

ParametersJSON Schema
NameRequiredDescriptionDefault
cropNo
hwndNo
modeNovisible
saveNo
max_widthNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds substantial context beyond that: the coordinate-space distinction (original window pixels vs displayed image pixels), the save=True filesystem side effect, the minimized-window prerequisite, and GPU artifact caveats. This goes well past what the annotations convey.

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 purpose is front-loaded in the first sentence, followed by tightly packed coordinate semantics, save behavior, prerequisites, and mode caveats. It is dense but every sentence adds operational value; no filler.

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?

There is no output schema, and the description correctly explains the return contract (PNG image + coordinate metadata) plus the critical coordinate-mapping rules that feed click/drag/scroll. It covers prerequisites and mode trade-offs. Only hwnd targeting and max_width resizing behavior are left unexplained, which are minor gaps for a capture 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?

With 0% schema description coverage, the description must carry the parameter burden, and it explains three of five well: crop ('uses original window pixels'), save ('stores a uniquely named PNG in captures'), and the mode enum values (window vs visible capture behavior). hwnd and max_width remain undocumented, but the coverage of the key behavioral parameters exceeds what the bare schema provides.

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 opening sentence states a specific verb and resource: 'Return actual MCP PNG image + coordinate metadata.' An agent immediately knows this is a screen-capture tool. It doesn't explicitly differentiate itself from siblings like filmora_snapshot_frame, but the added detail about coordinate mapping and window/visible modes makes the scope clear.

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 gives useful preconditions and mode-selection context ('Restore minimized windows first,' foreground requirement for visible mode), but never states when to choose this over alternatives like filmora_snapshot_frame or filmora_inspect. Usage is implied through operational caveats rather than explicit routing.

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

filmora_scrollB
Destructive

Scroll a pane at screenshot pixels. Positive ticks scroll up/right; negative down/left.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes
ticksYes
modifiersNo
horizontalNo
observation_idYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=true, openWorldHint=false), so the bar is lower. The description adds that scrolling operates in screenshot pixel space tied to an observation, but it does not explain what state gets altered, whether the change is reversible, 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?

Two short sentences, both front-loaded with the essential action and the direction convention. No filler, no repetition of the tool name, every clause carries 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?

For a medium-complexity UI automation tool with no output schema and zero schema descriptions, the essentials (what it does, tick direction, pixel coordinate frame) are present. However, the roles of horizontal, modifiers, and observation_id are not derivable, leaving gaps an agent must guess at.

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% across 6 parameters, so the description must compensate. It does define 'ticks' (positive up/right, negative down/left) and gives units for x/y ('screenshot pixels'), but leaves modifiers, horizontal, and observation_id entirely unexplained.

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?

States a specific verb ('scroll') plus resource ('a pane') and the coordinate reference frame ('screenshot pixels'), which clearly separates it from pointer siblings like filmora_click and filmora_drag. It stops short of naming any sibling or explaining how it differs from filmora_drag/zoom interactions.

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 when-to-use or when-not-to-use guidance, no prerequisites, no alternatives. The only conditional information given is the direction convention for ticks, which is parameter semantics rather than tool-selection guidance.

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

filmora_select_windowB
Destructive

Select a handle returned by filmora_windows. Select modal dialogs explicitly.

ParametersJSON Schema
NameRequiredDescriptionDefault
hwndYes

TDQS

B3.2/5.0
Behavior2/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, so the agent knows this mutates state, yet the description adds no behavioral context: nothing about focus/foreground behavior, whether it blocks, whether it changes application state, or whether it is reversible. It only restates the input source, so it falls short even against the lowered bar set by annotations.

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 short sentences, front-loaded with the core action and the prerequisite source. No filler; slightly terse rather than bloated, though the second sentence's purpose could be clearer.

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 one-parameter tool with no output schema, the essential prerequisite (handle origin) and the modal-dialog case are covered. But given the destructive annotation, an agent still lacks information on side effects and expected result state, leaving a meaningful gap.

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% for the single required integer hwnd, so the description must compensate. It partially does by naming the provider tool (filmora_windows) that yields the handle, but it never explains the handle's type, lifetime, or validity constraints (e.g., stale-handle behavior).

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 a specific verb ("Select") and the resource (a window handle), and it explicitly ties the input to the sibling tool filmora_windows, which distinguishes it from neighbors like filmora_click or filmora_windows itself. The jargon "handle" is not defined, but the origin is.

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?

It implies the usage chain (get the handle from filmora_windows, then select it) and adds the case of modal dialogs, which is useful. However, it gives no explicit when-not guidance, no ordering constraints relative to filmora_click/filmora_ui_action, and no statement of what selection enables.

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

filmora_snapshot_frameA
Destructive

Ask Filmora to save a source/player frame via its Snapshot command (different from UI screenshot).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a non-read, state-changing call. The description adds the Snapshot-vs-screenshot distinction but says nothing about where the file lands, its format, or whether an existing file would be overwritten — the behavioral detail most relevant to a destructive-hinted save.

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 front-loaded sentence with a parenthetical that earns its place by pre-empting confusion with the screenshot tool. No filler, no restatement of the tool name.

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 zero-parameter, no-output-schema tool this covers the core action and the sibling disambiguation, but it omits what 'source/player' refers to and what state (playhead position, loaded media) is required for the snapshot to be meaningful, which an agent needs to sequence it correctly.

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 takes zero parameters and schema description coverage is 100%, so there is nothing for the description to compensate for. Baseline 4 applies; no parameter semantics are missing.

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

Purpose5/5

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

States a specific verb and resource ('save a source/player frame') and names the mechanism ('via its Snapshot command'). It explicitly differentiates itself from the filmora_screenshot sibling, so an agent can pick the right tool without opening either schema.

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

Usage Guidelines3/5

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

The parenthetical 'different from UI screenshot' gives implicit routing guidance against the closest sibling, but there is no explicit when-to-use condition, no preconditions (e.g. a source/player must be loaded or a frame positioned), and no mention of what to do instead for a UI capture.

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

filmora_stateC
Read-only

Return a screenshot plus accessible controls, each with its own observation ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_widthNo
max_elementsNo

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds one useful behavioral detail — that each control carries its own observation ID, implying those IDs are reused by later action tools — but says nothing about truncation, limits, or whether the call is expensive.

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?

A single, front-loaded sentence that states the return payload immediately with no filler. It is efficient, though it is arguably too terse to carry the missing usage and parameter context.

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 read-only observation tool with annotations covering the safety profile and no output schema, the description conveys the essential return shape. It falls short on parameter meaning (both bounds undocumented) and on how this differs from the screenshot/inspect siblings.

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 neither max_width nor max_elements is mentioned in the description, so an agent cannot tell that these bound the screenshot width and the number of returned controls. For a 2-parameter tool with no schema documentation, the description should compensate but does not.

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

Purpose3/5

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

The description names a concrete return payload — a screenshot plus accessible controls with observation IDs — so the agent knows what comes back. However, it does not differentiate this from close siblings like filmora_screenshot and filmora_inspect, which likely return overlapping visual/UI data, leaving the agent to guess which observation tool to call.

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?

There is no statement of when to use this tool, when not to, or which sibling to prefer. With filmora_screenshot, filmora_inspect and filmora_status all present, the absence of routing guidance is a real gap for an observation-style tool.

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

filmora_statusA
Read-only

Read installed executables, running Filmora windows, pause state and server version.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, non-destructive and closed-world, so the safety profile is covered. The description usefully enumerates the data categories returned (executables, windows, pause state, version), which is real added value given no output schema, but says nothing about error behavior or environment 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?

One front-loaded sentence with no filler; every listed item is distinct information. Nothing could be trimmed without losing coverage.

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 no output schema and no parameters, the description is the only source of return-value information, and it does enumerate the returned categories. The remaining gap is scope relative to sibling status/window tools, which it never addresses.

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 takes zero parameters, so the schema requires no compensation and the baseline is 4. There are no arguments whose semantics could be misread.

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?

Uses a specific verb ('Read') and enumerates exactly what is read: installed executables, running Filmora windows, pause state, and server version. That is concrete and useful, but it never distinguishes itself from close siblings like filmora_windows or filmora_state, which sound like they may overlap.

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 when-to-use guidance, no prerequisites (e.g. whether Filmora must be launched), and no alternatives named despite numerous overlapping siblings (filmora_state, filmora_windows, filmora_inspect, filmora_capabilities). The agent must guess at the boundary itself.

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

filmora_type_textB
Destructive

Insert literal Unicode into a focused observed Edit/Document control. Reinspect after focusing first.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
element_idYes
observation_idYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the write nature is covered; the description's 'Insert' is consistent and adds no contradiction. It adds some context (control must be focused and 'observed') but omits what happens on failure, permission requirements, or whether insertion replaces existing content.

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 short sentences with the action front-loaded and a follow-up prerequisite. No wasted words, though the abbreviated phrasing ('observed Edit/Document control') is slightly terse for clarity.

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 mutation tool with three undocumented parameters, no output schema, and only basic annotations, the description is thin. It does not explain the observation_id/element_id contract, failure behavior, or what state the editor is left in, leaving an agent under-informed before a destructive write.

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% for three required parameters. The description only loosely implies the 'text' parameter via 'literal Unicode,' and gives no meaning at all for observation_id or element_id, which are the two most opaque arguments. At this coverage level the description should compensate but does not.

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 gives a specific verb (insert) and target (literal Unicode into a focused observed Edit/Document control), which is more precise than a generic 'type text' tool. It implicitly distinguishes itself from filmora_key by emphasizing literal Unicode insertion rather than key sequences, though it never names that sibling.

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 instruction 'Reinspect after focusing first' implies a required workflow (focus the control, then re-observe before typing), which is useful. However, it does not clarify when to prefer this over filmora_key or filmora_fill_file_dialog, where typing text would also be relevant, so usage is only implied.

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

filmora_ui_actionB
Destructive

Operate one freshly inspected control. set_value sets text; set_range uses a slider's native numeric range.

select chooses a combo/list item by exact visible text. Unsupported accessibility patterns raise an error; capture a screenshot and use pixels instead. Value parameter is a string, including numeric ranges.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueNo
actionNoclick
element_idYes
observation_idYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, covering the safety profile. The description adds useful behavior beyond that: unsupported accessibility patterns raise an error, and value is always a string even for numeric ranges. It does not explain what state is destroyed by destructive actions, which is the notable remaining 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 main purpose is front-loaded in the first sentence, followed by action/error specifics. It is compact with little waste, though the sentence fragments ('set_value sets text; set_range...', 'select chooses...') read a bit disjointedly.

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 4-param UI action tool with no output schema, the description covers the crucial action semantics and error fallback, which is largely adequate. It still omits the meaning of the observation_id/element_id pairing and the destructive consequences flagged by annotations, so it is not fully 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 schema alone documents nothing. The description compensates for the value parameter (string, incl. numeric ranges) and explains the semantics of set_value, set_range, and select actions, but observation_id and element_id (2 of 4 params) and most enum actions (click, invoke, focus, toggle, expand, collapse) remain unexplained.

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?

States a specific verb and resource ('Operate one freshly inspected control') and clarifies the semantics of several named actions (set_value, set_range, select), so an agent understands what the tool does. It does not, however, explicitly differentiate itself from siblings like filmora_click or filmora_type_text, which also act on UI elements.

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 phrase 'freshly inspected control' implies the tool must be used after filmora_inspect, and the fallback guidance ('capture a screenshot and use pixels instead') routes the agent when accessibility patterns fail. However, there is no explicit comparison to sibling action tools (filmora_click, filmora_type_text), leaving usage context mostly implied.

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

filmora_verify_outputA
Read-only

Check a specific exported local file's size/timestamps; does not assert codec/content validity.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
minimum_bytesNo

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already establish this as a safe read (readOnlyHint=true, destructiveHint=false, closed-world), so the bar is lower. The description adds genuinely useful behavior beyond that: the check is a local filesystem stat on an already-exported file and explicitly does not verify codec or content integrity, which prevents an agent from over-trusting a pass result. It omits what happens on failure (returned flag vs. error) or whether the file must exist.

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 compact sentence with the positive capability front-loaded and the limitation trailing as a qualifier. Nothing is padded or repeated from the schema or annotations.

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?

No output schema exists, so the description should indicate what a verification result looks like (boolean, pass/fail, returned size), and it does not. It also leaves the minimum_bytes behavior and the missing-file case unspecified for a two-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?

Schema description coverage is 0% across both parameters, so the description carries the burden. It mentions 'size' and 'timestamps', which loosely maps to the minimum_bytes threshold and the file path, but it never explains that minimum_bytes is a size floor (default 1) or what unit it uses, leaving the threshold semantics undocumented in both places.

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?

Names a specific verb (check) and resource (a specific exported local file) and pins the scope to size/timestamps. It also draws an explicit boundary against codec/content validation, which separates it from the export and inspection siblings. An agent can tell immediately what this tool does and does not answer.

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 scope exclusion ('does not assert codec/content validity') implicitly tells the agent when this tool is insufficient, but there is no explicit when-to-use statement, no mention of using it after filmora_open_export completes, and no sibling alternative named for content-level validation. Usage must be inferred from the export workflow.

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

filmora_waitA
Read-only

Bounded wait for UI/render changes; follow with screenshot or inspection.

ParametersJSON Schema
NameRequiredDescriptionDefault
secondsNo

TDQS

A3.5/5.0
Behavior3/5

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

The annotations already establish readOnlyHint=true, destructiveHint=false, and openWorldHint=false. The description adds the useful behavioral detail that the wait is "bounded" (it will return rather than block indefinitely) and that render/UI state may still be changing, which the annotations do not convey. It omits the actual bound/max duration, keeping it at a 3.

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 front-loaded sentence with no wasted words; the purpose leads and the expected follow-up action trails clearly.

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 trivial one-parameter wait tool, annotations cover the safety profile and the description covers purpose plus follow-up. The missing piece is any detail about the timing parameter, which is left entirely to a bare 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?

There is one parameter (seconds, default 1) with 0% schema coverage. The description never mentions the parameter, its unit, acceptable range, or that it defaults to 1 second, so it fails to compensate for the schema gap. Only the self-evident name 'seconds' makes it interpretable at all.

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?

States a specific verb (wait) and resource (UI/render changes) plus a scope qualifier (bounded). It is clearly distinguishable from read/inspect siblings, though it does not explicitly name an alternative. An agent can tell what it does without opening the schema.

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

Usage Guidelines4/5

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

"Follow with screenshot or inspection" gives concrete sequencing guidance, telling the agent this is a prerequisite step before capturing or inspecting state. It stops short of stating when *not* to use it or naming a specific alternative tool, so it is not a full 5.

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

filmora_windowsA
Read-only

List visible Filmora windows/dialogs by validated process, with handles and geometry.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

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?

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description does add one non-trivial behavioral detail — results are limited to a 'validated process', i.e., spoofed/foreign windows are filtered out — but it says nothing about enumeration scope (top-level only vs. child dialogs) or stability of handles across calls.

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 dense sentence with the action and scope front-loaded and no filler. Every clause (verb, resource, filter, return fields) carries 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?

With zero parameters, a full annotation set, and an output schema that documents the handle/geometry returns, the description needs only to state the enumeration scope and filter, which it does. It stops just short of the discovery-to-selection workflow that would make it self-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?

The tool takes zero parameters, so the baseline is 4. There is no argument surface for the description to clarify, and it correctly makes no attempt to describe inputs.

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?

States a specific verb (List) and resource (visible Filmora windows/dialogs), plus the scoping filter ('validated process') and the returned fields (handles, geometry). It is distinguishable in practice from filmora_select_window, but never names or contrasts that sibling explicitly, which is what a 5 would require.

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 describes the output but gives no explicit when-to-use or when-not-to-use instruction, and never points to filmora_select_window as the follow-up for acting on a discovered window. The discovery-then-select workflow is only implied by the sibling set.

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

filmora_zoomC
Destructive

Zoom timeline using Filmora's default shortcuts.

ParametersJSON Schema
NameRequiredDescriptionDefault
repeatNo
directionYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already carry the safety profile (readOnlyHint=false, openWorldHint=false, destructiveHint=true). The description adds real context by disclosing that this works via Filmora's default keyboard shortcuts, which implies focus/modifier-state dependence. However, it never explains why a zoom is flagged destructive, nor whether it depends on the active window, so a notable gap remains.

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?

A single front-loaded sentence with no filler or redundancy. It is efficient, though for a tool carrying a destructive hint the brevity tips into under-specification rather than tightness.

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 only two parameters and no output schema, little is required, but the destructiveHint=true annotation is left completely unreconciled by a description that sounds like a harmless view change. An agent cannot tell what, if anything, gets altered or destroyed, or what prerequisite state is needed.

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 supplies no parameter meaning at all. Direction's enum (in/out/fit) is self-explanatory from the schema, but 'repeat' is only described by its title and default, with no explanation of what is repeated or at what increments.

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?

States a specific verb (zoom) and resource (the timeline), so the operator is unambiguous. It does not differentiate itself from overlapping view/shortcut siblings like filmora_key, filmora_playback or filmora_ui_action, but the purpose itself is clear.

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

Usage Guidelines2/5

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

There is no guidance on when to reach for this tool versus sibling input tools (filmora_key, filmora_scroll, filmora_command) or when not to use it. The mention of 'default shortcuts' hints at mechanism but not at the conditions for use.

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.

  1. 33 tool updatesv0.2.0
    • First observedfilmora_activate
    • First observedfilmora_capabilities
    • First observedfilmora_click
    • First observedfilmora_clip_panel
    • First observedfilmora_command
    • First observedfilmora_commands
    • First observedfilmora_drag
    • First observedfilmora_edit
    • First observedfilmora_feature_guide
    • First observedfilmora_fill_file_dialog
    • First observedfilmora_import_media_dialog
    • First observedfilmora_inspect
    • First observedfilmora_key
    • First observedfilmora_launch
    • First observedfilmora_marker
    • First observedfilmora_new_project
    • First observedfilmora_open_export
    • First observedfilmora_open_panel
    • First observedfilmora_open_project_dialog
    • First observedfilmora_playback
    • First observedfilmora_save_project
    • First observedfilmora_screenshot
    • First observedfilmora_scroll
    • First observedfilmora_select_window
    • First observedfilmora_snapshot_frame
    • First observedfilmora_state
    • First observedfilmora_status
    • First observedfilmora_type_text
    • First observedfilmora_ui_action
    • First observedfilmora_verify_output
    • First observedfilmora_wait
    • First observedfilmora_windows
    • First observedfilmora_zoom

TDQS

B3.2/5.0

Scored across 33 tools

Disambiguation3/5

The set mixes high-level Filmora actions (edit, zoom, playback) with low-level UI primitives (ui_action, click, type_text, key), creating overlap in how an agent might accomplish the same task. Descriptions provide guidance, but the hierarchy is complex, so an agent must carefully distinguish when to use a control-oriented tool versus a pixel-oriented one.

Naming Consistency4/5

All tools use the filmora_ prefix and snake_case, which is consistent. However, the verb/noun pattern is not uniform: some are verb_noun (open_panel, save_project), some noun-only (status, windows, screenshot), and some noun_noun (feature_guide, clip_panel), though still readable.

Tool Count2/5

With 33 tools, the surface is heavy for the domain and exceeds the threshold where each tool clearly earns its place. Several tools could be consolidated (e.g., inspect/state, ui_action/click/type_text/key, commands/command), and high-level wrappers duplicate low-level primitives.

Completeness4/5

The set covers app lifecycle, project/media/export management, editing, and a full UI automation layer. Minor gaps exist for explicit quit/close, undo/redo, and direct render start, but agents can work around these using existing key commands or tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that gives any AI assistant eyes and hands on your desktop — screenshots, clicking, typing, OCR, window management, accessibility-tree queries, workflow recording.
    5
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for driving any Windows app through five layers including OCR, UI Automation, and direct OS operations. Enables AI agents to control Windows desktop and OS cursor-free, even on background/locked windows.
    79 npm
    2
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server that lets an LLM see and drive any running Windows app: attach a window, screenshot it, read its UI Automation tree, and send clicks, typed text, and key presses with pixel coordinates.
    -