Premiere Pro MCP Server
The Premiere Pro MCP Server enables AI assistants to directly control Adobe Premiere Pro through 278 tools across 31 modules. Here's what it supports:
Project & Media Management
Create, open, save, and close projects; import media files, folders, After Effects comps, FCP XML
Manage bins (create, rename, delete, smart bins); relink offline media, attach/detach proxies
Set scratch disk paths, override frame rates and pixel aspect ratios
Sequence Management
Create, duplicate, delete, and modify sequences; apply auto-reframe for different aspect ratios
Unnest nested sequences, create subsequences, set the active sequence
Timeline & Editing
Add, remove, move, trim, split, duplicate, enable/disable, and replace clips
Change clip speed/direction; set opacity, scale, rotation, and position
Ripple delete, roll, slide, and slip edits via QE DOM
Effects & Color
Apply/remove video and audio effects; color correct with Lumetri Color; apply LUTs; stabilize with Warp Stabilizer
Transitions
Add video/audio transitions at cut points or clip edges; batch-add transitions across a track
Audio
Adjust clip audio levels, add keyframe fades, mute/unmute tracks
Keyframes
Add, update, and delete keyframes on clip properties; set interpolation (Linear, Hold, Bezier)
Markers
Add, update, delete, and list markers on sequences or clips, with name, color, comments, and duration
Tracks
Add/delete video and audio tracks; lock/unlock; toggle visibility
Text, Captions & MOGRTs
Add subtitle-style text overlays; import and place Motion Graphics Templates (
.mogrt)
Export & Encoding
Export sequences via Adobe Media Encoder; validate presets; capture frames as PNG; export to FCP XML, AAF, OMF; start batch encoding
Discovery & Inspection
Get project info, sequence details, track/clip data; find items by name or path; get playhead position and work area
Metadata & Properties
Read/write XMP metadata; add custom metadata fields; manage HDR and panel settings
Scripting
Execute arbitrary ExtendScript for custom operations (requires
unsafe-scriptauthority); access QE DOM for advanced operations
Connectivity
Supports local stdio and remote HTTP/SSE deployment (e.g., Fly.io)
Provides local media analysis and processing capabilities using FFmpeg and ffprobe, including loudness measurement, silence detection, scene change detection, video QC, interlacing analysis, media stream inspection, contact sheet generation, and loudness normalization.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Premiere Pro MCP ServerAdd a cross dissolve between all clips on the timeline"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP for Adobe Premiere Pro
Adobe Premiere Pro MCP server for reviewable, local-first workflows with compatible AI assistants.
Premiere Pro automation for Claude, Cursor, Codex, and other MCP clients: AI-assisted editing, project organization, and export checks through Adobe's documented UXP and CEP/ExtendScript APIs.
Free, MIT licensed, local-first, and published to npm as premiere-pro-mcp — the only package name that installs this project.
Website · Recorded demo · Compare servers · Setup guides · Search tools · Troubleshooting · Release facts
Development source: 386 core tools across 57 modules, 4 resources, and 19 guided workflows. A connected UXP host adds 96 capability-gated tools.
The completed AE render handoff previews and confirms importing one finished render into an existing Premiere bin, with host and file rechecks and an import receipt.

What is this?
An MCP (Model Context Protocol) server that lets AI assistants like Claude, Windsurf, Cursor, GitHub Copilot, or any MCP-compatible client directly control Adobe Premiere Pro — importing media, editing timelines, applying effects, managing keyframes, exporting, and more.
"Add the B-roll clips to V2, apply a cross dissolve between each, color correct them to match the A-roll, and export a 1080p ProRes."At a glance
Display name | MCP for Adobe Premiere Pro |
npm package |
|
Install (npm route) |
|
Connector install |
|
MCP server name |
|
Repository | |
Website | |
License | MIT |
Hosts | Windows and macOS, Premiere Pro 2020-2026 |
This project is independent and is not affiliated with or endorsed by Adobe Inc.
It is also separate from other MCP servers for Premiere Pro. The only npm package
published from this repository is premiere-pro-mcp, and no other package name
installs it.
Comparing similarly named packages? Both this package and
adobe-premiere-pro-mcp declare a premiere-pro-mcp executable. Verify the package
and repository before configuring a client. The new
local configuration helper prints Claude, Cursor,
VS Code, or Codex settings that point directly to this installation. It is a
feature included in v1.15.1 and later.
The current source exposes 386 core tools for supported workflow steps spanning the supported ExtendScript, QE DOM, local media and interchange analysis, revisioned project-context retrieval, safe edit-planning, project-intake preview, review handoff, connection verification, and guarded After Effects MOGRT authoring, batch, library, render-queue, inspection, and Premiere-handoff workflows. A compatible, authenticated UXP panel adds 96 documented, capability-gated tools without replacing the production CEP bridge.
Latest release: 1.19.0
The published v1.19.0 npm artifact contains 386 core tools, 384 in its default profile, and 480 with a compatible UXP connection. The development catalog above can include unreleased work. See the versioned facts and package provenance.
Try a bounded workflow
Choose a setup guide: Claude Desktop, Codex, other local MCP clients, or ChatGPT connection options.
Download the workflow starter kit for synthetic media and three evaluation recipes: a read-only sequence check, an explicitly confirmed review-frame export, and a product-spot preview. No email is required. The kit has no recorded Premiere demo or verified host result. Start with a disposable project and use setup and recovery if the connection is unavailable.
Release highlights
Editorial planning: film evidence, transcript cleanup, caption authoring, shorts and chapter planning, rhythm and speaker layouts, timeline QA, and platform delivery plans.
Cross-app handoff: capability-aware workflow routes and guarded After Effects render-to-Premiere handoff.
Editing correctness: verified readback and explicit capability or committed-but-unverified failures across transition, import, effects, source identity, and track operations. Insert edits ripple QE sync-locked tracks instead of silently desyncing neighbours.
MOGRT studio: an optional, separate After Effects CEP connector can author approval-gated title, callout, quote, and social recipes; constrain them with local brand kits; batch, publish, queue, inspect, and hand them to Premiere without claiming visual or completed-render proof.
Global-update handoff: a global npm installation can show its server and connector update state in the Windows CEP panel and, after explicit confirmation, update only after Premiere has been quit; it never changes a project, client configuration, source checkout, or custom npm prefix.
Local review planning: caption timing previews parse caller-supplied SRT/VTT without writing or importing it, while revision-bound editorial evidence stays in the opt-in local context index without provider calls.
Repair preview:
premiere-pro-mcp --doctor --plan-fixesproduces a privacy-safe, no-write repair plan; the narrowly eligible connector repair still requires an explicit confirmation that Premiere is closed.Auditable guidance: the universal setup guide, generated public workflow manifest, and proof runbook make workflow and verification boundaries inspectable without claiming a licensed-host walkthrough occurred.
Faster, clearer delivery: immutable MCP registration work is reused safely across stateless requests, and the website gained a lighter, mobile-first workflow view plus current machine-readable facts and crawl guidance for its public pages.
Explicit boundary: the hosted endpoint remains an operator-managed MCP service; unauthenticated callers are rejected and it does not pair users to local Premiere processes. See the generated supported action catalog for individual capability and verification contracts.
See the v1.19.0 release notes for complete details. Live installation in Premiere Pro still requires host verification.
Current MCP protocol support
The server uses the stable TypeScript SDK v2 and serves the 2026-07-28
stateless protocol over HTTP and stdio, while retaining legacy MCP compatibility
through 2025-11-25. Modern clients receive discovery, validated routing headers,
cache hints, subscription-stream support, and the formal Premiere extension
capability. See the complete MCP capability and boundary report.
If an MCP client cannot complete its server/discover probe, set
PREMIERE_MCP_PROTOCOL_MODE=legacy in that client's server environment and restart
the client. This uses the SDK's base stdio transport and the legacy initialization
handshake only; leave it unset (or auto) for modern MCP capabilities.
Related MCP server: premiere-pro-mcp
For editors evaluating an AI workflow
Before an assistant changes an active project, use the Premiere Pro AI workflow checklist to define the target and no-change boundaries, verify the local connection, request a bounded plan, and inspect the returned result. It is a practical starting point for assistant editors and post leads testing a repeatable workflow on a duplicate project or small test sequence.
For product context, see the Adobe Premiere AI Assistant and MCP comparison and the Claude Desktop setup guide.
If you are deciding between a single local project, an Adobe Production on shared storage, or a remote Team Project, use the Premiere Pro collaboration workflow guide before you evaluate an MCP path. It links the relevant Adobe guidance, makes no project inspection request, and ends with the same read-only connection check.
For a concrete first Project Intake preview, choose one of the three schema-checked, no-sensitive-data starter templates. They are evaluation samples only: a human policy owner must review and replace their bins, media rules, and organization rules before a facility uses one.
Quick Start
Install the published package (verify the name)
npm i -g premiere-pro-mcp@1.19.0This repository publishes only
premiere-pro-mcp. A differently named package (adobe-premiere-pro-mcp) may also declare apremiere-pro-mcpexecutable. Before configuring a client, confirm:
Check
Expected
Package name
premiere-pro-mcp(notadobe-premiere-pro-mcp)Version
1.19.0Homepage / repo
https://premiere-pro-mcp.com/ · https://github.com/leancoderkavy/premiere-pro-mcp
npm list -g premiere-pro-mcp premiere-pro-mcp --version npm view premiere-pro-mcp homepage repository.urlThen continue with
--install-cep,--doctor, and the read-onlyverify_premiere_connectionprompt.
Easiest supported path: Claude Desktop
Download the current Claude Desktop bundle (
.mcpb).In Claude Desktop, open Settings > Extensions > Advanced settings > Install Extension, select the downloaded bundle, and restart Claude Desktop.
Download the separate signed Premiere connector (
.zxp). Open it with your trusted ZXP installer. If your computer has no ZXP installer, use the npm connector installer in Advanced setup below.Restart Premiere, open a project, then open Window > Extensions > MCP for Adobe Premiere Pro.
In Claude, enter:
Safely check my Premiere connection with verify_premiere_connection. Make no changes.
The Claude bundle contains the local MCP server, so this route does not require Node.js. The Premiere connector is a separate required install. The first prompt is read-only and reports whether the server is installed, configured, connected, and live-verified.
First proof, before the first edit

This is an illustrated workflow, not a Premiere panel screenshot or licensed-host proof.
Open a copied test project and an active sequence in Premiere.
Open Window > Extensions > MCP for Adobe Premiere Pro. “Running” means the local panel bridge is available; it does not show that an edit completed.
Run
premiere-pro-mcp --doctorto check only local package/configuration readiness.Ask the AI client:
Run verify_premiere_connection. Make no changes.The returned check is read-only and avoids project names, paths, and media details.
If a bridge, project, or active sequence is missing, fix that setup state before allowing a mutation. For a concise, translatable version of this path, see quick starts in English, Spanish, and Japanese. The translations are machine-assisted drafts and retain command names in English.
Other AI assistants
Cursor, VS Code/Copilot, Windsurf, and other MCP clients do not currently have a project-provided one-click installer. Use their MCP settings with the advanced npm route below. Keep the assistant, server, connector, and Premiere on the same computer.
For a portable reference users can download and attach to any AI assistant, see the MCP for Adobe Premiere Pro setup guide for AI assistants. Attaching the guide provides assistant context; the local server and Premiere connector still need to be installed separately.
Before you begin
Node.js 20.19 or newer on Windows or macOS.
Adobe Premiere Pro 2020–2026. Keep Premiere, the CEP bridge, and your MCP client on the same computer for the recommended local setup.
For
trim_clipandslip_edit, install FFmpeg withffprobeonPATH(brew install ffmpegon macOS orwinget install Gyan.FFmpegon Windows). These source-range edits are unavailable withoutffprobeand accessible media with readable timestamp clocks: they refuse before mutation when physical source bounds cannot be verified. FFmpeg also provides the optionaldetect_silencedependency. The production Docker image already includes it.
1. Install
Option A — npm:
npm install -g premiere-pro-mcpOption B — Clone from source:
git clone https://github.com/leancoderkavy/premiere-pro-mcp.git
cd premiere-pro-mcp
npm install
npm run build2. Install the CEP plugin
If installed via npm:
premiere-pro-mcp --install-cepIf cloned from source:
npm run install-cepThis installs the plugin into Premiere Pro's per-user extensions folder and enables debug mode.
3. Check the setup
premiere-pro-mcp --doctorThen ask your MCP client to run verify_premiere_connection. The check is read-only.
Update an existing installation
New releases update the local server and Premiere connector; a deployment of the hosted MCP service does not replace software on your computer. Fully quit Premiere before updating the connector.
Installed globally from npm:
premiere-pro-mcp --check-update
premiere-pro-mcp --update--update only changes a global npm installation. It installs the published
latest package, refreshes the bundled CEP connector, and leaves your MCP
client configuration and projects untouched. Restart Premiere and your MCP
client afterward, then run verify_premiere_connection before editing.
From the MCP for Adobe Premiere Pro panel (Windows global npm install):
The MCP updates card compares the installed global server and connector
with npm latest. Choose Update after quit, review the confirmation, then
quit Premiere normally. A per-user helper waits for Premiere to exit; it never
force-quits the app, then installs the published npm package and refreshes its
matching connector. This also supports older global installs that predate the
--update command.
When you reopen Premiere, the panel reports the result and reminds you to
restart your MCP client and verify the connection. This flow never changes a
project or MCP client configuration. It deliberately will not update a Git
checkout, a custom npm prefix, or a Claude Desktop .mcpb bundle.
Installed from a Git clone:
npm run check-update:source
npm run update:sourceThe source updater refuses a checkout with uncommitted files or local commits,
fast-forwards only to its configured upstream, runs npm ci and the production
build, then refreshes the CEP connector. This avoids silently overwriting local
code. If you installed the Claude Desktop .mcpb bundle, download and install
the newer bundle from the GitHub release instead; Claude controls extension
updates.
Remove the CEP connector
Fully quit Premiere, then remove only this connector:
premiere-pro-mcp --uninstall-cepThe uninstaller intentionally leaves Adobe's shared PlayerDebugMode setting in place so it does not disrupt other CEP extensions. Remove the MCP server from your AI client's configuration and uninstall the npm package separately if you no longer use it. On macOS, --uninstall-cep removes the per-user npm/source install; the signed system-wide .pkg route has a separate privileged removal command in distribution readiness.
Publishing to npm
The easiest repeatable path is the token-free GitHub Actions workflow:
In the npm package settings, configure GitHub Actions as the trusted publisher for
leancoderkavy/premiere-pro-mcpand workflow filenpm-publish.yml.Allow the
npm publishaction.Open Actions -> Publish npm -> Run workflow and keep the default
latesttag.
The workflow installs dependencies, builds, runs tests, verifies the packed files, refuses to republish an existing version, then publishes through short-lived OIDC credentials with automatic provenance. No npm token or recurring OTP is required.
For local publishing, use the guided helper:
npm run publish:npmUseful local variants:
npm run publish:npm:dry-run
NPM_OTP=123456 npm run publish:npm
NPM_TOKEN=npm_xxx npm run publish:npmmkdir -p ~/Library/Application\ Support/Adobe/CEP/extensions
ln -s "$(pwd)/cep-plugin" ~/Library/Application\ Support/Adobe/CEP/extensions/MCPBridgeCEP
# Enable unsigned extensions (CSXS 9–14)
for v in 9 10 11 12 13 14; do
defaults write com.adobe.CSXS.$v PlayerDebugMode 1
doneCopy the
cep-pluginfolder to%APPDATA%\Adobe\CEP\extensions\MCPBridgeCEPOpen Registry Editor and set these String (
REG_SZ) values to1(not DWORD):HKEY_CURRENT_USER\Software\Adobe\CSXS.12\PlayerDebugMode(repeat for CSXS.9 through CSXS.14)
3. Configure your MCP client
If you installed from npm, configure the client to run the global command:
{
"mcpServers": {
"premiere-pro": {
"command": "premiere-pro-mcp"
}
}
}If you cloned the repository instead, use the source-build configuration shown below for your client.
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"premiere-pro": {
"command": "node",
"args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"]
}
}
}Add to your MCP server configuration:
{
"premiere-pro": {
"command": "node",
"args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"]
}
}Add to .cursor/mcp.json in your project or global config:
{
"mcpServers": {
"premiere-pro": {
"command": "node",
"args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"]
}
}
}After the server is enabled, select Claude Fable 5.1 in Cursor when you want a longer-horizon session. See Claude Fable 5.1 workflows.
Add to your VS Code MCP server configuration:
{
"mcpServers": {
"premiere-pro": {
"command": "node",
"args": ["/absolute/path/to/premiere-pro-mcp/dist/index.js"]
}
}
}4. Verify the bridge in Premiere Pro
Open (or restart) Premiere Pro
The bridge starts automatically using the default temp directory (or its previously saved setting)
Optionally go to Window > Extensions > MCP for Adobe Premiere Pro to confirm the green "Running" status or change the Temp Directory to match your MCP client config
Ask your AI assistant to run
get_capabilities, thenping, with Premiere open.For a safe first request, ask: "What is my current Premiere Pro project and active sequence? Do not make changes."
The default bridge directory is derived from the operating system on both sides, so most local setups should not set PREMIERE_TEMP_DIR. On macOS, the server resolves the per-user system temporary directory even when a GUI-launched client strips TMPDIR, keeping it aligned with Premiere's CEP panel. If you override it, use the same absolute path in the MCP server and CEP panel; Windows and macOS paths are not interchangeable.
Codex plugin
This repository includes an installable Codex plugin that bundles the local MCP server with a safety-oriented Premiere editing skill.
From a clone of this repository:
codex plugin marketplace add .
codex plugin add premiere-pro@premiere-pro-mcp
npx -y premiere-pro-mcp@1.19.0 --install-cepRestart Premiere Pro and start a new Codex session after installation. The plugin
launches premiere-pro-mcp@1.19.0 through npx; the separate CEP installation is
required because the MCP server communicates with the running Premiere host through
the local bridge.
The plugin source lives in plugins/premiere-pro, and the
repository marketplace manifest lives in
.agents/plugins/marketplace.json.
GPT-6 Astra and agent tool discovery
Use the Codex plugin with codex --model gpt-6-astra when your account has access.
The server supplies session-aware workflow instructions and bounded tool discovery:
call get_capabilities with {"tool_query":"transcript","tool_limit":10} to
find relevant operations, their descriptions, and backend requirements. Searches
default to tools registered under the current authority and tool packs.
See GPT-6 Astra workflows for evidence retrieval, visual review, execution ordering, and the division between MCP and client capabilities.
GPT-6 Sol and GPT-6 Luna
Use the Codex plugin with codex --model gpt-6-sol for multi-step agentic edits,
or codex --model gpt-6-luna for focused, high-volume inspection passes, when
your account has access. Both call the same MCP tools under the same authority,
preview, and readback rules. See GPT-6 Sol and Luna workflows.
Claude
For Claude Code, add this repository as a marketplace and install the plugin:
/plugin marketplace add leancoderkavy/premiere-pro-mcp
/plugin install premiere-pro@premiere-pro-mcpThen install the Premiere bridge and start a new Claude Code session:
npx -y premiere-pro-mcp@1.19.0 --install-cepThe Claude Code package lives in
claude-plugins/premiere-pro, with its marketplace
at .claude-plugin/marketplace.json.
Claude Desktop uses the self-contained MCP Bundle (.mcpb) format. Build and
validate the current bundle with:
npm run build:claudeInstall the resulting file from artifacts/ through Settings > Extensions >
Advanced settings > Install Extension. The Premiere CEP bridge must still be
installed separately.
Claude Fable 5.1
Use Cursor, Claude Desktop, or Claude Code with Claude Fable 5.1
(claude-fable-5-1) when your account has access. Model selection belongs to the
client; this server does not run an Anthropic model. Fable 5.1 is optional:
other Claude models can call the same MCP tools. If Cursor Privacy Mode or an
Enterprise plan is enabled, an admin must approve Anthropic's Fable data-retention
policy before the model is available.
The server supplies session-aware workflow instructions and bounded tool discovery:
call get_capabilities with {"tool_query":"transcript","tool_limit":10} to
find relevant operations, their descriptions, and backend requirements. Keep
Premiere mutations serialized even in a long Fable 5.1 session. Image review of
returned frames is not playback or delivery proof.
See Claude Fable 5.1 workflows for connection order, privacy boundaries, evidence retrieval, Cursor's Opus fallback, and the division between MCP and client capabilities. The public walkthrough is How to Use Claude Fable 5.1 with MCP for Adobe Premiere Pro.
Claude Opus 5.5
Use Claude Code, Claude Desktop, or Cursor with Claude Opus 5.5
(claude-opus-5-5) when your account has access. Model selection belongs to the
client; this server does not run an Anthropic model. Opus 5.5 is optional. Keep
Premiere mutations serialized and preview before apply. See
Claude Opus 5.5 workflows.
Windows and macOS capability coverage
Surface | Windows | macOS | Verification boundary |
CEP production bridge | Premiere Pro 2020–2026 | Premiere Pro 2020–2026 | Run |
UXP preview bridge | Premiere Pro 25.6+ | Premiere Pro 25.6+ | Live loopback WebSocket and host API verification required |
npm CEP installer | Copies plugin and verifies | Copies plugin and verifies the installed manifest/debug settings | Restart Premiere after installation |
AE MOGRT authoring CEP bridge | After Effects 2018+ | After Effects 2018+ | Opens only a saved, workspace-contained AE project; a local ZIP check is not import, playback, or visual verification |
CI build and unit tests | Node 20, 22, and 24 | Node 20, 22, and 24 | GitHub-hosted OS runners; no Adobe host is available in CI |
get_capabilities reports the current operating system, temp directory, CEP/UXP coverage, enabled authority profile, and any live-host verification still required. It also includes the full tools catalog generated from the tools registered by the server, including tools disabled by the active profile. Every entry identifies:
the execution backend (
local, CEP/ExtendScript, QE, or orchestrator);static support status (
supported,limited,experimental, orunsupported);the minimum Premiere version known to the server;
the required authority and whether the current profile enables it;
the verification boundary and whether a live Premiere host is required; and
relevant operational notes.
QE-backed tools are reported as experimental because QE is undocumented and can vary between Premiere builds. Authority availability is reported separately from implementation support, so disabling edit, for example, does not incorrectly label editing tools as unsupported. Static metadata never claims that a Premiere operation succeeded; use ping and inspect each tool result for runtime evidence.
MCP tools/list is filtered to the active authority profile. The default
inspect,edit,export,filesystem profile advertises 367 of the 369 registered
tools and omits execute_extendscript and evaluate_expression, which require
explicit unsafe-script authority. ping and get_capabilities remain visible
under every profile so a restricted or misconfigured server can still explain
its state. The call-time capability guard remains authoritative even if listing
metadata is wrong.
Workflow-scoped discovery packs and structured outputs
By default, the full permitted catalog remains available. Set
PREMIERE_MCP_TOOL_PACKS to essential, inspection, delivery, captions,
or a comma-separated combination such as inspection,captions to reduce the
tool discovery and registered session surface for a focused client. full is the explicit
full-catalog mode and cannot be combined with another pack. ping and
get_capabilities remain listed for diagnosis, and every registered call still
passes through the same capability guard; a pack never grants authority.
Every listed tool now declares the same machine-readable result envelope through
MCP outputSchema: ok, tool, plus data on success or error on failure.
The tool-specific data shape remains versioned by the individual tool result,
so clients can reliably distinguish transport success from a Premiere or local
operation failure without parsing the text block.
After Effects MOGRT studio
This is a narrow authoring path, not an arbitrary After Effects script runner. Install the separate local connector, fully restart After Effects, and open Window > Extensions > MCP for Adobe After Effects:
premiere-pro-mcp --install-after-effects-cepThen open a saved .aep project inside an approved workspace and use this order:
verify_after_effects_connection— read-only connector and saved-project check.preview_mogrt_recipe— produces an expiring, one-time plan for one of five supported recipes:lower_third,title_card,callout,quote_card, orsocial_end_card; it never creates directories or contacts Adobe.create_mogrt_recipewith that token andconfirm_export: true— creates one composition, saves the open project, and requests one.mogrtexport.verify_mogrt_artifact— checks only local file existence and its ZIP header.
Optional studio paths retain the same preview-and-confirm boundary:
validate_mogrt_brand_kitvalidates local name-prefix, accent/text colors, font request, safe-margin, and workspace-contained logo values before they are passed into a recipe.preview_mogrt_batch/create_mogrt_batchexport up to 20 JSON/CSV rows serially; batches stop on a host error and do not promise rollback.preview_mogrt_library_publish/publish_mogrt_to_librarywrite a new, immutablev001,v002, … copy under an already-existing local library.inspect_after_effects_template_sourcereturns source-comp dimensions, duration, fonts, layer kinds, and controller names on AE 16.1+, whileinspect_after_effects_render_templateslists host template names from an existing queue item.preview_after_effects_render/enqueue_after_effects_renderqueue one exact render but never start it.preview_mogrt_premiere_handoff/apply_mogrt_premiere_handoffimport into an explicitly named emptyMOGRT Verify - …Premiere sequence and read back insertion/control descriptors.
The authoring connector uses AFTER_EFFECTS_MCP_TEMP_DIR (default: the OS temp
directory plus after-effects-mcp-bridge), completely separate from
PREMIERE_TEMP_DIR. The tool will not create, replace, or switch projects; it
requires the already-open AE project and output directory to be contained by the
same approved workspace. An import/control readback still needs rendered-frame
review before delivery; use capture_frame or a separate approved export path.
inspect_sequence_review_report creates one read-only handoff report from
Premiere timeline readback: sequence structure, primary-track gaps, disabled
clips, muted tracks, marker timing, and offline-source evidence. It never
returns media paths; marker comments are omitted unless explicitly requested.
The report is not proof of rendered pixels, audio quality, caption accuracy,
rights, or editorial approval.
The MCP handshake reads serverInfo.version from the installed package.json,
so clients receive the package version that is actually running rather than a
separately maintained literal.
Tools with mixed execution boundaries can provide explicit operational metadata at registration. This is used for local file verification, static feature-support reports, and hybrid local-plus-Premiere validation so the capability catalog does not infer a host dependency from naming alone.
Collaboration and AI feature boundaries
get_advanced_feature_support returns a machine-readable matrix for Productions,
Team Projects, Frame.io, Media Intelligence, Generative Extend, Object Mask,
caption translation, Speech-to-Text, Enhance Speech, Remix, editorial plans,
Premiere AI Assistant, Generative Media, and a future local semantic index. Each
entry includes an explicit access mode: direct, observable-only, artifact-import,
external-provider, user-assisted, unavailable, or planned. Pass an optional
Premiere version, intended backend, confirmed entitlements, and network state to
evaluate prerequisites without conflating them with API availability. It
distinguishes documented APIs from entitlements, network prerequisites, separate
service APIs, and user-assisted operations without using menu automation or
private APIs.
The report tool itself is local: it does not contact Premiere and is callable through the current MCP server. Each feature entry separately reports whether its operations are callable through the production CEP transport. Productions reports only static backend/version eligibility until a UXP host performs live capability negotiation.
Productions exposes documented read-only state through UXP, but the production MCP transport is still CEP.
Frame.io needs a separately authenticated Frame.io API integration; an account entitlement alone does not make it callable through Premiere's DOM.
Transcript JSON import/export is documented in UXP. Starting Speech-to-Text is not.
preview_transcript_edit_uxpandplan_transcript_rough_cut_uxpprovide a revision-locked transcript-edit workflow. The planner maps selected transcript ranges to verified 1x placements in a duplicate sequence and emits descending split/remove instructions; it does not claim that Adobe exposes native transcript text deletion or perform an unverified destructive edit.The remaining AI operations are user-assisted or unsupported by documented public APIs. The tool explains what can be inspected after a user completes the operation and where artifact provenance cannot be established safely.
The server never uses menu automation, private APIs, clip-name heuristics, or duration changes as proof that an AI operation occurred.
Reusable project context
For projects where repeatedly inspecting clips, transcripts, audio, and timeline
placements is expensive, call manage_project_context with action: "capture".
The local context engine indexes a bounded active-sequence snapshot, hashes native
project/media paths before persistence, and returns independent source, timeline,
and combined context revisions. Add transcript passages, shot descriptions, audio
observations, or editor notes once with action: "enrich"; ordinary trims and moves
update the timeline revision without discarding unchanged source analysis.
Use search_project_context to retrieve only evidence relevant to the current
editing intent. create_context_edit_plan returns a non-mutating candidate scaffold
and stale-state guards; create_editorial_plan adds reviewed organization,
stringout, rough-cut, and caption-artifact routes without calling an LLM or
changing Premiere. Exact identities must still be resolved and passed through the
routed operation's preview/confirmation flow before any application. See the
project context engine guide for storage
controls, privacy boundaries, and invalidation behavior; see
local-first AI editorial workflows for the
complete review-and-route workflow.
Authenticated UXP connection
The MCP server can accept a local UXP panel connection and invoke the UXP commands that are currently implemented:
PREMIERE_UXP_TOKEN="replace-with-a-long-random-secret" premiere-pro-mcpGenerate that secret yourself and enter the same value in the UXP panel (Window → UXP Plugins, not the CEP Connector). CEP-only setups do not use a token. The listener binds only to 127.0.0.1:7777, authenticates the WebSocket upgrade, requires a versioned capability handshake, correlates concurrent requests, and fails pending work on timeout or disconnect. Set PREMIERE_UXP_PORT to use another loopback port.
When enabled, MCP discovery includes 91 capability-gated UXP additions. The first expansion covers effects, deterministic timeline selection, selection batches, scene detection, proxy/ingest, relink, metadata, color conformance, read-only Premiere/After Effects environment inspection, Source Monitor audition, storage, and least-privilege workspace access. The second adds Project-panel selection, marker CRUD, single-transaction undoable beat-grid marker application, bin organization, sequence settings, imports, typed effect parameters/keyframes, track-item transforms, atomic J/L split edits, SequenceEditor timeline edits, sequence lifecycle, and AME encoding. The third wave begins with a redacted event journal, conservative AME terminal receipts, explicit host-readiness gates, safe multi-project sessions, lease-based growing-media control, namespaced workflow checkpoints, bounded media-health maintenance, caption-aware track mute state, transactional source trim/framing, guarded sequence-range updates, guarded source-media start timing, and guarded source-media frame-rate/pixel-aspect overrides documented in the third-wave workflow matrix. The bounded migration surface also includes a non-ripple selected-item lift, native video-transition listing and guarded transactions, native active and explicit-GUID sequence timing inspection, opt-in installed-MOGRT directory inspection without filesystem enumeration, bounded native timeline structure inspection with opt-in source IDs, classification, and broad content category, guarded sequence display-format updates, a capped native Project-panel tree, a double-read Project-panel insertion-bin snapshot, guarded empty/default sequence creation, bounded native Project-panel schema/item-column metadata inspection, guarded direct Project-panel metadata replacements with exact state/readback guards, guarded typed Project metadata schema-field creation with non-field-level readback, guarded direct updates to three named application preferences, guarded transcript JSON replacement for one exact source clip, direct active-track-item identity readback, guarded source-only slips, guarded contiguous three-item slides, guarded append-only timeline duplicates, guarded contiguous same-track ripple deletes, guarded source-project-item color labels resolved from one timeline coordinate, guarded explicit-sequence preview-frame rectangle updates, explicit opt-in source-media provenance paths with bounded double resolution, bounded source-proxy readiness with an explicit attached-path disclosure, guarded static effect-parameter PointF x/y updates, bounded effect-parameter descriptor catalogs, bounded project/sequence Object Mask audits, native FrameRate/TickTime frame-alignment inspection with caller-owned inputs and tick readback, and native TickTime arithmetic over caller-owned canonical tick strings; it does not claim direct empty-track create/delete, global redo support, playback proof, Object Mask counts or visual validity, an atomic Project-panel metadata compare-and-set, app-preference Undo, installed-template availability or compatibility, imported transcript persistence, override-presence/clear semantics, path existence, source lineage or rights, proxy compatibility, general or keyframed effect-parameter value readback, rendered-frame correctness, linked-item sync, or licensed-host validation. A separate hybrid benchmark gate keeps native acceleration disabled until reproducible cross-platform evidence exists. See also the first stable workflow matrix, the next-ten workflow matrix, the guarded-slip workflow notes, the guarded-slide workflow notes, the guarded-duplicate workflow notes, and the guarded-ripple-delete workflow notes. Commands are advertised only while the authenticated local UXP bridge is connected; the host capability handshake remains the authority for support in the running Premiere build. A failed UXP command is never silently retried through CEP because the first operation may have partially succeeded.
The bounded UXP migration surface also exposes a read-only animated-PointF endpoint-displacement inspection through automate_effect_parameters_uxp. It requires one exact component and parameter target plus a strictly increasing time interval, double-reads native endpoint values and their distance, and refuses static, malformed, or changed parameter state. It does not modify Premiere or prove rendered appearance, playback, persistence, Undo, or licensed-host behavior.
The bounded UXP migration surface also exposes guarded static Color effect-parameter RGBA updates through automate_effect_parameters_uxp. They require a complete double-read snapshot, explicit confirmation, a valid operation ID, per-parameter serialization, one native transaction, and exact raw-component readback. They reject time-varying parameters and do not claim keyframed Color edits, color management, rendered appearance, playback, persistence, Undo, or licensed-host validation.
The bounded UXP migration surface also exposes guarded typed Project metadata schema-field creation. It requires the exact inspected active-project identity and 12 KiB-bounded panel XML, an explicit confirmation and operation ID, and serializes this bridge's schema and panel-replacement calls per project. Adobe provides no atomic compare-and-set or field-level schema getter: native acceptance and a changed panel XML are evidence only, so the command always returns committed_unverified and does not claim field presence, persistence, UI results, Undo, cancellation, or licensed-host validation.
The panel now requests access to one operator-selected workspace instead of declaring full filesystem access. Choose the folder in the panel before invoking a path-based UXP workflow. Media, relink, preset, export, and Source Monitor file paths must remain inside it; the persistent capability token and native root path are never returned over MCP. After a folder is granted, path-based commands resolve each native path through that folder's Entry tree and compare the host nativePath against the approved root, so symlink or junction targets outside the workspace still fail closed. If the host Entry cannot be walked and no resolver is supplied, those commands stay unsupported and the CEP fallback remains the path-based compatibility route.
Native transcript editing starts with a read-only, revision-locked planning flow. Use
get_clip_transcript_uxp to export the transcript Premiere generated for a source
clip, select source-time ranges from that JSON, and pass its SHA-256 revision to
preview_transcript_edit_uxp. The preview sorts and merges ranges and returns a
confirmation token without changing the timeline. Premiere does not expose a
documented operation that directly turns deleted transcript text into timeline cuts,
so automatic application remains withheld until the source-to-sequence mapping and
documented reconstruction path pass live-host validation. search_clip_transcript_uxp
provides read-only discovery without substituting an external transcription engine.
Premiere 26.2-26.3 hosts also expose documented UXP workflows for revisioned project inspection, verified project saves, preset-based sequence creation, OTIO/FCP XML interchange, transcript-language discovery, Object Mask detection, Adobe Media Encoder control, track renaming, subclip creation, stable marker inspection, Source Monitor positioning, and clip transcript detection. Mutations accept optional idempotency keys and return explicit verification outcomes. See the Adobe UXP 26.3 coverage matrix and the UXP capability foundation for the command matrix and live-host validation boundary.
The Premiere surface registry separately tracks the Premiere DOM, general UXP JavaScript, HTML/CSS, Spectrum, plugin guides, UXP Hybrid C++, the standalone Premiere C++ PrSDK, CEP/ExtendScript, the CEP platform, QE, and pinned competitor sources. The exhaustive general UXP JavaScript inventory is generated from Adobe's pinned declarations, while the exhaustive Premiere documentation inventory tracks every page in Adobe's live sitemap. This keeps declaration and documentation inventory distinct from implementation and licensed-host coverage.
The stable workflow expansion adds native component-chain effects, deterministic timeline selection, compound selection batches, scene-edit detection, proxy/ingest control, guarded offline relink, transactional project/XMP metadata, color and footage-conformance preflight, full Source Monitor audition, and project/Production storage checks. See the stable UXP workflow matrix for exact argument, undo, confirmation, and live-host boundaries.
Architecture

Local (stdio):
┌───────────────┐ stdio (MCP) ┌──────────────┐ File-based IPC ┌───────────────┐
│ AI Client │ ◄──────────────► │ MCP Server │ ◄────────────────► │ CEP Plugin │
│ (Claude, │ │ (Node.js / │ .jsx commands │ (runs inside │
│ Windsurf, │ │ TypeScript) │ .json responses │ Premiere) │
│ Cursor, │ └──────────────┘ └──────┬────────┘
│ Copilot) │ │
└───────────────┘ │ evalScript()
▼
┌───────────────┐
│ Premiere Pro │
│ ExtendScript │
│ + QE DOM │
└───────────────┘Remote (HTTP/SSE — Fly.io):
┌───────────────┐ HTTP+SSE (MCP) ┌─────────────────────┐ File-based IPC ┌──────────────┐
│ AI Client │ ◄──────────────► │ MCP Server │ ◄────────────────► │ CEP Plugin │
│ (any MCP │ │ premiere-pro-mcp │ .jsx / .json │ (Premiere) │
│ client) │ │ .fly.dev │ shared volume └──────────────┘
└───────────────┘ └─────────────────────┘AI client invokes an MCP tool (e.g.,
add_to_timeline)MCP server generates ES3-compatible ExtendScript with helper functions prepended
Script is written to a
.jsxcommand file in a shared temp directoryCEP plugin polls for command files, executes via
CSInterface.evalScript()Result JSON is written to a response file and returned to the AI
The file-based IPC bridge is simple, reliable, and works across macOS and Windows without network sockets.
inspect_unique_object_identity_uxp is a separate read-only native identity
inspection route. It resolves exactly one project item or sequence, reads the
opaque UniqueSerializeable identity twice, and rejects drift without retaining
the value or treating it as edit authority. See the unique-identity workflow
notes for its bounds and proof boundary.
Film editorial review
inspect_film_editorial_workflow validates captured identities and explicit
source/scene coverage, builds marker/stringout/line/beat review artifacts, and
reports revision-bound notes, VFX state, change impact and turnover exceptions.
It performs local inspection; host edits and exports use separate guarded tools.
See usage, example and remaining execution adapters.
Tools (386 core total; 384 under the default profile; 480 with a connected UXP bridge)
The complete supported-actions catalog lists every
registered core tool, the two tools restricted behind explicit unsafe-script
authority, and all 96 authenticated UXP additions with their current action or mode
values. It is generated from the same MCP registration surface returned to clients;
the tables below are a shorter workflow-oriented overview.
Discovery & Inspection (10 + 10)
Tool | Description |
| Current project name, path, sequences, items |
| Detailed active sequence with all clips |
| All items in the project panel |
| Comprehensive snapshot: bin tree, sequences, media types |
| Exhaustive sequence data: tracks, clips, effects, markers |
| Everything about a clip: effects, keyframes, metadata |
| Human-readable overview: duration, coverage %, effects |
| Filter by name, extension, offline status, color label |
| Full snapshot: project, sequence, playhead, selection |
| Explore any Premiere Pro DOM object interactively |
| Collaboration/AI API support, prerequisites, entitlements, and user-assisted boundaries |
| Create a review-only local editorial plan from captured project context |
| Revalidate a local editorial plan and return a review receipt without changing Premiere |
| Apply a confirmed organization plan through guarded UXP bin transactions only |
Project Management (26)
Tool | Description |
| File operations |
| Project lifecycle |
| Import media and AE comps |
| Bin management |
| Import from other projects |
| Generate bars & tone media |
| Configure scratch disks |
| Project Manager consolidation |
Timeline & Editing (11 + 27 advanced)
Tool | Description |
| Insert and overwrite edits |
| Remove clip and close gap (QE) |
| Professional trim modes (QE) |
| Move between tracks (QE) |
| Unavailable: Premiere's documented ExtendScript and UXP APIs have no setter for a timeline clip's speed or direction; use |
| Basic edits; trim verifies source points and visible timeline edges |
| Set a clip's timeline duration or absolute end (extends still images); refuses next-clip overlaps and restores the original end if Premiere clamps |
| Opacity, scale, rotation, position (speed requests fail before mutation) |
| Link/unlink A/V |
Premiere Pro 26.3 compatibility: some installations silently ignore QE structural edits (
ripple_delete, razor/split) and existing effect-parameter writes. These tools now verify the resulting sequence state and return an error instead of a false success. For structural edits, rebuild the wanted source ranges into a new sequence withcreate_sequenceandadd_to_timeline. The legacy CEP transition path targetsqeClip.addTransition(not the QE track) and reports success only after DOM transition-count readback. Prefer the connected UXP transition tools where available; overlay clips remain a workaround when a legacy QE write is rejected or not verified. See issue #21.
Speed, caption, and visual-keyframe boundaries: Premiere Pro 26.3 may reflect legacy QE speed/direction methods, but exposes no supported scripting setter or Time Remapping component for timeline-clip speed or direction (documented UXP through 26.3 has only
getSpeed/isSpeedReversed).reverse_clip,speed_change,set_clip_speed_qe, andset_clip_propertieswithspeednow stop before host mutation; useset_clip_durationto change timeline length, or the Speed/Duration UI or pre-rendered media to retime.add_text_overlaylikewise stops before mutation because a raw-text-to-caption API is not exposed; import an.srt/.vttand usecreate_caption_track, or use a MOGRT/PNG overlay. Keyframe and caption-track responses can prove parameter/structure readback only—not rendered pixels—so verify playback or exported frames before delivery. On macOS, AME preset discovery scans each installed app bundle'sContents/MediaIO/systempresets; prefer a Match Source preset for vertical projects.
Host limits: The capability ledger distinguishes unavailable APIs, unverified host requests, and property/structure readback. A verified parameter or component does not establish rendered appearance.
Verified track edits:
add_trackandadd_tracksvalidate requested counts and return success only when the active sequence's track counts exactly match the request.overwrite_clipvalidates both selected track indices and confirms the requested source item appears at the requested frame on a target track. On a Premiere 26.x build that ignores any of these calls, the MCP response is an error with the observed state rather than a false success. These are automated CEP contracts, not proof of a particular licensed host configuration.
trim_clip accepts exactly one source-relative new_in_seconds or new_out_seconds per
call. It refuses retimed clips because CEP cannot prove their source-to-timeline mapping, then
reads both source points and visible timeline start/end/duration before reporting success. The
default keyframe_policy: "reject" stops before a trim that would leave effect keyframes beyond
the visible clip; keyframe_policy: "preserve" is an explicit opt-in and reports the remaining
count. split_clip verifies a spanning clip, the expected count increase, and the left/right
cut boundaries. Its QE path cannot prove effect-keyframe redistribution, so a successful result
labels those semantics unverified. These are CEP contract checks, not validation in a licensed
Premiere Pro 26.x host.
set_clip_duration changes a placed clip's timeline length without touching source in/out
directly: pass exactly one of duration_seconds (from the current start) or end_seconds
(absolute timeline end). It writes the documented TrackItem.end as a tick-based Time, refuses
an end that would overlap the next clip on the same track, applies the same keyframe_policy
guard as trim_clip when shortening, and reads start/end back. If Premiere clamps the end (for
example, video media with no remaining handle, or a still whose project item has in/out points),
the original end is restored and the tool returns an error. Linked audio/video partners are not
adjusted. This is a CEP contract check, not validation in a licensed Premiere Pro host.
Effects & Color (8)
Tool | Description |
| Apply by name (QE) |
| Remove effects |
| Lumetri: exposure, contrast, temperature, etc. |
| Apply LUT files |
| Warp Stabilizer with configurable settings |
Premiere 26.x component removal:
remove_effectandremove_effect_by_namerequire the CEPComponent.remove()method. Some 26.x components, including Essential Sound's Amplify, do not expose that method. The tools return an actionable capability error and leave the component unchanged; use Effect Controls to remove it manually. The QE DOM has no safe targeted-removal fallback.
Essential Sound audio automation: Essential Sound can write ducking or level automation to an Amplify component rather than the clip's Volume > Level.
adjust_audio_levels,set_clip_volume, andget_clip_volumeoperate only on Volume > Level, so they do not read, change, or verify Amplify automation. Inspect the clip's components (or Effect Controls) before treating a Volume readback as the clip's final gain.
Keyframes (8)
Tool | Description |
| Create and read keyframes |
| Delete keyframes |
| Linear / Hold / Bezier |
| Query interpolated value at any time |
| Set color properties on effects |
Export & Encoding (17)
Tool | Description |
| Export via Adobe Media Encoder |
| Validate an |
| Verify output size and calculate SHA-256/SHA-512 checksums |
| Export frame as PNG, return as base64 image |
| Interchange formats |
| CMX 3600 EDL for one track, generated from timeline readback and self-validated (cuts, reels, drop/non-drop timecode, M2 lines for retimed clips) |
| Direct encoding |
| Start render queue |
Premiere's documented automation surfaces do not currently expose OTIO or native
EDL interchange, Render and Replace, cloud publishing, or Content Credentials
export configuration. export_sequence_edl therefore builds the CMX 3600 list
locally from the clips Premiere reads back and validates it with the same parser
used by inspect_cmx3600_edl; it is not a Premiere-native export.
get_capabilities reports the remaining delivery gaps explicitly rather than
presenting UI-only operations as available tools.
Source Monitor & Playback (7 + 4)
Tool | Description |
| Source monitor control |
| 3-point editing |
| Playback control (QE) |
| Play in source monitor |
Selection & Clipboard (7 + 7)
Tool | Description |
| Smart selection |
| Copy effects via QE |
| Paste Attributes: effect stack, values, and keyframes with per-property readback; masks and differing Blend Mode are reported, not copied |
| Apply effect to multiple clips |
| 27 blend modes |
Media Properties (16)
Tool | Description |
| Offline/proxy management |
| Override FPS |
| Auto-scale to sequence frame |
| Raw XMP access; writes merge a well-formed patch without removing unrelated fields |
| Color space info |
Sequence Management (11)
Tool | Description |
| Create sequences from |
| Manage sequences |
| Auto-reframe for social media |
| FCP XML custom properties |
| Replace nested sequence with its clips |
Workspace & Captions (2 + 1)
Tool | Description |
| Switch workspace layouts |
| Create caption/subtitle tracks |
Timeline QA (2)
Tool | Description |
| Added / removed / moved / trimmed / retimed / renamed / enabled changes between two sequence snapshots with frame deltas and EDL-like lines |
| Health score with flash-frame, gap, overlap, repeated-shot, coverage, overlength, and speed findings plus review-frame suggestions |
Editor Requests: markers, selection, checkpoints, navigation (5)
Tool | Description |
| Up to 200 sequence or clip markers in one verified request; feed it beat grids from |
| "Select every other clip": every-Nth selection with offset, name/regex, duration, range, track, and enabled filters, read back after selecting |
| Named |
| Start, end, in/out, work area, next/previous edit or marker, or frame stepping with position readback |
Review and Conversation Planning (2)
Tool | Description |
| Pasted client or reviewer feedback → prioritized checklist (category, must/should/nice, approvals, questions, timecodes and ranges) and an |
| Active-speaker angle switching for stacked camera tracks: minimum holds, crosstalk cover shots, lead-in cuts, cutaways, razor times, per-camera enable ranges, and markers |
Both planners are local and deterministic. Premiere exposes no scripting API
for switching angles inside a multicam source sequence, so the multicam plan
targets synced clips stacked on separate video tracks and is applied through
razor_all_tracks, select_clips_in_range, batch_enable_disable, and
add_markers_batch on a checkpointed sequence. See
editor requests for the community and competitor
evidence behind these tools and their verification boundaries.
Speaker Layout (2)
Tool | Description |
| Per-speaker segments, split points, and track assignments for checkerboarded dialogue |
| Active-speaker vertical reframe keyframes, or static stacked / side-by-side two-speaker layouts |
Mask Fit (1)
Tool | Description |
| Inspect only: Motion Scale and Position that place a still's subject box (source-image fractions) inside an existing Rounded Crop, Crop, or similar mask, with the math inputs and warnings. Apply with |
Rhythm Plans (2)
Tool | Description |
| Punch-in zoom keyframes (Motion Scale + subject-anchored Position) from sentence starts, emphasis words, intervals, or supplied triggers |
| Beat-grid shot assignment for a clip list with |
Shorts Intelligence (2)
Tool | Description |
| Rank sentence-aligned windows as short-form candidates with explainable hook, completeness, density, evidence, and duration-fit scores |
| Lexical-cohesion chapter segmentation with titles, YouTube timestamps, and ready Chapter marker payloads |
Caption Authoring (2)
Tool | Description |
| Word-grouped SRT/VTT captions with karaoke timestamps, emphasis markup, speaker prefixes, and style presets, written inside an approved workspace |
| Overlap check for caption and graphic rectangles against approximate platform UI zones, with a suggested clear position |
Reaction Shorts (3)
Tool | Description |
| Stacked speaker-colored caption plan from a word timeline and explicit palette; flash words merge, overlaps stack, unknown speakers stay uncolored |
| Brief subscribe overlay placed about two-thirds through a Short, after an optional hook, with brand-safe styling notes |
| Series-named export path under an approved Shorts root; create the folder when it is missing and keep Cafe and Watch Club assets separate |
Transcript Word Edits (4)
Tool | Description |
| Word-level filler removal plan (um, uh, you know…) with frame-snapped removal and keep ranges |
| Shorten long pauses to a target length without deleting speech |
| Mute or bleep listed words: padded ranges, ready audio keyframes, redacted text |
| Group near-duplicate retakes and plan removal of all but the kept take |
Platform Delivery Planning (2)
Tool | Description |
| Per-platform sequence settings, fit/fill reframe math, duration and file-size fit, caption safe zones, and an ordered clone → reframe → caption → export → verify route |
| Validate a rendered file plus title, description, hashtags, and content flags against approximate TikTok, Reels, Shorts, YouTube, LinkedIn, X, and Facebook limits |
Scripting (2)
Tool | Description |
| Run arbitrary ExtendScript (ES3); requires explicit |
| Evaluate a one-line expression; requires explicit |
...and 100+ more
Track targeting, batch operations, markers, audio levels, motion/transform, metadata, sequence settings, navigation, project analysis, and more. Run get_project_info to get started — the AI will discover what it needs.
MCP Resources
The server exposes fourteen LLM context resources and nineteen workflow prompts:
Resource URI | Description |
| Best practices: workflow order, metadata layers, timeline rules, error handling |
| Complete ExtendScript API reference for writing custom scripts |
| Machine-readable catalog for rough cuts, metadata review, dialogue cleanup, captions, and delivery |
| Revisioned local project-context indexing and retrieval workflow |
| Fresh, path-redacted current-project and active-sequence summary |
| Bounded sequence inventory with stable Premiere IDs |
| Bounded, path-redacted project-media inventory |
| Bounded, path-redacted project-bin inventory |
| Bounded active-timeline tracks, clips, and markers snapshot |
| Bounded video/audio effect catalog for planning |
| Bounded active-timeline component inventory |
| Bounded video/audio transition catalog for planning |
| Bounded export-preset names and formats, without native paths |
| Path-redacted project and active-timeline summary — not XMP or Project Metadata XML |
The ten premiere:// snapshots are read-only CEP bridge requests. They include a
revision token for stale-state detection and omit native media, project-tree, preset,
and output paths. A successful snapshot proves bridge readback only—not licensed-host
feature coverage, playback, rendering, or editorial correctness.
Remote Deployment (Fly.io)
The server includes an HTTP/SSE transport (src/http-server.ts) for remote access via mcp-remote or any MCP client that supports Streamable HTTP.
An operator-managed MCP endpoint runs at https://premiere-pro-mcp.fly.dev/mcp
(health check: /health). The website is https://premiere-pro-mcp.com, served
from a separate repository; other paths on the Fly host redirect there.
The endpoint is not a public desktop relay: it cannot connect an authenticated user to
Premiere on that user's computer. Public users should use the local stdio setup
until the separate device-pairing relay is available.
Connect to an operator-managed instance
{
"mcpServers": {
"premiere-pro": {
"command": "npx",
"args": ["mcp-remote", "https://your-authorized-instance.example/mcp"]
}
}
}The instance must either provision an operator bearer token or use the OAuth
resource-server configuration below. The production endpoint intentionally
returns 401 to callers who have not been authorized.
Self-host on Fly.io
# Clone and deploy your own instance
git clone https://github.com/leancoderkavy/premiere-pro-mcp.git
cd premiere-pro-mcp
fly apps create your-app-name
# Required: add bearer token auth. Use a unique, high-entropy secret per deployment.
fly secrets set MCP_AUTH_TOKEN=your-secret-token
fly deploy --remote-onlyThen connect with:
{
"mcpServers": {
"premiere-pro": {
"command": "npx",
"args": ["mcp-remote", "https://your-app-name.fly.dev/mcp",
"--header", "Authorization: Bearer your-secret-token"]
}
}
}Trusted-operator OAuth resource-server mode
For an identity-aware operator deployment, configure a real OAuth/OIDC authorization
server rather than distributing MCP_AUTH_TOKEN. The authorization server must
support the MCP client's registration model and issue signed access tokens with
an exact audience for this MCP resource.
fly secrets set \
MCP_OAUTH_ISSUER=https://identity.example.com \
MCP_OAUTH_JWKS_URI=https://identity.example.com/.well-known/jwks.json \
MCP_OAUTH_AUDIENCE=https://your-app-name.fly.dev/mcp \
MCP_PUBLIC_URL=https://your-app-name.fly.dev \
MCP_OAUTH_REQUIRED_SCOPES=premiere:mcp \
MCP_OAUTH_ALLOWED_SUBJECTS=your-provider-user-subjectOAuth mode validates the token signature, algorithm, issuer, exact audience,
expiry, issued-at time, subject, and required scopes. It publishes protected
resource metadata at /.well-known/oauth-protected-resource/mcp and includes
that URL in the WWW-Authenticate challenge. Configuration is fail-closed:
partial OAuth settings, non-HTTPS production URLs, ambiguous OAuth/shared-token
settings, and missing credentials all prevent startup.
MCP_OAUTH_ALLOWED_SUBJECTS is mandatory and restricts this single-bridge
deployment to explicitly trusted operator identities. This is an enforcement
boundary, not a public-user device model.
This mode authenticates trusted operators but does not yet implement device ownership, desktop pairing, or per-user Premiere routing. Do not expose editor mutations as a public multi-user service until an outbound desktop relay and durable user/device authorization are implemented.
Note: The file bridge still requires the CEP plugin to share the same
PREMIERE_TEMP_DIR. For cloud deployments this means running a sync agent or usingfly proxy/ WireGuard to reach your local machine.detect_silencecan analyze only media paths available inside the server filesystem; a desktop-only path is not automatically available to a remote Fly machine. For a shared or multi-user remote deployment, put a managed identity-aware edge in front of the server and replace the shared bearer secret with per-user authorization. The built-in limiter is intentionally process-local defense in depth, not a substitute for an edge/WAF or account system.
Environment Variables
Variable | Description | Default |
| Shared temp directory for MCP ↔ CEP communication | OS user temp dir + |
| Command timeout in milliseconds |
|
| Override the auto-discovered | auto-discovered |
| Comma-separated authority profile; add |
|
| Set to | unset |
| Local project-context store: |
|
| Override the local project-context storage directory | OS application-data directory |
| HTTP port (HTTP/SSE transport only) |
|
| Operator bearer token for controlled HTTP deployments; mutually exclusive with OAuth mode | unset |
| Exact trusted OAuth/OIDC token issuer URL | unset |
| HTTPS JWKS URL used to verify access-token signatures | unset |
| Exact MCP resource audience, normally the public | unset |
| Canonical HTTPS origin used in protected-resource discovery | unset |
| Space- or comma-separated scopes required for |
|
| Mandatory comma-separated token-subject allowlist for the single operator bridge | unset |
| Set to | unset |
| Maximum HTTP MCP request body size |
|
| Maximum time to receive request headers |
|
| Maximum time to receive an HTTP request |
|
| Idle keep-alive socket timeout |
|
| Requests permitted on one keep-alive socket |
|
| In-flight authenticated MCP request ceiling |
|
| Open authenticated SSE stream ceiling; isolated from operation capacity |
|
| Positive integer byte budget for one project backup |
|
| Per-credential token-bucket refill rate |
|
| Per-credential short burst allowance |
|
| In-memory rate-limit identity ceiling |
|
| Set to | unset |
| PostHog project token; enables privacy-safe MCP usage telemetry | unset |
| PostHog ingestion host |
|
| Environment property attached to telemetry events |
|
| Optional stable anonymous server identifier | Fly machine ID or random boot ID |
When PostHog is enabled, the server records mcp_connection_attempt,
mcp_request, mcp_request_rejected, and mcp_tool_call. It also records
premiere_mcp_activation_completed only after the read-only
verify_premiere_connection check confirms the selected bridge, an open
project, and an active sequence. Events contain bounded operational fields such
as method, tool name, outcome, status code, duration, and selected bridge.
Authentication tokens, IP addresses, MCP arguments, project paths, media names,
and tool results are never sent. Person profiles are disabled for these events.
This signal is an aggregate emission, not proof that an analytics provider received it, a count of unique people or editors, or evidence that an editing workflow succeeded. It does not carry a person or editor identifier, so it cannot safely infer "first value."
Project Structure
premiere-pro-mcp/
├── src/
│ ├── index.ts # Entry point — stdio transport setup
│ ├── http-server.ts # Entry point — HTTP/SSE transport (Fly.io / remote)
│ ├── server.ts # MCP server — registers 386 tools, filtered by authority profile
│ ├── bridge/
│ │ ├── file-bridge.ts # File-based IPC (write .jsx, poll .json)
│ │ └── script-builder.ts # ExtendScript generator with ES3 helpers
│ ├── tools/ # 51 tool modules
│ │ ├── discovery.ts # Project discovery and queries
│ │ ├── recovery.ts # Read-only autosave discovery and private bridge telemetry
│ │ ├── project.ts # Project management and import
│ │ ├── media.ts # Media and proxy management
│ │ ├── sequence.ts # Sequence creation and settings
│ │ ├── timeline.ts # Timeline clip operations
│ │ ├── effects.ts # Effect application and color correction
│ │ ├── transitions.ts # Transition management (QE DOM)
│ │ ├── audio.ts # Audio levels, keyframes, and ffmpeg silence analysis
│ │ ├── av-settings.ts # Documented AV inspection, mapping, and capability boundaries
│ │ ├── text.ts # Text overlays and MOGRTs
│ │ ├── markers.ts # Sequence and clip markers
│ │ ├── tracks.ts # Track add/delete/lock/visibility
│ │ ├── playhead.ts # Playhead, work area, in/out points
│ │ ├── metadata.ts # Metadata, XMP, color labels
│ │ ├── export.ts # Export, frame capture, encoding
│ │ ├── advanced.ts # QE DOM: ripple, roll, slide, slip, speed
│ │ ├── keyframes.ts # Keyframe CRUD and interpolation
│ │ ├── scripting.ts # Execute arbitrary ExtendScript
│ │ ├── inspection.ts # Deep project/sequence/clip inspection
│ │ ├── selection.ts # Clip selection utilities
│ │ ├── clipboard.ts # Copy effects, batch operations
│ │ ├── source-monitor.ts # Source monitor control
│ │ ├── track-targeting.ts # Track targeting, motion, audio props
│ │ ├── utility.ts # Batch ops, analysis, navigation
│ │ ├── health.ts # Connectivity ping
│ │ ├── workspace.ts # Workspace layout switching
│ │ ├── captions.ts # Caption track creation
│ │ ├── playback.ts # Timeline/source playback control
│ │ └── project-manager.ts # Project consolidation/transfer
│ └── resources/
│ └── extendscript-reference.ts # API reference for LLM context
├── cep-plugin/ # CEP panel that runs inside Premiere Pro
│ ├── CSXS/manifest.xml # Extension manifest (PPRO 14.0+)
│ ├── index.html # Panel UI
│ ├── main.js # Bridge polling and script execution
│ ├── host.jsx # ExtendScript entry point
│ └── CSInterface.js # Adobe CEP interface library
├── after-effects-cep-plugin/ # Separate AE CEP bridge for guarded MOGRT recipes
├── scripts/
│ ├── install-cep.sh # macOS CEP installer (symlink + debug mode)
│ └── install-cep.ps1 # Windows CEP installer (copy + REG_SZ debug mode)
├── Dockerfile # Multi-stage Docker build for Fly.io
├── fly.toml # Fly.io deployment config
├── RESEARCH.md # API research and implementation status
├── AGENTS.md # IDE / coding-agent map
├── CONTRIBUTING.md # Contribution guidelines
├── CHANGELOG.md # Version history
└── LICENSE # MIT LicenseTechnical Details
CEP and UXP backends
CEP remains the production backend because it provides broad ExtendScript access and the undocumented QE DOM used for effects, ripple deletes, and advanced trims across Premiere Pro 2020–2026. The packaged uxp-plugin is a Premiere 25.6+ preview backend for supported frame export, capability discovery, and state events. It does not silently retry failed UXP mutations through CEP.
ExtendScript Compatibility
All generated scripts use ES3 syntax (var, manual for loops, no arrow functions, no let/const) since ExtendScript is based on ECMAScript 3. The bridge writes a versioned helper library to the shared temp directory and loads it once per ExtendScript engine via $.evalFile; each command then sends only its tool-specific script.
Security
Understand the trust model before deploying this: any client that can reach the MCP
server can control Premiere Pro. execute_extendscript and evaluate_expression are
arbitrary-code-execution tools by design and are omitted from discovery and denied at call time
by default. Enable them only by setting
PREMIERE_MCP_CAPABILITIES=inspect,edit,export,filesystem,unsafe-script.
Run it locally over stdio unless you have a specific reason not to. That's the safe default.
The HTTP transport (
http-server) requiresMCP_AUTH_TOKENand refuses to start without it in production. It binds0.0.0.0and is remotely reachable, so never expose it publicly without a strong token and edge controls.ALLOW_UNAUTHENTICATED=1is limited to non-production local/test use.The HTTP transport admits only exact
/mcpStreamable HTTP requests, enforces body/socket/request limits, and applies a bounded in-process per-credential rate and concurrency limit before MCP request parsing or Premiere bridge work begins. It returns413,429, or503on containment failures. Configure an upstream rate limit and request-size limit too; process-local counters do not protect a multi-machine deployment.The HTTP transport serves no web pages. It answers only
/mcp,/health, and OAuth protected-resource metadata under a deny-all Content Security Policy. OtherGET/HEADpaths onpremiere-pro-mcp.fly.devor a*.premiere-pro-mcp.comhost redirect (308) tohttps://premiere-pro-mcp.com; every other host receives a JSON404.Media scans yield between asynchronous filesystem operations and bound total traversal: 25,000 entries, 5,000 matching files, 2,000 directories, depth 32, a 1,000-directory pending queue, and a cooperative five-second budget. A stalled OS call can exceed that elapsed budget. Inspect
scan_incompleteandscan_limit_reasonsbefore treating a watch baseline as complete; import previews also reportincomplete.Project backups stream their copy and checksum work with a configurable byte budget. Only one backup runs per process; concurrent requests fail promptly. Failed or cancelled copies are removed without replacing an existing backup.
The Docker runner uses the unprivileged
nodeuser (UID 1000). Custom bridge or context volume mounts must be writable by that user and private to the operator. The default context directory is under/home/node/.local/state/premiere-pro-mcp.Dependency audits run in CI for both lockfiles. Keep local
.env*,.npmrc, and private key/certificate files out of commits and Docker build contexts; only placeholder.env.exampleand.env.templatefiles are eligible for Git tracking.Both CEP panels validate the bridge directory before writing a heartbeat or polling commands. Symlinks and directories owned by another user are refused. On POSIX, directories writable by group/other users are refused by both the server and panels; tightening permissions alone cannot make previously staged commands trustworthy. On Windows, only the current user, SYSTEM and Administrators may have write access, including inherited grants. Windows capability and app-container SIDs (
S-1-15-*) are ignored: they are not logon principals and appear as inherited FullControl on stock%LOCALAPPDATA%paths. ACL inspection failures also stop startup. Ancestors must also prevent other users from replacing the bridge path; a private child inside a broadly writable parent is insufficient (POSIX sticky temp directories are supported). Choose a new directory under a private user-owned location if the connector rejects a shared temp folder, and configure the same path on the server and panel. Do not copy pending commands from the rejected folder into the new one. Windows checks invoke PowerShell synchronously before publishing commands, with a five-second timeout and 64 KiB output cap; this adds command latency rather than caching a permission decision that could become stale.There is a 500 KB script size limit, and a small regex check that rejects
eval(),new Function(), andSystem.callSystem()in tool-generated scripts. This is a guard rail, not a sandbox — it is trivially bypassable and is not a security boundary. Do not rely on it to contain untrusted input; the real boundary is who can reach the server.
QE DOM
Many tools use the undocumented QE DOM (enabled via app.enableQE()). These tools are marked with "Uses QE DOM" in their descriptions. The QE DOM provides capabilities unavailable through the standard ExtendScript API:
Apply effects and transitions by name
Ripple delete, roll/slide/slip edits
Set clip speed and reverse
Frame blending and time interpolation
Remove all effects from a clip
Frequently asked questions
What is an MCP server for Adobe Premiere Pro?
It is a Model Context Protocol server that gives a
compatible AI assistant structured, reviewable control over supported Adobe Premiere
Pro workflows on your own computer. This project's display name is MCP for Adobe
Premiere Pro; its npm package is premiere-pro-mcp.
How do I use it with Claude?
Install the Claude Desktop bundle, install
the separate signed Premiere connector, restart Premiere, then ask Claude to run
verify_premiere_connection with no changes. That first prompt is read-only.
Claude Fable 5.1 is an optional client model for Cursor, Claude Desktop, or Claude
Code; see Claude Fable 5.1 workflows.
Where is the GitHub repository?
https://github.com/leancoderkavy/premiere-pro-mcp. Releases, the signed .zxp
connector, and the Claude .mcpb bundle are on that repository's
Releases page.
What is the bridge panel in Premiere Pro?
A local CEP panel (Window > Extensions > MCP for Adobe Premiere Pro) that connects
the server to a running Premiere Pro instance. "Running" in the panel means the local
bridge is available; it does not by itself show that an edit completed. An
authenticated UXP panel is an additional, capability-gated route.
Is there a setup guide?
Yes - premiere-mcp-setup-guide.md is a portable guide
you can attach to any AI assistant, and https://premiere-pro-mcp.com/docs/ hosts the
published documentation.
Does it run on Windows and macOS? Both. Node.js 20.19 or newer and Premiere Pro 2020-2026 are required, and the assistant, server, connector, and Premiere should stay on the same computer. Individual tool support remains capability- and host-dependent.
Is this Adobe's AI Assistant?
No. This is an independent MIT-licensed project, not an Adobe product and not Adobe's
native AI Assistant. It is also distinct from other MCP servers for Premiere Pro;
premiere-pro-mcp is the only npm package published from this repository.
Is it free? Yes. The server, the CEP connector, and the documentation are MIT licensed and free to use.
Troubleshooting
Verify debug mode:
macOS:
defaults read com.adobe.CSXS.12 PlayerDebugModeshould return1Windows:
reg query "HKCU\SOFTWARE\Adobe\CSXS.12" /v PlayerDebugModeshould reportREG_SZ 1(aREG_DWORDvalue is not valid for unsigned CEP discovery)
Check the plugin exists:
macOS:
ls ~/Library/Application\ Support/Adobe/CEP/extensions/MCPBridgeCEPWindows:
dir "%APPDATA%\Adobe\CEP\extensions\MCPBridgeCEP"
Completely restart Premiere Pro (not just close/reopen the project)
Check the CSXS version matches your Premiere Pro version
Run
premiere-pro-mcp --diagnose-cepto check installation metadata and recent Premiere logs.
Version 1.3.0 and newer installs the signed artifacts/MCPBridgeCEP.zxp included in the npm
package on Windows. If diagnostics report Signature verification failed, reinstall the latest
npm version, fully quit every Premiere process, run premiere-pro-mcp --install-cep, and relaunch.
Open the CEP panel and verify it shows "Running" with a green dot (the bridge normally starts automatically)
Ensure temp directories match between MCP client config and CEP panel
Read the timeout error: if it reports an in-flight heartbeat, dismiss any open Premiere modal dialog; without a heartbeat, verify the bridge is running and using the same temp directory
Increase timeout: set
PREMIERE_TIMEOUT_MSto60000or higherTry
pingtool to test basic connectivity
Restart the AI client after editing config
Verify the path to
dist/index.jsis absolute and correctRun
node dist/index.jsin a terminal to check for startup errorsEnsure
npm run buildcompleted without errors
QE tools require an active sequence — open one first
Some QE operations are index-based and can fail if clips have been reordered
Re-query the sequence structure after QE operations
Star history
If this project saves you time in Premiere, a star helps other editors find it.
Support the project
This is an independently maintained, MIT-licensed project with no company behind it. Every release is tested against real Premiere versions on both Windows and macOS, which takes hardware, licenses, and time.
Free ways to help, in order of usefulness:
⭐ Star the repo — the main way editors discover it
🐛 File a bug with your Premiere version, OS, and the tool name that failed
📝 Report what worked on a host version not yet in the capability coverage table
🔧 Open a PR — see CONTRIBUTING.md
Sponsorship funds host verification, signing certificates, and hosting. It does not buy prioritized support, roadmap influence, or any claim about unverified host behavior.
Contributing
Contributions are welcome! See CONTRIBUTING.md for guidelines. AI agents and IDE assistants should read AGENTS.md.
The evidence-backed next improvement pull-request roadmap breaks the proposed feature, protocol, reliability, and performance work into ten reviewable changes with explicit dependencies and live-host acceptance gates.
License
MIT — free for personal and commercial use.
Available Tools
384 toolsadd_adjustment_layerAdd Adjustment LayerA
EXPERIMENTAL (QE DOM): add an adjustment layer at the playhead on the specified track. Refuses when the host lacks the QE APIs; verifies a new public TrackItem using isAdjustmentLayer and placement readback.
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | No | Video track index (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safety profile (not destructive, non-idempotent); the description adds meaningful behavioral context beyond them: it is experimental, depends on the QE DOM, fails cleanly when APIs are missing, and self-verifies via isAdjustmentLayer and placement readback. This is rich disclosure for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with the experimental/QE caveat front-loaded and no filler. Slightly technical but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and the description covers the failure mode, dependency, and verification behavior. Complete enough for an agent to call it and anticipate the QE-API failure path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter and 100% schema description coverage, the schema already documents track_index (video track, default 0). The description adds only that placement is at the playhead, which is contextual rather than parameter syntax, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('add an adjustment layer') plus placement scope ('at the playhead on the specified track'), which cleanly distinguishes it from siblings like add_track, add_transition, and get_clip_adjustment_layer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The refusal condition ('Refuses when the host lacks the QE APIs') is a useful prerequisite that tells the agent when this call will not work, but there is no explicit guidance on when to prefer this over alternatives or what to do instead. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_audio_keyframesAdd Audio KeyframesA
Add audio level keyframes to create fades or level changes
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| keyframes | Yes | Array of keyframe objects with time_seconds and level_db |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (non-destructive, non-idempotent, closed-world), so the description need not restate it. It adds nothing behavioral, though – it does not say whether existing keyframes are merged, replaced, or appended, which is material for a mutation on a clip's audio automation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It is efficient, though arguably terse given the operation modifies clip automation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich input schema, an output schema, and annotations covering the safety profile, the definition is largely sufficient for correct invocation. The remaining gap is what happens to pre-existing keyframes, which is minor against the structured data already present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents node_id, time_seconds, and level_db (including the +15 dB cap). The description adds no parameter meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (add) and resource (audio level keyframes) plus the outcome (fades or level changes). It distinguishes the audio-specific nature from the generic add_keyframe sibling, though it never names 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the stated goal ("to create fades or level changes"), which tells the agent roughly when this applies. However, no alternatives are offered – it does not contrast with adjust_audio_levels, set_clip_volume, or the generic add_keyframe, so the agent must infer which to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_custom_metadata_fieldAdd Custom Metadata FieldA
Add a custom metadata field to the project's metadata schema. This creates a schema/column definition only; it does not set a per-item value. Use set_metadata field_name/value or complete Project Metadata XML with readback to update a value.
| Name | Required | Description | Default |
|---|---|---|---|
| field_name | Yes | Internal name for the metadata field | |
| field_type | Yes | Type of the field: 0 = Integer, 1 = Real, 2 = String, 3 = Boolean | |
| field_label | Yes | Display label for the field |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description's added value is the schema-vs-value distinction, which is genuinely useful. It stops short of stating behavior on duplicate field names, required project state, or permissions, so it's strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, front-loaded with the action and its scope, followed by the corrective routing. No wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the description resolves the main ambiguity (schema definition vs value assignment). Only minor gaps remain, e.g. uniqueness/error behavior for the new field.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all three required params are self-documented (including the field_type enum mapping in the schema). The description adds no format or constraint detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Add a custom metadata field to the project's metadata schema') and immediately scopes it as a schema/column definition only, which distinguishes it from value-writing tools like set_metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when NOT to use it ('it does not set a per-item value') and names the alternatives ('set_metadata field_name/value or complete Project Metadata XML with readback') for updating a value. Routing is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_keyframeAdd KeyframeA
Add and read back a keyframe on an effect property. The receipt warns when its time is outside the clip's visible range. This verifies stored parameter data only; render/playback verification remains host-dependent.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Value at the keyframe | |
| node_id | Yes | Node ID of the clip | |
| effect_name | Yes | Display name of the effect | |
| time_seconds | Yes | Seconds from the clip's start on the timeline (0 is the clip's first frame) where to add the keyframe | |
| property_name | Yes | Display name of the property |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-read-only, non-idempotent, non-destructive write. The description adds real value beyond them: it discloses that the receipt warns when the keyframe time falls outside the clip's visible range, and it scopes the verification to stored parameter data only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the action front-loaded and no filler. The trailing scope caveats are brief and each carries information, though the third sentence is slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. For a write tool with annotations already covering the safety profile, the description adds the warning behavior and the verification boundary, leaving little an agent needs missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the schema. The description alludes to time semantics ('outside the clip's visible range') but adds no syntax or format beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Add and read back a keyframe on an effect property'), which is distinct from siblings like add_audio_keyframes (audio) and get_keyframes (read-only). It is clear without explicitly naming an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope note ('verifies stored parameter data only; render/playback verification remains host-dependent') implies the intended context, but it never states when to use this over set_keyframe_interpolation, get_keyframes, or add_audio_keyframes. Usage is inferable, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_markerAdd MarkerA
Add a marker to the active sequence or a clip and read its name, comments, color and duration back. EXPERIMENTAL (QE DOM): the receipt reports undoStackIndex movement, which does not prove QE can reverse the marker. Every marker attempt protects an engine undo boundary; undoTracked:false means the marker did not observably advance the QE index.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name/label for the marker | |
| color | No | Marker color index (0=Green, 1=Red, 2=Purple, 3=Orange, 4=Yellow, 5=White, 6=Blue, 7=Cyan) | |
| node_id | No | Optional clip node ID to add the marker to that clip instead of the sequence. Premiere 25.2.3 timeline clips have no marker collection, so this refuses there and names the source time to use with add_marker_to_project_item. | |
| comments | No | Comments for the marker | |
| time_seconds | Yes | Time position in seconds for the marker | |
| duration_seconds | No | Duration of the marker in seconds (0 for point marker) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, idempotent=false, destructive=false, but the description adds real behavioral context beyond them: the QE DOM experimental status, that undoStackIndex movement does not prove reversibility, that each attempt protects an engine undo boundary, and what undoTracked:false means. This is valuable disclosure, though the jargon is dense.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and correct, but the experimental/undo caveat is verbose and uses unexplained internal terms (QE DOM, undoStackIndex, undoTracked) that consume space without clearly helping an agent decide or act. Some of it could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the return values need not be explained, and the safety profile is covered by annotations. The description fills the remaining gap by flagging the experimental nature and undo-tracking caveat, leaving only minor ambiguity about clip vs sequence routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters are already documented with types, enum-like color values, and the node_id alternative. The description merely restates the read-back fields (name, comments, color, duration) and adds no syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Add a marker') plus its two targets ('active sequence or a clip'), and the read-back of name/comments/color/duration. It does not explicitly name sibling alternatives like add_marker_to_project_item or add_markers_batch, so it stops 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The body gives no explicit when-to-use guidance; the route to clips is implied through the node_id parameter rather than stated in the description. The alternative tool (add_marker_to_project_item) is named only inside the schema, not in the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_markers_batchAdd Markers BatchA
Add up to 200 sequence or clip markers in one verified CEP request (beat grids, chapters, silence reviews, client notes). Every marker is validated and range-checked before the first write; the tool reads back the marker count and each created marker's time and fails closed on any mismatch. EXPERIMENTAL QE: records an observed marker boundary for guarded Undo/Redo; crossing it is refused by default, and unreadable history records unknown protection. This boundary does not verify native marker reversal.
| Name | Required | Description | Default |
|---|---|---|---|
| markers | Yes | Markers to create, in any order; they are sorted by time before writing. | |
| node_id | No | Optional timeline clip node ID; markers are then created on that clip instead of the sequence (requires the active sequence). Premiere 25.2.3 timeline clips have no marker collection, so this refuses there and names the source time to use with add_marker_to_project_item. | |
| sequence_id | No | Sequence ID or name. Defaults to the active sequence. | |
| allow_beyond_end | No | Allow marker times past the sequence end instead of rejecting the whole batch (default false). | |
| skip_existing_within_frames | No | When above 0, skip a marker if an existing marker already sits within this many frames of it (default 0 = never skip). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite annotations already declaring the non-read-only, non-destructive, non-idempotent profile, the description adds substantial non-obvious behavior: pre-write validation and range-checking, read-back of marker count and times, fail-closed on mismatch, and an EXPERIMENTAL QE boundary that refuses Undo/Redo crossings by default and reports unknown protection for unreadable history. It even flags a limitation (no native marker reversal verification), which is exactly the kind of caveat annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and scale are front-loaded in the first sentence, verification semantics follow, and the experimental QE caveat is clearly separated. It is dense but each clause carries operational weight; no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with full annotations and an output schema (so return values need not be explained), the description covers validation, failure mode, and Undo/Redo safety adequately. The remaining gap is sibling routing — it never tells the agent when the batch tool is preferable to add_marker or add_marker_to_project_item.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all five parameters (including nested marker fields and the node_id/allow_beyond_end/skip_existing_within_frames semantics) are fully documented in the schema. The description restates the 200-item cap and range-checking but adds no syntax or format meaning beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource with scope: 'Add up to 200 sequence or clip markers in one verified CEP request,' and parenthetically lists the workflows it serves (beat grids, chapters, silence reviews, client notes). The batch/verified framing distinguishes it from single-marker siblings, though it never names add_marker explicitly as the single-marker alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical use cases imply when to reach for this tool, and the node_id schema note points at add_marker_to_project_item for the Premiere 25.2.3 limitation. But the description itself gives no explicit when-to-use or when-not guidance relative to add_marker, add_marker_to_project_item, or the plan_*_markers siblings, leaving selection largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_marker_to_project_itemAdd Marker To Project ItemA
Add a marker to a project item (source clip marker). EXPERIMENTAL QE: records an observed marker boundary for guarded Undo/Redo; crossing it is refused by default, and unreadable history records unknown protection. This boundary does not verify native marker reversal.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Marker name | |
| type | No | Marker type (default: Comment) | |
| item_id | Yes | Node ID or name of the project item | |
| comments | No | Marker comments | |
| color_index | No | Color label index (0-7) | |
| time_seconds | Yes | Time in seconds for the marker | |
| duration_seconds | No | Duration of the marker in seconds (0 for point marker) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly=false, idempotent=false, destructive=false), and the description adds significant context beyond them: it records an observed marker boundary for guarded Undo/Redo, that crossing it is refused by default, and that unreadable history yields unknown protection. This is useful, non-obvious behavioral disclosure, though the QE jargon is dense and its practical impact could be spelled out more plainly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, followed by a dense but purposeful behavioral sentence. It is appropriately short, though the QE sentence leans on internal jargon that reduces immediate readability rather than wasting space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations carry the safety profile. Combined with 100% schema coverage, the description is complete enough to call the tool, with the only real gap being the missing routing guidance versus the marker siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 7 parameters (including the type enum and duration semantics) are already documented structurally. The description adds no parameter-level meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ('Add a marker to a project item') and clarifies the target as a 'source clip marker' via parenthetical, which helps distinguish it from timeline/sequence marker siblings. However, it never names add_marker or add_markers_batch or explains how this differs from them, leaving sibling differentiation to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The '(source clip marker)' parenthetical implies when this tool applies (project-item/source context), but there is no explicit when-to-use, when-not-to-use, or pointer to add_marker/add_markers_batch for the alternative scope. 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.
add_text_overlayAdd Text OverlayA
Unavailable: Premiere does not expose a supported scripting API to create caption clips directly from raw text. For on-screen titles from plain text use add_title; for captions import an .srt/.vtt and use create_caption_track.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | Text content to display | |
| start_seconds | No | Start time in seconds (default: 0) | |
| caption_format | No | Caption format (default: subtitle) | |
| duration_seconds | No | Duration in seconds (default: 5) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a critical behavioral fact beyond the annotations: the tool cannot perform its advertised action because of missing API support. This prevents an agent from attempting an unsupported operation and directs it to supported workflows. It does not contradict any annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the unavailability and reason come first, followed by the two alternative routes. Every sentence earns its place with no wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an unavailable tool with an output schema and annotations present, the description provides everything needed: why it cannot be used and exactly where to go instead. Nothing an agent needs in order to avoid or replace this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters in detail. The description adds no parameter-specific guidance beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states that the tool is unavailable and explains why: Premiere does not expose a supported scripting API for creating caption clips from raw text. It also names the correct siblings for the two relevant use cases, so an agent can immediately tell this tool is not the right choice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing: use add_title for on-screen titles from plain text, and import an .srt/.vtt with create_caption_track for captions. This is exactly the when-to-use information an agent needs to choose an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_titleAdd TitleA
Add an on-screen title from plain text using a stock Essential Graphics template that ships with Premiere (default: Basic Title). Pass text for one line, or lines to fill the template's text fields in order (for example a lower third's name and role). Premiere-built templates (kind 'premiere') get the text baked into a verified copy of the template before import, because Premiere exposes no writable text for them (textVerification 'template_verified'; confirm the render with export_frame). After Effects-built templates (kind 'after_effects') are imported and their text fields written by position and read back from Premiere (textVerification 'verified', 'mismatch', 'missing_property', or 'committed_unverified'). The graphic is trimmed to duration_seconds and its length read back. Use list_stock_titles to see templates, their kind, and how many lines each takes.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Title text for the first text field. Specify exactly one of text or lines. | |
| lines | No | Text for each of the template's text fields in order (see list_stock_titles). Specify exactly one of text or lines. | |
| template | No | Stock template name such as "Basic Title", "Bold Title", or "Basic Lower Third", or category/name such as "Titles/Bold Title" (default: Basic Title). | |
| track_index | No | Zero-based video track for the graphic (default: 1, the track above the main footage). | |
| start_seconds | No | Timeline start in seconds (default: 0). | |
| duration_seconds | No | How long the title stays on screen in seconds (default: 5). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the mutation/safety profile (readOnly=false, idempotent=false, destructive=false); the description adds substantial behavior beyond that: Premiere-built templates get text baked into a verified copy because no writable text exists, After Effects templates are written by position and read back with enumerated verification outcomes (verified/mismatch/missing_property/committed_unverified), and the clip is trimmed to duration_seconds with length read back.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the core action and default, then branching by template kind. Every sentence carries information, though the verification-status enumeration is dense and could be trimmed slightly without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value explanation is correctly omitted, and the description covers the complex kind-dependent write/verify semantics that an agent could not infer. It is nearly complete for a 6-parameter mutation tool, missing only explicit placement interaction with existing tracks.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents every default, the text-vs-lines exclusivity, and the template/track/start/duration meaning, so the baseline is 3. The description adds only a marginal concrete example (a lower third's name and role for the ordered lines) and restates the default template, not enough to materially exceed the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource ('Add an on-screen title from plain text using a stock Essential Graphics template') and immediately scopes it to Premiere-shipped templates, which separates it from sibling tools like import_mogrt, add_text_overlay, and add_custom_metadata_field. An agent can pick this tool over its neighbors without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly routes the agent to list_stock_titles to inspect templates/kind/line counts and to export_frame to confirm the render, and it distinguishes the two template kinds by behavior. It does not, however, state when to prefer this over add_text_overlay or import_mogrt, so the alternative-selection guidance is partial rather than complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_to_render_queueAdd To Render QueueA
Request an Adobe Media Encoder render-queue handoff for the active sequence. Requires a saved project and an .epr preset_path. Same as Project presets are refused before Premiere is contacted because AME encodes from a scratch project copy. Optional start_batch requests processing of every ready AME queue job, including unrelated jobs.
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | Yes | Full output file path | |
| preset_path | Yes | Required path to an AME preset file (.epr). Omitting this raises an Illegal Parameter error on current Premiere hosts. | |
| start_batch | No | Opt in to start the entire ready Adobe Media Encoder queue after this handoff, including unrelated jobs. Default false (enqueue only). A successful call does not verify that any render started or completed. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real behavioral context beyond the annotations: Project presets are refused before Premiere is contacted, AME encodes from a scratch project copy, and start_batch triggers every ready AME job including unrelated ones. This is meaningful disclosure for a non-idempotent, non-destructive mutation, though it does not cover auth or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the whole thing is short. However the sentence 'Same as Project presets are refused before Premiere is contacted' is garbled and reads like a broken copy-paste, hurting clarity despite the brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations, a 100%-covered schema, and an output schema present, the description supplies the key gotchas an agent needs (saved project requirement, .epr preset prerequisite, scratch-copy behavior, batch side effect). It is nearly complete, missing only explicit sibling routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents output_path, preset_path, and start_batch. The description reinforces preset_path and start_batch semantics but adds little that the schema does not already state, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: requesting an Adobe Media Encoder render-queue handoff for the active sequence. An agent understands exactly what the tool does. It does not explicitly differentiate from siblings like start_batch_encode or encode_project_item, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides prerequisites (saved project, .epr preset_path) and explains the start_batch opt-in, which implies when to use the flag. However it never names an alternative tool or states when NOT to use this versus start_batch_encode or encode_project_item, so guidance is 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.
add_to_timelineAdd To TimelineA
Insert a project item at a timeline position. Experimental: if a target clip spans that point, QE razors it before insertion to attempt to preserve its tail; both target and sync-locked track changes are read back. A host may still displace a tail, in which case the edit is reported as committed_unverified. Pass scope 'target_tracks' to ripple only the named pair (this will desync other tracks).
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Which tracks shift: 'sync_locked' (default) matches Premiere's insert; 'target_tracks' ripples only the named pair and WILL desync other tracks. | |
| item_id | Yes | Node ID or name of the project item to add | |
| track_index | No | Video track index (0-based, default: 0) | |
| start_seconds | No | Start time in seconds on the timeline (default: 0) | |
| audio_track_index | No | Audio track index for the audio portion (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations, disclosing that QE razors a spanning clip, that tail preservation is only an attempt, that the result may be reported as committed_unverified, and that scope 'target_tracks' desyncs other tracks. This is exactly the kind of side-effect/auth/verification context that annotations (readOnly=false, destructive=false, idempotent=false) cannot carry. Note mild tension: the razor/desync side effects sit close to the line of destructiveHint=false, but since no data is deleted the annotations are not formally contradicted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then caveats in order of importance. Some experimental framing ("attempt to preserve its tail", committed_unverified mechanics) is dense but each clause conveys a distinct behavioral risk, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations present and an output schema covering the committed_unverified return, the description supplies the missing behavioral context (razoring, tail displacement, desync tradeoff). Only a brief note on sibling routing is absent, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter is already documented, including the scope enum with its desync warning. The description's scope note largely restates that, so it adds little beyond the schema; a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Insert a project item at a timeline position"), and adds experimental QE razor/tail detail that distinguishes it from plain inserts. It does not explicitly differentiate from nearby siblings like batch_add_to_timeline or insert_from_source, but the purpose is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives one conditional ("Pass scope 'target_tracks' to ripple only the named pair") but never states when to prefer this over batch_add_to_timeline, insert_from_source, or overwrite_from_source. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_to_timeline_batchAdd To Timeline BatchA
Insert up to 32 project items with insert-edit semantics in one validated CEP request. Experimental QE sync-lock handling may ripple or split earlier placements. The tool preflights items and tracks, then verifies every placement again in the final sequence; changed placements return committed_unverified with their observed final positions.
| Name | Required | Description | Default |
|---|---|---|---|
| clips | Yes | Ordered placements. They use the same insert-edit semantics as add_to_timeline; later placements must not share a target video-track start time. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses substantial behavior beyond the annotations: experimental QE sync-lock handling may ripple or split earlier placements, the tool preflights items and tracks, and it verifies placements in the final sequence. It also explains that changed placements return 'committed_unverified' with observed final positions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and front-loads the core purpose before caveats and verification behavior. Each sentence earns its place, though the final sentence is dense and could be slightly more scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex batch-edit tool with an output schema and annotations covering safety, the description provides the key operational caveats: experimental sync-lock ripple/split behavior, preflight validation, final verification, and the committed_unverified status. Nothing critical for correct invocation appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces 'up to 32 project items' and 'insert-edit semantics,' but adds no parameter-level detail beyond what the schema already documents for the clips array.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource with scope: 'Insert up to 32 project items with insert-edit semantics in one validated CEP request.' It immediately distinguishes the tool as a batch operation limited to 32 items, setting it apart from single-item siblings such as add_to_timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the batch scope and 'insert-edit semantics,' but the description never explicitly says when to choose this tool over add_to_timeline or other insertion tools. No when-not or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_trackAdd TrackB
Add verified video or audio tracks to the active sequence. Returns an error if Premiere cannot add the exact requested count.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of tracks to add (default: 1) | |
| track_type | Yes | Type of track to add |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is known. The description usefully adds that the call fails if Premiere cannot add the exact requested count (an all-or-nothing semantic), which is not derivable from annotations, but it says nothing about permissions, how the new track is inserted into the stack, or effects on existing tracks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action, with no filler. Slightly under-specified rather than verbose, but structurally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. Still, for a mutation tool with a similarly-named sibling (add_tracks) and no coverage of insertion placement or prerequisites, the description leaves gaps an agent would need filled to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (track_type enum, count with default) are fully documented in the schema, so the baseline is 3. The description's 'video or audio' and 'exact requested count' merely restate schema content rather than adding format or constraint detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Add ... tracks to the active sequence') and scopes the target sequence and track kinds (video/audio). It does not, however, distinguish itself from the closely-named sibling 'add_tracks', which leaves a real ambiguity for an agent choosing between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites (e.g. an active sequence must exist), and no indication of when this tool is preferred over 'add_tracks' or other track tools. Only an error condition is mentioned, which is a behavioral note rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_tracksAdd TracksA
Add video and/or audio tracks through QE, verify the active sequence gained the exact requested counts, and report explicitly when QE inserted the new tracks at index 0 and shifted every existing track up.
| Name | Required | Description | Default |
|---|---|---|---|
| audio_tracks | No | Number of standard stereo audio tracks to add (default: 0) | |
| video_tracks | No | Number of video tracks to add (default: 0) | |
| audio_51_tracks | No | Number of 5.1 audio tracks to add (default: 0) | |
| audio_mono_tracks | No | Number of mono audio tracks to add (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations declaring a non-read-only, non-idempotent mutation, the description adds critical behavioral detail beyond the structured hints: it verifies that the active sequence gained the exact requested counts and explicitly reports when new tracks are inserted at index 0 and shift existing tracks upward. That insertion-position side effect is exactly the kind of behavioral context an agent needs before invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence built around the primary action, with each clause earning its place by adding verification and insertion-position behavior. There is no repetitive or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and the input schema is fully documented, the description supplies enough behavioral context to invoke the tool correctly, especially the index-0 insertion and shift behavior. It remains slightly incomplete because it offers no guidance on when to choose this tool over the singular add_track sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all four numeric track-count parameters, including their default values. The description only generically mentions video and/or audio tracks and does not add syntax or format meaning beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource: add video and/or audio tracks. It distinguishes the plural track-adding action from broader timeline editing, though it does not explicitly differentiate itself from the sibling add_track or delete_track tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but never states when to use it instead of alternatives such as add_track, delete_track, or move_clip_to_track. No prerequisites, exclusions, or selection conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_transitionAdd TransitionA
EXPERIMENTAL (undocumented QE DOM): Add a video transition between two clips at a cut point. Reads the transition back from the sequence track.
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | Video track index (0-based) | |
| transition_name | Yes | Name of the transition (e.g., 'Cross Dissolve', 'Dip to Black') | |
| duration_seconds | No | Duration of the transition in seconds (default: 1.0) | |
| cut_point_seconds | Yes | Time position in seconds of the cut point where the transition should be placed |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive, non-idempotent, closed-world operation. The description adds valuable behavioral context beyond that: it flags the operation as EXPERIMENTAL/undocumented QE DOM and notes that it reads the transition back from the sequence track, implying verification behavior. It still omits failure modes and permission requirements, so not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences are front-loaded with the experimental status and the core action. Every phrase carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich input schema, annotations, and an output schema, the description covers purpose, experimental risk, and read-back behavior. It remains slightly incomplete on sibling selection among add_transition, add_transition_to_clip, and batch_add_transitions, but enough to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters including defaults. The description adds no parameter-level syntax, format, or constraint detail beyond what the schema provides; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Add), resource (video transition), and placement (between two clips at a cut point), which is more specific than a generic 'add transition'. However, it does not name or explicitly contrast with close siblings like add_transition_to_clip or batch_add_transitions, so sibling differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the scenario—inserting a video transition at a cut point—but offers no explicit when-to-use guidance, prerequisites, or exclusions. It does not point to add_transition_to_clip, batch_add_transitions, or list_available_transitions as alternatives, so the agent must infer tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_transition_to_clipAdd Transition To ClipA
EXPERIMENTAL (undocumented QE DOM): Add a transition to a specific video clip's start, end, or both edges, then read back the requested placement.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| position | No | Where to apply the transition (default: end) | |
| transition_name | Yes | Name of the transition | |
| duration_seconds | No | Duration of the transition in seconds (default: 1.0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), and the description adds genuinely new context: the tool relies on an undocumented/experimental QE DOM surface and performs a read-back of the requested placement after writing, which hints that verification is built in. It still does not say what happens if a transition already exists on the edge or on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that leads with the experimental caveat and then states the operation and its read-back behavior. No filler, no redundant restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the annotations cover the safety profile. The description supplies the experimental warning and placement scope, but omits prerequisites such as where transition_name values come from (list_available_transitions) and what the read-back returns on failure, leaving a small gap for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so node_id, position, transition_name, and duration_seconds are already documented in the schema. The description restates the start/end/both placement semantics already captured by the enum and adds no new parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Add a transition to a specific video clip') and scopes the target to the clip's start, end, or both edges. It is clear what the tool does, but it never names or contrasts with the obvious siblings add_transition or batch_add_transitions, so an agent must infer which one to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance and no mention of alternatives such as add_transition (single, non-clip-targeted) or batch_add_transitions (multiple clips). The only contextual signal is 'EXPERIMENTAL (undocumented QE DOM)', which warns about stability but does not tell the agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
adjust_audio_levelsAdjust Audio LevelsB
Adjust a clip's Volume > Level in dB. Does not read or change Essential Sound Amplify automation.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the audio or video clip | |
| level_db | Yes | Audio level in dB (0 = unity, negative = quieter, positive = louder) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-destructive, non-idempotent write operation (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds a useful behavioral boundary—it does not read or change Essential Sound Amplify automation—but says nothing about reversibility or exactly which clip properties are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and scope exclusion. Every sentence earns its place; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter mutation with rich annotations and an output schema, the description states the action and an important exclusion (Essential Sound Amplify automation). Its only notable gap is failing to differentiate itself from sibling volume tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains that level_db uses dB with 0 as unity and negative/positive semantics. The description repeats 'in dB' but adds no further parameter meaning, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Adjust) and resource (a clip's Volume > Level in dB), making the operation clear. However, it does not distinguish this tool from sibling set_clip_volume or set_clips_volume, which likely perform a similar level change on a clip or clips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance or alternatives. Its only limitation statement ('Does not read or change Essential Sound Amplify automation') is a scope exclusion, not routing advice, so an agent cannot tell when to choose adjust_audio_levels over set_clip_volume.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_dialogue_edit_candidatesAnalyze Dialogue Edit CandidatesARead-onlyIdempotent
Analyze caller-supplied, revision-bound transcript segments and optional local silence ranges for deterministic dialogue-edit candidates. It never calls a model, persists transcript text, or changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| segments | Yes | Normalized transcript segments with stable IDs, source IDs, transcript revisions, time ranges, text, and optional speaker labels. | |
| filler_words | No | Exact normalized filler words or phrases to flag for review. | |
| silence_ranges | No | Optional source-time silence ranges returned by local analysis. | |
| minimum_silence_seconds | No | Minimum silence duration to return; defaults to 0.7 seconds. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely useful behavior beyond that: it never calls a model (deterministic), never persists transcript text (privacy), and never modifies Premiere. That is real added context, though return-value characteristics are left to the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the purpose and followed by the negative guarantees. No filler; every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations, a rich 100%-covered schema, and an output schema, the description supplies the remaining pieces an agent needs (determinism, no persistence, no Premiere mutation). It is complete for invocation; it stops short of describing expected output shape or pitfalls like oversized segment arrays.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all four parameters, including the revision pattern and default minimum_silence_seconds. The description only echoes 'revision-bound transcript segments and optional local silence ranges' without adding syntax or format detail beyond the schema, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (analyze) and resource (dialogue-edit candidates), and pins down the inputs as caller-supplied, revision-bound transcript segments plus optional silence ranges. It's clear what the tool does, though it does not name the adjacent siblings (plan_filler_word_removal, plan_pause_tightening, detect_silence) that an agent might confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the required inputs (you need transcript segments from get_clip_transcript_uxp), but there is no explicit when-to-use vs. alternatives guidance or exclusion criteria. The agent can infer the context but is not routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_loudnessAnalyze LoudnessA
Measure integrated loudness (LUFS), loudness range (LU), and true peak (dBFS) from a local media file using FFmpeg's EBU R128 filter. Analysis only: it does not normalize audio or change Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| media_path | No | Absolute path to a local audio or video file. Provide this or project_item_id. | |
| target_lufs | No | Optional delivery target in LUFS (for example -14 streaming, -16 podcast, or -23 broadcast) | |
| tolerance_lu | No | Allowed absolute difference from target_lufs (default: 1 LU) | |
| project_item_id | No | Project item whose local media path should be resolved through Premiere. Provide this or media_path. | |
| max_true_peak_dbfs | No | Optional maximum acceptable true peak in dBFS (commonly -1 or -2) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (destructiveHint=false, openWorldHint=false), and the description adds genuinely useful context beyond them: that it is analysis-only using an EBU R128 filter, does not normalize audio, and does not mutate Premiere. It still does not address readOnlyHint=false / idempotentHint=false, leaving a small residual question about whether any files are written.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the measurement scope front-loaded and the analysis-only constraint appended. Every clause carries information the agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be enumerated, and the description correctly focuses on scope and the non-mutating guarantee. It could go further by naming the normalization sibling it is meant to precede, but nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (media_path, target_lufs, tolerance_lu, project_item_id, max_true_peak_dbfs) are already documented. The description mentions the measured metrics but adds no format or interpretation guidance for the target/tolerance/peak parameters, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Measure) and concrete outputs (integrated loudness LUFS, loudness range LU, true peak dBFS) plus the source (local media file). The mention of FFmpeg's EBU R128 filter further distinguishes it from sibling tools like normalize_loudness_file or validate_delivery_conformance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames the tool as analysis-only and rules out normalization and Premiere changes, which steers the agent away from the wrong sibling. It stops short of naming the alternative (normalize_loudness_file) or the conditions under which a user would need analysis versus normalization.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_video_interlacingAnalyze Video InterlacingA
Classify decoded video frames as progressive, top-field-first, bottom-field-first, mixed, or undetermined using FFmpeg idet. Read-only delivery preflight.
| Name | Required | Description | Default |
|---|---|---|---|
| media_path | Yes | Existing local video file | |
| sample_seconds | No | Decode sample duration from 1 through 300 seconds (default: 30) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description claims 'Read-only delivery preflight' while the annotations declare readOnlyHint=false, idempotentHint=false and destructiveHint=false — a soft inconsistency worth flagging, since the server evidently considers the tool non-read-only (it likely spawns an FFmpeg decode process). Beyond that claim the description adds no behavioral context: no mention of cost/runtime, temp-file or decode side effects, or sample_seconds impact on execution time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the classification taxonomy up front and the usage framing trailing. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the enumerable result categories are given inline. The only gap is the unstated execution profile implied by sample_seconds and the unresolved read-only framing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so media_path and sample_seconds (1-300s, default 30) are already fully documented in the schema. The description adds nothing about parameter semantics; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Classify') plus resource ('decoded video frames') and an enumerated set of outputs (progressive, top-field-first, bottom-field-first, mixed, undetermined), with the underlying mechanism named (FFmpeg idet). This distinguishes it clearly from siblings like set_sequence_field_type (a mutation) and analyze_video_qc (broader QC).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Read-only delivery preflight' implies the context of use, but there is no explicit when-to-use/when-not or routing to alternatives such as inspect_media_streams or analyze_video_qc, which also surface media characteristics. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_video_qcAnalyze Video QcB
Analyze a local video delivery for sustained black and frozen sections with FFmpeg. Read-only: it does not contact Premiere or modify the file.
| Name | Required | Description | Default |
|---|---|---|---|
| media_path | Yes | Path to an existing local video file | |
| minimum_black_seconds | No | Minimum black duration to report (default: 0.5) | |
| minimum_freeze_seconds | No | Minimum frozen duration to report (default: 1) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description asserts 'Read-only: it does not contact Premiere or modify the file,' but the annotations declare readOnlyHint=false, directly contradicting the claim that the operation does not modify. This is a genuine inconsistency the agent cannot resolve from the definition, so it must be flagged even though the FFmpeg/no-Premiere detail is otherwise informative.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with what is analyzed and followed by the side-effect profile; no filler or repetition of the title. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers the analysis target, mechanism, and side-effect intent for a 3-parameter tool. Its completeness is undercut only by the read-only claim conflicting with the annotations, which leaves the true side-effect profile ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all three parameters (media_path, minimum_black_seconds, minimum_freeze_seconds) are documented in-schema, including defaults. The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Analyze), a specific resource (a local video delivery), and a specific target (sustained black and frozen sections). It differentiates itself from Premiere-bound siblings by declaring it works on a local file with FFmpeg and never contacts Premiere, so an agent can tell it apart from tools like verify_delivery_file or analyze_video_interlacing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'local video delivery' and 'does not contact Premiere' imply this is for offline/standalone QC of an already-rendered file, which is useful framing. However, it names no alternative sibling (e.g., verify_delivery_conformance, verify_delivery_file) and states no explicit when-to-use or when-not-to-use condition, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_after_effects_render_handoffApply After Effects Render HandoffA
Import exactly one previewed completed AE render into its approved Premiere bin after rechecking both hosts and file metadata. Requires confirmation and consumes the token before dispatch. Does not save, render, or change a timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| preview_token | Yes | One-time ten-minute token from preview_after_effects_render_handoff. | |
| confirm_import | Yes | Must be true after reviewing the exact file and destination. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds meaningful behavior beyond the annotations (readOnly=false, idempotent=false, destructive=false, openWorld=false): a confirmation is required, both hosts and file metadata are rechecked, and the token is consumed before dispatch, implying one-time non-repeatable semantics. It also enumerates what is not touched. It stops short of describing failure behavior if the token is expired or already consumed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences; the operative action and its scope constraint are front-loaded, and each remaining sentence adds a distinct constraint (confirmation, token consumption, exclusions). No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a two-parameter, non-destructive apply operation the description covers preconditions, side effects, and exclusions well; only edge-case failure handling is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (preview_token, confirm_import) are documented in the schema, so the baseline is 3. The description reinforces 'requires confirmation' and the one-time token nature but adds no syntax, format, or constraint detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: import exactly one previewed completed AE render into its approved Premiere bin. The phrase 'exactly one' plus 'previewed completed' distinguishes it from preview_after_effects_render_handoff, preview_after_effects_render, and enqueue_after_effects_render at a glance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context: the render must be 'previewed completed' and already have an 'approved' bin, and it states the negative scope ('Does not save, render, or change a timeline'). It does not explicitly name preview_after_effects_render_handoff as the mandatory prerequisite (the schema does), nor contrast with the sibling apply_mogrt_premiere_handoff.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_audio_effectApply Audio EffectB
Apply an audio effect to a clip. Experimental QE catalog lookup includes an exact-name probe when enumeration is empty. A component-list readback does not verify rendered audio.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| effect_name | Yes | Name of the audio effect |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is partly covered. The description adds a caveat that 'a component-list readback does not verify rendered audio', which is useful beyond annotations, but it is cryptic and omits permissions, reversibility, or what the effect application actually changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first sentence, and the remaining two sentences are short. The second and third sentences add implementation caveats about catalog lookup and verification limits, though they are somewhat jargon-heavy; no obvious filler is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need not be explained, and annotations cover basic safety. However, for a mutation tool with two required parameters, the description lacks essential context such as valid effect name sources, alternative batch tools, and what state changes after application.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both 'node_id' and 'effect_name' are documented in the input schema. The description adds no extra meaning about parameter format, valid values, or how 'effect_name' relates to the catalog lookup, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Apply') and resource ('audio effect to a clip'), which distinguishes it from the generic 'apply_effect' sibling by narrowing scope to audio. However, it does not explicitly name or contrast with any sibling tool, so an agent must infer the boundary from the tool name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as 'batch_apply_effect' or 'apply_effect'. The description also omits where to find valid effect names (e.g., 'list_available_audio_effects'), leaving the agent without routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_edit_planApply Edit PlanA
Apply a previously previewed compound edit after revalidating stable project, sequence and target identities before activation or mutation. Requires the edit capability and exact preview confirmation token; changed targets require a fresh preview.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | Yes | An edit plan: { sequence_id?, operations: [...] } with up to 100 insert_clip and remove_clip operations. Operations run in order, and each one's times refer to the timeline as the operations before it left it. | |
| confirmation_token | Yes | Exact token returned by preview_edit_plan |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, which tells the agent this mutates state but isn't destructive and isn't idempotent. The description adds that it revalidates identities before activation/mutation and requires exact confirmation token. It does not mention what happens if validation fails, nor does it detail the non-destructive nature (e.g., undoable?). With annotations covering safety profile, a 3 is appropriate as the description adds some but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and key requirements. No wasted words; every clause adds necessary context (revalidation, capabilities, token, fresh preview).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a nested-object schema with output schema present and annotations covering safety, the description provides sufficient context: it clarifies the preview requirement, the token, and the revalidation step. It could mention the capability requirement more explicitly (it says 'Requires the edit capability') and perhaps what happens on success/failure, but overall it is complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters in detail. The description mentions 'exact preview confirmation token' which maps to the confirmation_token parameter but adds no new syntax or format details. Baseline 3 when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Apply a previously previewed compound edit'. It clearly distinguishes itself from siblings like preview_edit_plan or apply_effect by emphasizing 'compound' and 'previously previewed'. However, it could more explicitly name the sibling preview_edit_plan as the source of the plan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It specifies that the plan must be previously previewed and requires a 'exact preview confirmation token', implying preview_edit_plan must be called first. It also states 'changed targets require a fresh preview', giving a condition for when to re-preview. No explicit when-not-to-use guidance, but clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_effectApply EffectB
Apply a video effect to a clip. Experimental QE DOM catalog lookup includes an exact-name probe when enumeration is empty. A component-list readback does not verify rendered pixels.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip to apply the effect to | |
| effect_name | Yes | Name of the effect (e.g., 'Gaussian Blur', 'Lumetri Color') |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds a genuinely useful caveat that a component-list readback does not verify rendered pixels, warning the agent that apparent success is not visual confirmation. But the QE DOM catalog/exact-name probe sentence is implementation jargon that does not translate into agent-actionable behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is correctly front-loaded in sentence one, but the two follow-up sentences are dense internal-implementation notes whose benefit to the caller is only partially clear. They are not pure filler (they hint at verification limits) but they are not well-explained either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. What remains missing is routing guidance versus batch_apply_effect and any statement of failure modes (e.g. unknown effect_name), leaving the definition only minimally complete for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented in the schema, including an example effect name. The description adds no additional meaning about node_id or effect_name, so the schema does the heavy lifting and the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a clear verb+resource ('Apply a video effect to a clip'), so the agent knows exactly what it does. However, it gives no differentiation from close siblings like batch_apply_effect, apply_lut, or apply_audio_effect, leaving the agent to infer the distinction from names alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance at all. With siblings such as batch_apply_effect, apply_audio_effect, apply_lut, and apply_after_effects_render_handoff in the same family, the description never says when this single-effect tool is preferred over those alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_lutApply LutA
Unavailable on the CEP backend: Premiere's scripting API cannot load a LUT file into Lumetri Color. Its Input LUT and Look parameters are menu indexes over a curated set of bundled looks, and writing a file path to the LUT asset parameters is accepted but not rendered (seen on Premiere Pro 25.2.3, macOS, by comparing exported frames with the same LUT applied by ffmpeg; other builds were not tested). Fails before changing the clip. Apply the LUT in Lumetri Color > Creative > Look (Browse...) instead.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| lut_path | Yes | Full path to the .cube or .3dl LUT file |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations: discloses that the scripting API cannot load LUT files, that writing a LUT path is accepted but not rendered, that the tool fails before changing the clip, and specifies testing context on Premiere Pro 25.2.3 macOS. This tells the agent not to expect side effects, consistent with destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the unavailability warning and ordered logically: limitation, evidence, consequence, then alternative. The test-methodology sentence is long, but it supports the limitation claim; overall the description is slightly verbose for a non-functional tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists and annotations cover safety, the description supplies the critical missing context: the tool is non-functional on this backend, what happens when it is called, and the recommended manual alternative. Nothing required to decide against invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so node_id and lut_path are already documented in the schema. The description refers generally to writing a file path to LUT asset parameters but adds no parameter-level syntax or meaning beyond what the schema provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the tool is unavailable on the CEP backend and cannot load a LUT file into Lumetri Color, which makes the actual behavior clear even though the intended action is implied by the name/title. It explains that it fails before changing the clip, but does not explicitly differentiate it from sibling color or effect tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent away from this tool and names the alternative: apply the LUT in Lumetri Color > Creative > Look (Browse...). It also makes clear the tool will not work before invocation, so there is no ambiguity about when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_mogrt_premiere_handoffApply Mogrt Premiere HandoffA
Import exactly one previewed MOGRT into the empty track of the explicit disposable Premiere verification sequence, then read back insertion and control descriptors. Requires explicit confirmation; no rendered-frame claim is made.
| Name | Required | Description | Default |
|---|---|---|---|
| preview_token | Yes | One-time token returned by preview_mogrt_premiere_handoff. | |
| confirm_import | Yes | Must be true to import into the explicit verification sequence. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the non-read-only, non-idempotent, non-destructive, closed-world profile. The description adds genuinely useful context beyond that: it is bounded to a disposable verification sequence, it requires explicit confirmation, and it makes 'no rendered-frame claim', clarifying that only insertion and control descriptors are verified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and scope, with no wasted clauses. The jargon ('explicit disposable Premiere verification sequence') is dense but each phrase carries scope information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the read-back of insertion and control descriptors need not be detailed. For a bounded, confirmation-gated mutation the description covers scope, precondition, and limits well.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so preview_token and confirm_import are already documented in the schema. The description reinforces 'exactly one' and the confirmation requirement but adds no new syntax or format detail beyond what the schema provides, making 3 the correct baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (import), a precise resource (exactly one previewed MOGRT), and the exact destination (empty track of the disposable Premiere verification sequence). This clearly distinguishes it from the sibling preview_mogrt_premiere_handoff, which produces the preview rather than consuming it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool must be preceded by preview_mogrt_premiere_handoff ('previewed MOGRT') and states the confirmation requirement. It does not spell out explicit when-not conditions, but the preconditions are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_spot_workflow_planApply Spot Workflow PlanA
Apply one exact previewed motion-demo, product-spot, or brand-spot plan. Requires edit authority, requires filesystem authority for a MOGRT, and only targets empty explicitly named tracks. Host readback is not playback or render verification.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | Yes | Exact plan returned by a preview_*_spot tool | |
| confirmation_token | Yes | Exact token returned by the corresponding preview tool. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only carry the safety flags (readOnly=false, idempotent=false, destructive=false); the description adds real behavioral context beyond them: the authority requirements, the constraint that only empty explicitly named tracks are touched, and the caveat that host readback is not playback or render verification. That last point is a non-obvious limitation an agent would otherwise not know.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action, followed by prerequisites and constraints. Nothing is redundant, though the final readback caveat is phrased cryptically enough that it costs a little readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values needn't be explained, and annotations cover the safety profile. The description fills in authority, targeting, and verification caveats, leaving only the explicit naming of the required preview_*_spot source tools as a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with only two parameters, so the schema already documents both. The phrase 'one exact previewed ... plan' mildly reinforces the provenance requirement in the schema, but adds no syntax or format detail beyond it. Baseline 3 is correct when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Apply') and resource ('one exact previewed motion-demo, product-spot, or brand-spot plan'), and the type list cleanly separates it from the generic apply_edit_plan and apply_mogrt_premiere_handoff siblings. An agent can tell which preview output this consumes 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit preconditions are given (edit authority, filesystem authority for MOGRT, targets only empty explicitly named tracks) plus the implicit requirement that the plan be 'exact' and previously previewed. It stops short of naming the preview_*_spot tools as the required source, so selection guidance is clear but not fully routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
attach_custom_propertyAttach Custom PropertyA
Attach a custom property (key/value pair) to the active sequence and confirm it against the sequence project item's XMP packet. Reports failure when the property never lands in XMP.
| Name | Required | Description | Default |
|---|---|---|---|
| property_id | Yes | Unique identifier for the custom property | |
| property_value | Yes | Value for the custom property |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is a non-readOnly, non-destructive, non-idempotent write operation. The description adds valuable postcondition behavior: it confirms the property in XMP and reports failure if it never lands there. It does not cover permissions or behavior when the property already exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action and target, and contains no filler. The second sentence adds the critical verification and failure behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values do not need explanation. The description covers the action, target, verification behavior, and failure mode, which is complete enough for this two-parameter write tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters are fully documented in the input schema. The description adds a 'key/value pair' framing but no additional format, validation, or usage details beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (attach), resource (custom property key/value pair), target (active sequence), and verification against the XMP packet. It distinguishes the tool from generic metadata setters by emphasizing XMP confirmation and failure reporting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use, when-not-to-use, or alternative tools are mentioned. Sibling tools such as add_custom_metadata_field and set_xmp_metadata are not referenced, so the agent must infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_timeline_healthAudit Timeline HealthARead-onlyIdempotent
Audit one sequence snapshot for flash frames, gaps, overlaps, disabled clips, repeated shots, video without audio, extreme speed, invalid times, empty tracks, leading black, and trailing gaps; returns a 0..100 score, findings with timecodes, and fix routes. Local-only; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| snapshot | Yes | Sequence snapshot to audit. | |
| frame_rate | No | Frame rate override for frame math and timecodes (1..240). Defaults to the snapshot frame rate or 30. | |
| gap_min_frames | No | Minimum gap length in frames to report (default 1). | |
| max_speed_percent | No | Absolute speed above this percentage is flagged (default 400). | |
| expected_frame_rate | No | Optional expected frame rate; a mismatch is an error. | |
| flash_frame_max_frames | No | Clips lasting this many frames or fewer are flagged as flash frames (default 3). | |
| expected_duration_seconds | No | Optional target duration; clips past it and trailing gaps before it are flagged. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and non-openWorld, so the safety profile is largely covered. The description adds genuinely new behavioral context: 'Local-only', implying no network/media fetch, and 'never changes Premiere', plus the scoring and fix-route output shape. It stops short of noting runtime or input-size limits for large snapshots.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb 'Audit' and the target, then the defect enumeration, then outputs, then the safety note. The eleven-item check list is long but each entry is a concrete, non-redundant check that helps an agent predict coverage. Slight verbosity in the enumeration keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a deeply nested snapshot schema at 100% coverage and an existing output schema, the description supplies the remaining context an agent needs: scope (single snapshot), the breadth of detection, the output shape in prose, and the local read-only guarantee. Missing only comparison with adjacent audit tools, but that is a usage-guideline gap rather than a completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and every one of the seven parameters (frame_rate, gap_min_frames, max_speed_percent, expected_frame_rate, flash_frame_max_frames, expected_duration_seconds, snapshot) is documented with defaults and ranges in the schema. The description adds no semantics beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (audit) and resource (one sequence snapshot), then enumerates the eleven defect classes it detects (flash frames, gaps, overlaps, disabled clips, repeated shots, video without audio, extreme speed, invalid times, empty tracks, leading black, trailing gaps) and the outputs (0..100 score, findings with timecodes, fix routes). This is far more specific than the name alone and distinguishes it from read-only inspectors like inspect_sequence_review_report or diff_sequence_snapshots.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by specifying that it audits 'one sequence snapshot', which signals the input precondition, but it names no alternatives and gives no explicit when-to-use or when-not-to-use guidance versus closely related siblings such as inspect_sequence_review_report, analyze_video_qc, or diff_sequence_snapshots. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_reframe_sequenceAuto Reframe SequenceA
Auto-reframe a sequence into a new sequence of target_width x target_height. Premiere derives the new sequence from the source height (a 1080p source at 9:16 comes out 607x1080), so the tool then sets the requested frame size and verifies it; the Auto Reframe effect refits to the new size.
| Name | Required | Description | Default |
|---|---|---|---|
| new_name | No | Name for the newly created auto-reframed sequence | |
| sequence_id | No | Sequence name or ID to reframe. Uses active sequence if omitted. | |
| target_width | Yes | Target frame width in pixels | |
| motion_preset | No | Premiere Auto Reframe motion preset (default: default) | |
| target_height | Yes | Target frame height in pixels | |
| use_nested_sequences | No | Whether Auto Reframe should honor nested sequences (default: false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare non-read-only, non-destructive, non-idempotent, but the description adds real behavior the annotations cannot: it creates a NEW sequence, Premiere derives dimensions from source height, the tool then forces the requested frame size and verifies it, and the Auto Reframe effect refits afterward. This is useful operational context beyond the flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and its output shape, with no filler. The second sentence is dense but every clause carries information about the tool's internal behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers the creation semantics, the dimension quirk, and verification. It omits any mention of when to prefer this over simpler resize tools, which would round it out.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds genuine semantics for target_width/target_height by explaining Premiere's derived-sizing behavior (1080p at 9:16 yields 607x1080) before the requested size is applied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Auto-reframe a sequence into a new sequence of target_width x target_height'), and the phrase 'into a new sequence' distinguishes it from resolution-mutating siblings like set_sequence_resolution or set_scale_to_frame_size.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: no explicit when-to-use, when-not, or named alternative is given. An agent can infer this is for reframing (e.g., to vertical) but must decide on its own versus set_sequence_resolution or set_scale_to_frame_size.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_add_transitionsBatch Add TransitionsA
EXPERIMENTAL (undocumented QE DOM): Add the same video transition at each eligible cut point on a track and report per-cut readback.
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | No | Video track index (0-based, default: 0) | |
| transition_name | Yes | Name of the transition (e.g., 'Cross Dissolve') | |
| duration_seconds | No | Duration of each transition in seconds (default: 1.0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is covered. The description adds valuable context beyond annotations by labeling the tool EXPERIMENTAL and noting it relies on undocumented QE DOM, plus it reports per-cut readback. It does not describe failure modes or reversibility, but it meaningfully enriches the behavioral picture.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that covers the experimental caveat, the action, the scope, and the readback behavior. Every clause earns its place, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values do not need explanation, and annotations cover safety hints. The description supplies the experimental QE DOM warning and the batch scope. It is nearly complete, though it could clarify what makes a cut point eligible or note failure handling for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no parameter-level meaning beyond what the schema provides. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: adding the same video transition at each eligible cut point on a track. It distinguishes this batch operation from single-transition siblings like add_transition and add_transition_to_clip. The scope is clear enough for an agent to identify the tool's function 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through scope: batch-adding the same transition across eligible cuts on one track. However, it does not explicitly state when to choose this tool over alternatives such as add_transition, add_transition_to_clip, or batch_apply_effect. No exclusions or prerequisites are provided, so the guidance remains minimum viable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_apply_effectBatch Apply EffectA
Apply one audio or video effect to compatible selected clips, a compatible track, or all compatible clips. Every target is preflighted and then checked by component-count readback.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Which clips to apply to: selected clips, all on a track, or all in sequence | |
| track_type | No | Track type (required when target is 'track') | |
| effect_name | Yes | Display name of the effect to apply (e.g., 'Gaussian Blur', 'Lumetri Color') | |
| track_index | No | Track index (required when target is 'track') |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false. The description adds valuable behavioral detail beyond annotations: every target is preflighted and then verified by component-count readback. It does not clarify idempotency behavior or partial-failure handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose followed by a concise behavioral note about preflight and readback. No redundancy or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch mutation tool with rich annotations and an output schema, the description is largely complete: it names the effect types, target scopes, and verification behavior. It lacks explicit usage exclusions and idempotency notes, but the structured fields cover the remaining safety and return-value context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are fully documented in the schema. The description restates the target modes and clarifies that a single effect is applied in batch, but adds no syntax, format, or constraint details beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Apply) and resource (one audio or video effect) with clear batch scope (selected clips, a track, or all compatible clips). It implicitly distinguishes from single-clip apply_effect and apply_audio_effect siblings through the batch/target framing, but never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes the operation and its target modes, giving implied usage context. However, it offers no explicit when-to-use or when-not-to-use guidance relative to alternatives like apply_effect, apply_audio_effect, or remove_effect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_enable_disableBatch Enable DisableB
Enable or disable multiple clips at once (selected, track, or all).
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Which clips to affect | |
| enabled | Yes | true to enable, false to disable | |
| track_type | No | Track type (required when target is 'track') | |
| track_index | No | Track index (required when target is 'track') |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, and idempotentHint=false. The description adds no behavioral context beyond what annotations and schema already provide—no auth needs, side effects, rate limits, or clarification of the questionable idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste. It states the operation, batch nature, and scope compactly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core operation and scope, and the rich schema plus output schema reduce the burden. However, it omits usage guidance, sibling differentiation, and the conditional dependency that track_type and track_index are required when target='track'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters, including enums and conditional requirements. The description mentions target options but adds no syntax or format detail beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (enable/disable), resource (multiple clips), and scope (selected, track, all). It implicitly distinguishes itself from the sibling single-clip tool 'enable_disable_clip' through 'multiple clips at once,' but does not explicitly name that alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, and no alternatives are named. The scope options hint at batch scenarios, but there is no explicit context or prerequisite information for choosing this tool over siblings like enable_disable_clip or set_clip_properties_batch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_rename_clipsBatch Rename ClipsB
Rename multiple clips on the timeline using a pattern. Supports sequential numbering.
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | Yes | Name pattern. Use {n} for a sequential number, ## for a zero-padded two-digit sequence number, and {name} for the original name (e.g., 'Scene_##', '{name}_v2') | |
| track_type | Yes | Track type to rename clips on | |
| track_index | Yes | Track index (0-based) | |
| start_number | No | Starting number for {n} placeholder (default: 1) | |
| selected_only | No | Only rename selected clips (default: false, renames all on track) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds no behavioral context beyond what the annotations and schema give – it does not explain that renaming is not idempotent, whether existing names are overwritten, or how linked/associated clips are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, with the core action front-loaded and the notable feature (sequential numbering) appended. Appropriately sized for this tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 100% schema coverage, a full set of annotations, and an output schema, the description is largely sufficient for correct invocation. The only meaningful gap is the absence of usage/routing context for when batch rename is preferable to single-clip rename.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already fully documented in the schema, including the {n}/##/{name} pattern syntax. The description's 'supports sequential numbering' merely echoes the schema's pattern placeholder docs, adding no new parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (rename), resource (clips), scope (multiple, on the timeline) and mechanism (using a pattern). This implicitly but clearly distinguishes it from the single-clip 'rename_clip' sibling and from 'rename_track'/'rename_bin'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no alternatives named (e.g., rename_clip, set_clip_properties_batch, select_clips_by_pattern), and no prerequisites such as needing clips selected on the target track. 'Supports sequential numbering' is a capability, not routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_caption_artifactBuild Caption ArtifactA
Build a CapCut/Submagic-style SRT or VTT caption artifact from a caller-supplied word timeline: balanced word groups, sentence-aware breaks, min/max cue durations, optional karaoke word timestamps (VTT), emphasis and speaker markup. Local-only; returns the artifact inline or writes it inside an approved workspace and never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| format | Yes | Artifact format. SRT uses HH:MM:SS,mmm; VTT starts with WEBVTT and uses HH:MM:SS.mmm. | |
| karaoke | No | VTT only: emit per-word <HH:MM:SS.mmm> timestamps inside each cue for word-highlight styles. Errors for SRT. | |
| max_lines | No | Maximum lines of plain caption text per cue (default 1); markup does not add lines. | |
| uppercase | No | Render caption text in upper case. | |
| output_path | No | Optional absolute file path to write the artifact to. Requires approved_workspace_path; the file must not already exist. When omitted the artifact text is returned inline (up to 512 KiB). | |
| style_preset | No | Style descriptor to return with the artifact (default clean). Documentation only; not encoded in SRT/VTT. | |
| strip_fillers | No | Tokens removed from the caption text (case-insensitive, punctuation ignored). | |
| word_timeline | Yes | Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them. | |
| words_per_cue | No | Target words per cue (default 4); sentences are split into balanced groups of at most this many words. | |
| emphasis_words | No | Words wrapped in <b> (SRT) or <c.emphasis> (VTT). | |
| speaker_prefix | No | Prefix cues with the speaker label when present: 'Speaker: ' in SRT, <v Speaker> in VTT. | |
| max_cue_seconds | No | Maximum cue duration (default 5). | |
| min_cue_seconds | No | Minimum cue duration (default 0.5); short cues are extended but never past the next cue start. | |
| merge_gap_seconds | No | Extend a cue to the next cue start when the gap is smaller than this (default 0.3) so captions do not flicker. | |
| max_chars_per_line | No | Maximum characters per line of plain caption text (default 32); words are never split. Wrapping counts unescaped words only, so VTT escaping, karaoke timestamps, emphasis tags, and speaker prefixes can make the rendered line longer. | |
| approved_workspace_path | No | Absolute existing directory that must contain output_path (checked via realpath of the parent directory). Required with output_path. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the sparse annotations, the description discloses that the tool is local-only, never touches Premiere, returns inline (up to 512 KiB) or writes into an approved workspace, and errors on karaoke+SRT. These are exactly the behavioral facts an agent needs and none are contradicted by the readOnlyHint=false / destructiveHint=false annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Roughly two dense sentences for a 16-parameter tool, with the core purpose front-loaded and the safety/output clause second. Efficient, though the first sentence packs a long clause list that is more enumeration than prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description correctly does not explain return values, and it covers the write path, workspace constraint, format semantics and non-interference with Premiere. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already carries per-parameter detail and the baseline is 3. The description nonetheless summarizes the parameter set coherently ('balanced word groups, sentence-aware breaks, min/max cue durations, optional karaoke word timestamps, emphasis and speaker markup'), giving an agent a mental model of the knobs before opening the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Build a CapCut/Submagic-style SRT or VTT caption artifact') and scopes it to a caller-supplied word timeline. The 'Local-only ... never changes Premiere' clause implicitly distinguishes it from the sibling create_caption_track, which mutates the timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is clear from context: build a standalone caption file rather than apply captions to the timeline, and 'karaoke ... Errors for SRT' tells the agent a format/option constraint up front. It never names create_caption_track or another sibling explicitly, so the alternative 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.
capture_frameCapture FrameA
Capture the current frame and return it as inline image data for the LLM to see. This lets the AI visually inspect the current state of the timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| time_seconds | No | Time position in seconds to capture. Uses current playhead if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (destructiveHint=false, openWorldHint=false), and the description adds useful return-format context ('inline image data'), which an agent needs to know. It does not disclose resolution, size limits, or cost/latency implications of returning image data. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the action front-loaded and no filler. The second sentence is somewhat redundant with the first's 'for the LLM to see', slightly diminishing the economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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-needed (output schema present) capture tool, this covers what the agent needs to call it and understand the response form. Minor gaps: no mention of alternatives or capture-at-time behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one optional parameter, and schema description coverage is 100%, so the schema fully documents time_seconds. The description adds nothing about the parameter — it says 'current frame', which glosses over the ability to capture at an arbitrary time_seconds. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (capture) and resource (current frame) plus the return form (inline image data). It is clear in isolation, but it does not distinguish itself from adjacent tools like export_frame, match_frame, or export_sequence_review_frames that also produce frame imagery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence implies the use case (letting the AI visually inspect the timeline state), which is genuine implied guidance. However, there is no explicit when-to-use/when-not rule and no pointer to alternatives such as export_frame for on-disk output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_caption_safe_zoneCheck Caption Safe ZoneARead-onlyIdempotent
Check caption, title, logo, and graphic rectangles against approximate platform UI overlay zones (TikTok, Reels, Shorts, feed, YouTube, LinkedIn, X) and suggest the nearest clear position. Local-only geometry on caller-supplied normalized rects; it never reads or changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| frame | Yes | Output frame size in pixels; used for orientation checks and pixel readback. | |
| elements | Yes | On-screen rectangles normalized to the frame (0..1), with x,y at the top-left corner. | |
| platform | Yes | Target platform whose UI overlays are checked. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, and closed-world safety. The description adds valuable context: it operates local-only on caller-supplied normalized rects, uses approximate overlay zones, and never reads or changes Premiere. This goes beyond the annotations but stops short of describing output format or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the first states the core action and result, the second clarifies local-only scope and Premiere isolation. It is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existing output schema and rich annotations, the description provides everything needed: purpose, scope, platform list, local-only behavior, and explicit non-interaction with Premiere. No significant gaps remain for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all three parameters. The description mentions 'caller-supplied normalized rects' and lists platform names, but adds little semantic detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action: check caption, title, logo, and graphic rectangles against platform UI overlay zones and suggest the nearest clear position. It names the resource (rectangles, overlay zones) and lists target platforms, making it immediately distinguishable from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied for checking safe zones, but the description does not explicitly say when to use this tool versus alternatives like validate_platform_publish_package or get_caption_style_guidance. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_offline_mediaCheck Offline MediaBRead-onlyIdempotent
Check for offline (missing) media in the project
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered without the description. The description's only added value is glossing 'offline' as 'missing', but it omits scope (project-wide vs. active sequence) and what a positive result means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though at this length it leaves useful routing detail on the table.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and zero params plus annotations cover much of the burden. The real gap is that with get_offline_media in the sibling set, the definition never explains how this tool differs or when to prefer it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The baseline of 4 applies; no parameter-level gaps exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Check') and resource ('offline media'), and clarifies 'offline' as '(missing)'. However, it does nothing to distinguish itself from the near-identical sibling get_offline_media, leaving the agent unable to tell them apart without inspecting both schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and critically no mention of the sibling get_offline_media (or get_used_media_report), which appears to serve an overlapping purpose. The agent is given no routing information at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_item_in_outClear Item In OutA
Clear in and/or out points on a project item (reset to full duration).
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| clear_in | No | Clear the in point (default: true) | |
| clear_out | No | Clear the out point (default: true) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, and idempotent=false. The description adds a useful behavioral outcome beyond those annotations: clearing the points resets the item to full duration. It does not cover permissions or undo semantics, but for a non-destructive mutation this is solid added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the action and target, with no redundant or filler content. Every phrase contributes to identifying the tool and its effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter mutation tool with full schema coverage, annotations, and an output schema, the description is nearly complete. It states what the tool does and the key outcome. The main gap is lack of explicit usage alternatives among many siblings, which is minor given the clear naming.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so item_id, clear_in, and clear_out are already documented with types, defaults, and meanings. The description mentions in/out points but adds no syntax or format detail beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (clear), resource (in and/or out points), and target (project item), and adds the effect (reset to full duration). This distinguishes it from the sibling clear_sequence_in_out by scoping to a project item rather than a sequence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it: when you need to remove in/out points from a project item and restore full duration. However, it gives no explicit when-not guidance or directs the agent to alternatives like set_item_in_out or clear_sequence_in_out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_sequence_in_outClear Sequence In OutC
Clear the in and/or out points on the active sequence.
| Name | Required | Description | Default |
|---|---|---|---|
| clear_in | No | Clear in point (default: true) | |
| clear_out | No | Clear out point (default: true) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the agent knows it mutates state non-destructively. The description adds nothing beyond that — no note on whether the clearing is undoable, whether it affects only the active sequence, or what happens when the specified point is already unset. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the resource and scope front-loaded; nothing is padded or redundant. It is close to minimal without being under-specified for a tool this simple.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the two parameters are fully documented in the schema. Still, for a state-mutating tool with four annotations dialed in, the absence of any sibling differentiation or edge-case note leaves a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both booleans documented including their defaults, so the baseline is 3. The phrase 'in and/or out' loosely signals that either flag can be used independently, but adds no real semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Clear') and resource ('in and/or out points on the active sequence'), making the operation immediately legible. It does not, however, distinguish itself from close siblings like clear_item_in_out or set_sequence_in_out_points, so it lands at a solid 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no named alternative, and no note about when clearing one point vs both is appropriate. The agent has to infer that this applies to a sequence rather than a clip, even though clear_item_in_out exists as a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_all_source_clipsClose All Source ClipsADestructive
Close all clips in the Source Monitor.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description adds the useful scope detail that all clips (not one) are discarded, but says nothing about whether unsaved source in/out points are lost or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with zero filler. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema and annotations carrying the destructiveness signal, the description is essentially complete. The only shortfall is the absence of any usage context relative to close_source_monitor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 are no parameter semantics to explain or omit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Close') and resource ('all clips in the Source Monitor'), and the word 'all' distinguishes it from the sibling close_source_monitor, which closes the monitor itself rather than its clips. Clear, though it does not explicitly name that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 is given. The agent must infer from the name that this is the bulk-clear operation, and there is no mention of the related monitor-closing or per-clip close operations that might be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_projectClose ProjectADestructive
Close an open Premiere Pro project: the active one, or the open project at project_path. Verifies it is no longer open and reports which project is active afterwards.
| Name | Required | Description | Default |
|---|---|---|---|
| save_first | No | Whether to save before closing (default: true) | |
| project_path | No | Path of the open project to close (default: the active project) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds genuinely new post-condition context: it verifies the project is no longer open and reports which project becomes active, which the annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the verb and resource and then qualifies scope and post-conditions. Every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool's complexity is low, annotations plus an output schema carry the return-value burden, and the description covers scope and post-state behavior. It is complete enough to call correctly, though it omits any note about the save-before-close consequence of save_first.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (save_first, project_path) are already documented with defaults in the schema. The description only restates the project_path default (active project) and adds nothing about save_first's save-before-close behavior, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (close) on a specific resource (an open Premiere Pro project) and defines the two scopes it operates on: the active project or the one at project_path. This is easily distinguished from siblings like close_sequence, close_all_source_clips, and save_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the selection condition explicit (active project vs. the project at project_path), so an agent knows which target it will act on, but it gives no guidance on when to prefer this over save_project/save_project_as or on prerequisites such as unsaved work being discarded.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_sequenceClose SequenceADestructive
Request closing a sequence timeline tab. Premiere exposes no open-tab enumeration, so dispatch is requested_unverified; the sequence stays in the project.
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | No | Sequence name or ID. Uses active sequence if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and non-idempotent, so the safety profile is partly covered. The description adds genuinely non-obvious context the annotations cannot carry: there is no open-tab enumeration in Premiere, so the dispatch is "requested_unverified," and the underlying sequence survives the close. That verification limitation is exactly the kind of behavioral caveat that changes how an agent should treat success/failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero padding, and the operation is front-loaded before the caveat. The dense phrasing ("dispatch is requested_unverified") is jargon but earns its place by conveying a real verification limit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the tool is single-parameter and simple. The description covers the critical caveats (unverified dispatch, non-destructive to project data). It stops short of stating what happens when the target sequence is not open, which is the one remaining gap for an unverifiable operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter's default ("Uses active sequence if omitted") is already documented in the schema. The description adds no additional meaning about sequence_id resolution or naming ambiguity, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Request closing a sequence timeline tab") and immediately scopes it against the natural confusion case with delete_sequence by noting "the sequence stays in the project." An agent can distinguish this from deletion or from close_project 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The contrast with deletion is implied by "the sequence stays in the project," which is useful routing information. However, there is no explicit when-to-use statement, no mention of prerequisites (must the sequence be open/active?), and no named alternative among the many siblings such as delete_sequence or close_project. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_source_monitorClose Source MonitorADestructive
Close the clip currently showing in the Source Monitor. Premiere then shows the previously opened clip, if any; the result names it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false. The description adds genuine behavioral context beyond that: it explains the post-condition (the previously opened clip reappears, if any) and that the result names it, which helps the agent predict the resulting state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the resulting state. Every clause earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter destructive close tool with an output schema present, the description covers the action and its post-condition adequately. It need not explain return values since the output schema does that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for the description to disambiguate and no schema gap to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Close) and resource (the clip currently showing in the Source Monitor). The 'currently showing' scoping implicitly distinguishes it from the close_all_source_clips sibling, though that sibling is never named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives named. The agent must infer that this applies only to the single active Source Monitor clip rather than the close_all_source_clips sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
color_correctColor CorrectA
Apply basic color correction through experimental QE Lumetri insertion. Requires Lumetri component and requested property readback; rendered output is not verified.
| Name | Required | Description | Default |
|---|---|---|---|
| tint | No | Tint adjustment | |
| blacks | No | Blacks adjustment (-100 to 100) | |
| whites | No | Whites adjustment (-100 to 100) | |
| node_id | Yes | Node ID of the clip | |
| shadows | No | Shadows adjustment (-100 to 100) | |
| contrast | No | Contrast adjustment (-100 to 100) | |
| exposure | No | Exposure adjustment (-4.0 to 4.0) | |
| highlights | No | Highlights adjustment (-100 to 100) | |
| saturation | No | Saturation (0-200, 100 = normal) | |
| temperature | No | Color temperature adjustment |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the mutation profile (readOnly=false, destructive=false, idempotent=false). The description adds genuinely useful context beyond that: the implementation is 'experimental', it depends on a Lumetri component plus property readback, and 'rendered output is not verified' — a real caveat about reliability that annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, operation stated first, caveats second. Nothing redundant and no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and the description covers prerequisites and the unverified-render caveat. It could say more about how failure manifests when the Lumetri component or readback is missing, but it is close to complete for a single-node color operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with ranges documented per parameter (blacks/whites -100..100, exposure -4..4, saturation 0-200). The description adds no further parameter meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Apply basic color correction') plus the mechanism ('QE Lumetri insertion'), so the agent knows what operation is performed. It does not distinguish itself from color-adjacent siblings such as set_color_value, apply_lut, or set_effect_property, which is the main gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a precondition ('Requires Lumetri component and requested property readback') but never says when to prefer this over apply_lut or set_effect_property, nor any when-not guidance. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_cmx3600_edlsCompare Cmx3600 EdlsB
Compare two local CMX 3600 EDLs by event number and report bounded added, removed, and changed editorial events. Read-only; it does not alter either interchange file or Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| after_path | Yes | Existing revised .edl file | |
| before_path | Yes | Existing baseline .edl file |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description asserts 'Read-only; it does not alter either interchange file or Premiere,' but the annotations declare readOnlyHint=false. This directly contradicts the structured safety signal, leaving an agent unable to trust which is correct and creating the exact ambiguity annotations exist to prevent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: what it does first, then the safety claim. No filler, no repetition of the tool name, and the operationally important scoping detail is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be spelled out, and the description still summarizes the report shape (added/removed/changed events). The only shortfall is that the read-only/no-alteration claim conflicts with annotations rather than resolving behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented in the schema (baseline/revised .edl paths). The description adds only the 'local' constraint and the comparison key ('event number'), which is marginal value over an already-complete schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (compare) plus resource (two local CMX 3600 EDLs) and the matching key (event number), with the output named ('bounded added, removed, and changed editorial events'). It is instantly distinguishable from siblings like inspect_cmx3600_edl and validate_cmx3600_edl, which operate on a single EDL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage ('compare two local CMX 3600 EDLs') but never states when to pick this over the sibling inspect/validate/import EDL tools, nor any prerequisite such as both files existing locally. Implied context only, not explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compute_mask_fit_motionCompute Mask Fit MotionARead-onlyIdempotent
Inspect only. Compute the Motion Scale (%) and Position that place a still image's subject inside an existing Rounded Crop, Crop, or similar mask effect. Reads the sequence frame size, the source frame size, current Motion values, and the mask effect's parameters, then solves the geometry deterministically from a caller-supplied subject box (fractions of the source image, for example head-top to chin). No image analysis and no changes to Premiere. Apply the result with set_clip_scale and set_clip_position (or set_effect_property), then verify with capture_frame. Assumes Rotation 0 and uniform scale; mask geometry is treated as fixed in the sequence frame (mask_space 'sequence').
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the video clip that holds the still image and its Motion effect. | |
| subject | Yes | Subject box in the SOURCE image as fractions of the source frame (0..1), for example top = head-top and bottom = chin or collar. | |
| fit_axis | No | Fit the subject's height to placement top/bottom (default) or its width to placement left/right. | |
| placement | No | Where the subject should sit inside the mask, as fractions of the mask's bounding box. Defaults: top 0.15, bottom 0.85, center_x 0.5 (height fit); left 0.15, right 0.85, center_y 0.5 (width fit). | |
| mask_space | No | Where the mask geometry lives. 'sequence' (default): the mask stays fixed in the sequence frame while Motion moves the image (mask on an adjustment layer or nest, or an effect that renders after Motion). 'clip': the mask moves with the clip's Motion, so Motion cannot reframe the subject inside it and the tool returns an error explaining that. | |
| mask_effect | No | Display name or match name of the mask effect (case-insensitive). Defaults to 'Rounded Crop'. Built-in 'Crop' Left/Top/Right/Bottom percentages are supported too. | |
| mask_node_id | No | Node ID of the clip that carries the mask effect when it is not the image clip, for example an adjustment layer or nest above it. Defaults to node_id. | |
| source_width | No | Source image width in pixels. Overrides the value read from project metadata; required with source_height when Premiere does not report it. | |
| mask_override | No | Mask bounding box as fractions of the SEQUENCE frame. Skips reading mask parameters; use it when the effect's parameters cannot be interpreted. | |
| source_height | No | Source image height in pixels. Overrides the value read from project metadata. | |
| source_prescale | No | Extra scale Premiere applies before Motion, for example when Scale to Frame Size is on (sequence height / source height for a letterboxed fit). Defaults to 1. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description reinforces 'no changes to Premiere' plus discloses non-obvious limits: no image analysis, assumes Rotation 0 and uniform scale, mask geometry treated as fixed in sequence frame, and an explicit error condition for clip-space masks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the 'Inspect only' constraint and the core purpose, then moves to assumptions. Dense but mostly earning its place; the final assumptions sentence could be trimmed slightly without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained. The description covers scope, prerequisites, apply/verify workflow, error behavior, and geometric assumptions for an 11-parameter nested-schema tool – nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well documented; the description's main additions are the subject-box example ('head-top to chin') and the mask_space semantics. It adds some framing but not enough beyond the schema to exceed baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Compute the Motion Scale (%) and Position that place a still image's subject inside an existing Rounded Crop, Crop, or similar mask effect') with the exact inputs read and the deterministic solution method. An agent can distinguish this from sibling geometry/motion tools immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames the tool as 'Inspect only', names the downstream apply tools (set_clip_scale, set_clip_position, or set_effect_property) and the verification step (capture_frame). It also defines when the tool is inapplicable via the mask_space 'clip' case that returns an error.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consolidate_and_transferConsolidate And TransferA
Collect (copy) or transcode project media into a new project with Premiere's Project Manager. Premiere writes a Copied_ folder inside destination_path (created if missing); success is reported only after that folder holds the copied .prproj, with the copied files listed.
| Name | Required | Description | Default |
|---|---|---|---|
| transcode | No | Transcode media to match the sequence instead of copying it (default: false) | |
| rename_media | No | Rename media to match clip names (default: false) | |
| exclude_unused | No | Exclude unused clips (default: true) | |
| convert_ae_comps | No | Convert After Effects compositions (default: false) | |
| destination_path | Yes | Destination folder path for the consolidated project | |
| convert_synthetic | No | Convert synthetic importer items (default: false) | |
| copy_to_new_location | No | Must be true (the default): Premiere's scripted Project Manager always collects media into the destination. | |
| include_all_sequences | No | Include all sequences (default: true). If false, only active sequence is used. | |
| include_preview_files | No | Include preview/render files (default: false) | |
| convert_image_sequences | No | Convert image sequences to clips (default: false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (which only declare readOnly=false, destructive=false, idempotent=false), the description discloses concrete side effects and contract details: a Copied_<project> folder is written inside destination_path, that folder is created if missing, and success is only reported once the copied .prproj is present with files listed. This is exactly the kind of behavior an agent cannot infer from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with zero filler, front-loading what the tool does before the side-effect contract. Nothing is repeated from the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the description covers the write contract and success condition well. The one remaining gap is which project/sequence is the source of 'project media' (presumably the open project and, depending on include_all_sequences, the active sequence), which an agent must infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns above baseline by explaining the copy-vs-transcode distinction that maps to the 'transcode' flag and by clarifying destination_path semantics (target of the Copied_<project> folder, auto-created). It still does not touch the remaining boolean flags, but they are well documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb pair ('Collect (copy) or transcode') and resource ('project media into a new project') via Premiere's Project Manager, so the operation is unambiguous. It does not explicitly differentiate itself from the nearest sibling (consolidate_duplicates) or other project-level tools, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the copy/transcode framing suggests consolidating media for transfer or archival, but the description never states when to choose this over alternatives such as export_as_project, create_project_backup, or consolidate_duplicates, and gives no prerequisites. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consolidate_duplicatesConsolidate DuplicatesB
Consolidate duplicate project items and report success only when duplicate media groups decrease.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose this is a non-read-only, non-idempotent, non-destructive operation, so the baseline bar is lower. The description adds one genuinely useful behavioral fact not in the annotations - success is only reported when duplicate media groups actually decrease - but it never says whether duplicates are merged, deleted or relinked, nor whether the change is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the action is stated first and the success condition second. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is not required. However, for a parameterless mutation the description never defines its operating scope (whole project vs. selection vs. active sequence) or whether duplicates across bins are touched, which is a meaningful gap for an agent deciding whether to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 does not need to explain any argument syntax, and it correctly does not invent parameter details that don't exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: consolidating duplicate project items, with the additional novel concept of 'duplicate media groups'. That distinguishes it from generic cleanup tools, but it never names its obvious sibling get_duplicate_media or consolidate_and_transfer, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives named. The natural workflow (run get_duplicate_media to detect, then consolidate to act) is left entirely to inference, as is whether this should be run per-item or project-wide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
copy_effects_between_clipsCopy Effects Between ClipsA
Copy all effects (or a specific effect) from one clip to another. Does not copy intrinsic properties like Motion/Opacity unless specified.
| Name | Required | Description | Default |
|---|---|---|---|
| effect_name | No | Specific effect display name to copy (copies all non-intrinsic effects if omitted) | |
| source_node_id | Yes | Node ID of the source clip to copy effects from | |
| target_node_id | Yes | Node ID of the target clip to paste effects to |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-read-only, non-destructive, non-idempotent mutation, so safety is largely covered. The description adds a genuinely non-obvious behavioral constraint: intrinsic properties such as Motion/Opacity are excluded unless specified. It stops short of saying whether existing target effects are replaced or merged, which would be the remaining high-value detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action and followed by the one meaningful caveat. No filler or restated title content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and annotations carry the safety profile; the description covers the action and the intrinsic-property exclusion. The only real gap is the replace-vs-merge semantics on the target clip, which matters for a non-idempotent mutation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the input schema, including the 'copies all non-intrinsic effects if omitted' behavior for effect_name. The description adds no format or syntax detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Copy all effects (or a specific effect) from one clip to another') and clarifies scope with the intrinsic-property caveat. It does not name the nearest siblings (copy_effect_values, paste_clip_attributes, batch_apply_effect), so an agent still has to infer differentiation, which keeps it below 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies that omitting effect_name copies everything, but it gives no when-to-use guidance against close alternatives like copy_effect_values or paste_clip_attributes, and no prerequisites (e.g. both clips must exist in the same sequence). Usage context is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
copy_effect_valuesCopy Effect ValuesA
Copy verified scalar effect-property values from one effect to the matching effect on another clip. Both clips must already have the same effect applied. Legacy CEP deliberately refuses Blend Mode because Premiere can corrupt its enum value on cross-clip writes.
| Name | Required | Description | Default |
|---|---|---|---|
| effect_name | Yes | Display name of the effect to copy values for | |
| source_node_id | Yes | Node ID of the source clip | |
| target_node_id | Yes | Node ID of the target clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-read-only, non-idempotent mutation but add nothing about constraints; the description supplies the real behavioral substance: the same-effect prerequisite on both clips and a deliberate carve-out for Blend Mode due to enum corruption on cross-clip writes. That safety caveat is valuable context beyond the structured fields, though error behavior when effects differ is not described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, each earning its place: the action, the precondition, and the exclusion with reason. Nothing is padded and the core operation is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the description covers the key precondition and the notable carve-out. It is close to complete for a moderate-complexity mutation tool, missing only what happens on failure (e.g., mismatched effects) to reach a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with all three parameters documented, so baseline is 3. The description implies the source/target/effect_name mapping through prose but adds no syntax, format, or edge-case detail beyond what the schema already carries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: copies scalar effect-property values from one effect to the matching effect on another clip. The scoping word 'scalar' plus 'matching effect' distinguishes it from broader siblings like copy_effects_between_clips and paste_clip_attributes without needing to open a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States an explicit precondition ('Both clips must already have the same effect applied') and an explicit exclusion with rationale (Blend Mode is refused). It gives when-to-use context clearly but never names a sibling alternative, 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.
create_bars_and_toneCreate Bars And ToneA
Create a Bars and Tone synthetic media item in the project (useful for leader/calibration). Returns the created item's name, nodeId, and treePath, found by reading the project back.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name for the bars and tone item (default: 'Bars and Tone') | |
| width | No | Frame width in pixels (default: 1920) | |
| bin_id | No | Optional destination bin: node ID, slash-separated bin path from the project root, or bin name. The bin is resolved before anything is created; the item is moved there and its location read back. | |
| height | No | Frame height in pixels (default: 1080) | |
| timebase | No | Timebase as ticks-per-second string (default uses sequence timebase) | |
| audio_sample_rate | No | Audio sample rate in Hz (default: 48000) | |
| pixel_aspect_numerator | No | Pixel aspect ratio numerator (default: 1) | |
| pixel_aspect_denominator | No | Pixel aspect ratio denominator (default: 1) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the write nature, non-destructive and non-idempotent hints, so the description's main addition is the read-back verification and returned fields. It adds some behavioral detail but does not cover permissions, side effects, or reversibility beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the purpose and then the return information. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich schema (100% coverage), output schema, and annotations, the description supplies the essential purpose and return behavior. It omits only when-to-use guidance and explicit sibling alternatives, but those are not required for calling correctly given the structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents all eight parameters. The description does not add any parameter-level meaning beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Create a Bars and Tone synthetic media item') and gives a use case, making the tool's purpose clear. It does not compare itself to any sibling tools (e.g., create_bin, add_title), so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It offers an implied usage context ('useful for leader/calibration'), which hints at when to use it. However, there are no explicit when/when-not rules or named alternatives among the many sibling creation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_binCreate BinA
Create a new bin (folder) in the project panel, optionally nested inside an existing bin. Reads the project back: verified is true only when the new bin is a direct child of the requested parent; otherwise the result reports outcome committed_unverified.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the new bin | |
| parent_bin | No | Optional parent bin node ID, slash-separated bin path, or exact bin name. Alias of parent_bin_id that also accepts a path or name. | |
| parent_bin_id | No | Optional node ID of the existing parent bin (searched recursively through nested bins). Creates in the project root if both parent_bin_id and parent_bin are omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state readOnlyHint=false, destructiveHint=false, and idempotentHint=false. The description adds useful verification semantics: it reads the project back, verified is true only when the new bin is a direct child of the requested parent, and otherwise the result reports committed_unverified. It still does not cover permissions or rate limits, so it falls 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded: the first states purpose and the second explains verification outcome. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations and an output schema present, the description covers the main action and the verification/outcome behavior. It omits sibling differentiation and usage context, but those gaps are relatively minor given the structured fields cover parameters and return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents name, parent_bin, and parent_bin_id in detail. The description only restates that nesting is optional, adding no alias or path/name semantics beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: creates a new bin/folder in the project panel, optionally nested inside an existing bin. It does not distinguish itself from sibling tools such as create_smart_bin or other bin-management tools, so sibling differentiation is absent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, no alternatives, and no exclusions. It only implies that it is for creating bins, without mentioning when to prefer it over create_smart_bin or other project-structure tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_caption_trackCreate Caption TrackA
Import an already reviewed caption artifact into the active sequence, or create a local lecture-caption timing and review workflow plan. Import reports structural success only when the host exposes a caption-track readback; the planning action never contacts Premiere or changes an artifact.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Use import (the default) to create a Premiere caption track, or plan_lecture_workflow for a read-only SRT/VTT timing and review plan. | import |
| item_id | No | For action import, the node ID or name of the imported caption project item (for example, an SRT file). Omit for plan_lecture_workflow. | |
| start_seconds | No | For action import, offset in seconds from the start of the sequence (default: 0). | |
| caption_format | No | For action import, Premiere caption format: subtitle (default), 608, 708, teletext, ebu, op42, or op47. | |
| artifact_format | No | For plan_lecture_workflow, the syntax of caption_content. VTT content must include its WEBVTT header. | |
| caption_content | No | For plan_lecture_workflow, the caller-owned SRT or VTT content to parse locally. The returned plan contains no caption text and does not write this artifact. | |
| observed_offset_seconds | No | For plan_lecture_workflow, an editor-observed constant offset in seconds. Positive means captions currently appear later than intended; the preview proposes the inverse shift when safe. | |
| target_duration_seconds | No | For plan_lecture_workflow, optional intended sequence duration. A mismatch requires review unless proportional scaling is explicitly authorized. | |
| timing_tolerance_seconds | No | For plan_lecture_workflow, tolerance used to classify an offset or duration mismatch (default: 0.25 seconds). | |
| allow_proportional_scaling | No | For plan_lecture_workflow, explicitly permit a bounded timing-scale preview when the artifact end does not match target_duration_seconds. This still never rewrites a caption artifact. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, but not which action mutates. The description adds real value by disclosing that import reports structural success only when the host exposes a caption-track readback, and that plan_lecture_workflow never contacts Premiere or changes an artifact. This per-action behavioral split is not derivable from the tool-level annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the dual purpose and followed by the behavioral caveat. Every clause carries information, though the second sentence is somewhat long and packs two distinct behavioral points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a 10-parameter tool with no required params, the description covers both modes, their side-effect profiles, and the success semantics of import. It stops short of explaining how the plan output should be reviewed, but the core is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter, including the two enums, is documented in the schema itself. The description adds no syntax or format detail beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states two specific verbs and resources: importing a reviewed caption artifact into the active sequence, and creating a local lecture-caption timing/review plan. That is clear and far from a restatement of the name. It falls short of 5 because it never names or distinguishes against caption siblings like build_caption_artifact or read_sequence_captions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'already reviewed caption artifact' implies a prerequisite for the import path, and the two actions imply their own use contexts. However, there is no explicit when-to-use versus build_caption_artifact or read_sequence_captions, and no stated exclusions, so the routing guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_context_edit_planCreate Context Edit PlanARead-onlyIdempotent
Create a non-mutating, evidence-backed edit-plan scaffold from indexed Premiere context. It returns ranked source/time candidates and stale-state guards; the model must review them and use preview_edit_plan before any mutation.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | Yes | Editing goal, such as finding the strongest budget explanation for a rough cut | |
| strategy | No | Planning mode; default rough_cut | |
| project_id | Yes | Project context ID returned by manage_project_context capture | |
| sequence_id | No | Optional exact sequence ID filter | |
| max_candidates | No | Maximum 25; default 8 |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful context beyond those fields: it is evidence-backed, returns ranked source/time candidates, and includes stale-state guards that require review before mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences are used with no waste. The core purpose is front-loaded, and the preview-before-mutation constraint is included immediately afterward.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, complete parameter descriptions, and an output schema, the description only needs to orient the agent. It adequately explains the non-mutating planning role, the review requirement, and the preview step, though it could more explicitly distinguish this tool from create_editorial_plan.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the schema. The description does not add parameter syntax, defaults, or filtering semantics beyond what the schema provides, making the baseline score appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: create a non-mutating edit-plan scaffold from indexed Premiere context. It also distinguishes this planning step from the later mutation path by naming preview_edit_plan, so an agent can identify its role 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It says the returned candidates must be reviewed and that preview_edit_plan must be used before any mutation, which gives clear sequencing guidance. It does not explicitly name when to use create_editorial_plan or other planning siblings instead, so it falls short of exhaustive when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_editorial_context_packCreate Editorial Context PackARead-onlyIdempotent
Create a compact Markdown reading view from already captured local transcript, shot, audio, note, source, or timeline context. It returns stable evidence IDs and context revisions for review, never calls an AI/provider or Premiere, and cannot change the project.
| Name | Required | Description | Default |
|---|---|---|---|
| kinds | No | Optional context-kind filter. Omit to retrieve all matching local evidence. | |
| intent | Yes | The editorial question used to retrieve and compact local evidence. | |
| project_id | Yes | Project context ID returned by manage_project_context capture. | |
| max_entries | No | Maximum matching evidence entries to include. | |
| sequence_id | No | Optional exact sequence ID filter. | |
| max_characters | No | Strict maximum length of the Markdown reading view. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is largely covered. The description still adds genuinely new context: it never calls an AI/provider or Premiere, and it returns stable evidence IDs and context revisions for downstream review — information annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the primary action and scope, followed by the crucial non-invocation guarantee. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, idempotent tool with full schema coverage and an output schema, the description supplies the missing pieces: the source prerequisite and the no-external-call guarantee. Minor omission is any pointer to alternatives, but nothing critical for correct invocation is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameter documentation is already complete; the description only echoes the kind list. Baseline 3 is appropriate since the description adds little beyond the schema for the six parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and artifact ('Create a compact Markdown reading view') plus the exact source material (transcript, shot, audio, note, source, timeline context). An agent can distinguish this from search_project_context or create_context_edit_plan 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'from already captured local context' implies the prerequisite that context must first be captured (via manage_project_context), which is useful. However, it never states when to prefer this over siblings like search_project_context or preview_editorial_plan, 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.
create_editorial_planCreate Editorial PlanARead-onlyIdempotent
Create a local, evidence-backed editorial workflow plan from captured project context. It never calls an LLM, uploads media, or changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | Yes | The editorial goal used to retrieve relevant local evidence. | |
| workflow | Yes | The workflow to plan. Every workflow remains review-only. | |
| project_id | Yes | Project context ID returned by manage_project_context capture. | |
| sequence_id | No | Optional exact sequence ID filter for evidence retrieval. | |
| max_candidates | No | Maximum evidence candidates to include; defaults to 8. | |
| platform_targets | No | Required only for platform_cutdown. These are proposed derivative sequence dimensions; this tool does not create or reframe a sequence. | |
| organization_rules | No | Required only for organize. Rules are supplied by the editor or MCP client; the server does not infer categories from filenames alone. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states 'It never calls an LLM, uploads media, or changes Premiere,' which adds meaningful behavioral context beyond the readOnlyHint/openWorldHint annotations. This clarifies data locality and side-effect boundaries. It could mention whether the plan is persisted or returned only, but the coverage is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main action and immediately followed by critical behavioral constraints. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema and 100% schema coverage, the description covers the essential purpose and behavioral limits. It is nearly complete, though explicit guidance on when to use it versus preview_editorial_plan would make it fully self-contained for an agent navigating a large sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameter semantics are largely handled by the schema descriptions. The description adds useful framing that the plan is 'evidence-backed' and 'from captured project context', which ties the project_id and intent parameters together conceptually. It doesn't add new param-level detail beyond the schema, so it stays at 4 rather than 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Create a local, evidence-backed editorial workflow plan'. It adds meaningful scope qualifiers (local, evidence-backed, from captured project context). It doesn't explicitly distinguish itself from the close siblings preview_editorial_plan or create_context_edit_plan, which leaves some ambiguity about when this differs from previewing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what it does but not when to use it versus alternatives like preview_editorial_plan or create_context_edit_plan. No exclusions, prerequisites (beyond schema references to manage_project_context), or conditions are given. An agent has to infer usage from the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_mogrt_batchCreate Mogrt BatchA
Create the exact MOGRT recipes from a one-time batch preview. Requires explicit export confirmation and stops on the first After Effects failure without claiming rollback.
| Name | Required | Description | Default |
|---|---|---|---|
| preview_token | Yes | One-time token returned by preview_mogrt_batch. | |
| confirm_export | Yes | Must be true to request every planned export. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond annotations to disclose important failure semantics: it stops on the first After Effects failure and does not claim rollback, which warns the agent about partial completion. Annotations cover safety profile (readOnly=false, idempotent=false), so this is meaningful added context, though it omits specifics like rate limits or what artifacts remain after a failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler; the action is front-loaded and the constraints follow.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values needn't be described, and the description supplies the confirmation requirement and failure behavior. It is essentially complete for a two-param tool, though it could note what happens to already-created recipes on failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (preview_token, confirm_export) are already documented in the schema; the description only alludes to them ('one-time batch preview,' 'explicit export confirmation'). Baseline 3 is appropriate since the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create') and resource ('MOGRT recipes') and ties it to 'a one-time batch preview,' which distinguishes it from the sibling preview_mogrt_batch without the agent needing to open either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Makes the precondition explicit ('Requires explicit export confirmation') and implies it follows preview_mogrt_batch, but never names the alternative or states when not to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_mogrt_recipeCreate Mogrt RecipeA
Create exactly one previewed MOGRT recipe in a saved After Effects project inside the approved workspace. Requires explicit export confirmation; it never creates projects or output folders.
| Name | Required | Description | Default |
|---|---|---|---|
| preview_token | Yes | One-time token returned by preview_mogrt_recipe; it expires after 10 minutes. | |
| confirm_export | Yes | Must be true to save the open AE project and request the planned .mogrt export. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already declaring the write/non-idempotent/non-destructive/non-open-world profile, the description adds useful constraints beyond them: it won't create projects or output folders and it lands in a saved project inside an approved workspace. It does not restate idempotency or describe failure/side effects on the AE project, so not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core operation front-loaded and the confirmation constraint plus scope limitations following. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations carry the safety profile. The description supplies preconditions and scope limits, making it adequate for a mutating tool; only the linkage to the preview/token-producing sibling is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (preview_token, confirm_export) are fully documented in the schema. The description only echoes the confirmation requirement, adding no syntax or format detail beyond what the schema already provides; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create exactly one previewed MOGRT recipe') plus the target environment (saved AE project in the approved workspace). The word 'exactly one' cleanly differentiates it from the sibling create_mogrt_batch, and 'recipe' from preview_mogrt_recipe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear precondition ('Requires explicit export confirmation') and an explicit negative ('it never creates projects or output folders'). It implies but does not name the prerequisite sibling preview_mogrt_recipe that issues the token, so it falls short of full when/when-not/alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectCreate ProjectC
Create a new Premiere Pro project at the specified path
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Full file path for the new .prproj file |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, giving the safety profile. The description adds nothing beyond 'at the specified path,' which is already in the schema. No details on overwrite behavior, error conditions, or whether existing files are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with no wasted words. However, it is so minimal that it does not front-load any additional useful context, which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter create tool with an output schema and clear annotations, the description is adequate but incomplete. It omits any mention of failure modes (e.g., path already exists) or relationship to project saving/opening, which an agent might need for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the parameter 'path' is fully described in the schema as the full file path for the new .prproj file. The description merely restates this without adding format or constraint details, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create') and resource ('a new Premiere Pro project') with the path parameter. It clearly conveys the action, though it does not explicitly differentiate itself from siblings like create_project_backup or open_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no guidance on when to use this tool versus alternatives such as open_project or save_project_as. It only describes what the tool does, not when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_project_backupCreate Project BackupA
Create a collision-safe, byte-verified backup beside an existing .prproj file without opening or modifying the source project.
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Absolute or working-directory-relative path to an existing .prproj file |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that the tool writes but is not destructive, and the description adds meaningful behavioral details: backup is 'collision-safe' and 'byte-verified,' and the source project is neither opened nor modified. These details go beyond the annotations, though no auth requirements or output naming conventions are mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. Every clause (collision-safe, byte-verified, no source modification) earns its place by adding a distinct constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For a one-parameter tool with clear annotations, the description is largely complete, though it could specify the backup file naming or exact location ('beside' is slightly vague).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes project_path as a path to an existing .prproj file. The description implies the path points to a project but adds no syntax, format, or constraint details beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Create a ... backup'), and the scope is precise ('beside an existing .prproj file without opening or modifying the source project'). It distinguishes this tool from save_project/save_project_as siblings by explicitly ruling out opening or modifying the source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when this tool is useful (creating a safe backup of an existing project file), but it does not explicitly name alternatives such as save_project_as or export_as_project. Usage is implied rather than contrasted against siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sequenceCreate SequenceC
Create a new sequence in the project
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the new sequence | |
| preset_path | No | Optional path to a sequence preset file (.sqpreset). If omitted, a default preset is discovered from the Premiere installation (override with PREMIERE_DEFAULT_SEQUENCE_PRESET). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description need not restate it. It adds nothing beyond them: no note on whether the new sequence becomes the active sequence, where it is placed, or what happens to the default preset discovery step.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, appropriately front-loaded. It is efficient but borders on under-specified rather than genuinely concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a mutation that has an output schema (so return values need not be explained), but the description omits key context an agent needs: relationship to the preset-based and clip-based creation siblings, and whether the created sequence becomes active.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both name and preset_path are fully documented in the schema; baseline 3 applies. The description adds no additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource (create a sequence in the project), so the basic action is unambiguous. However, it does not distinguish itself from very close siblings such as create_sequence_from_preset (which this tool overlaps with via the preset_path parameter) or create_sequence_from_clips, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives despite many sibling sequence-creation tools. The agent must guess whether to use this versus create_sequence_from_preset or create_sequence_from_clips.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sequence_checkpointCreate Sequence CheckpointA
Clone a sequence into a named '[checkpoint]' copy before a risky edit and return a diff_sequence_snapshots-compatible snapshot of the original. Verifies the clone exists with matching track and clip counts, re-activates the original, and never deletes or overwrites anything.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Short label for the checkpoint (default 'checkpoint'). | |
| sequence_id | No | Sequence ID or name to checkpoint. Defaults to the active sequence. | |
| include_snapshot | No | Return the original sequence's structural snapshot for later diff_sequence_snapshots calls (default true). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare non-destructive/not-idempotent; the description adds real behavioral context beyond that — verification of the clone's track and clip counts, re-activation of the original, and an explicit 'never deletes or overwrites' guarantee. It does not, however, mention permissions or failure handling, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action and followed by the guarantee and side-effect details. No filler or restatement of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description correctly focuses on behavior rather than return fields, and it explains the snapshot's downstream use. A brief note on failure modes or the meaning of a non-idempotent checkpoint would complete it, but nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so label, sequence_id, and include_snapshot are already fully documented in the schema. The description adds the '[checkpoint]' naming convention and the snapshot's purpose, but nothing about parameter syntax or defaults beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (clone a sequence into a checkpoint copy) and further specifies the distinctive behavior: a named '[checkpoint]' copy plus a diff_sequence_snapshots-compatible snapshot. This distinguishes it from the sibling duplicate_sequence, which clones but does not produce a checkpoint snapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear when-to-use trigger ('before a risky edit') and names the downstream consumer (diff_sequence_snapshots) for the returned snapshot. It lacks an explicit contrast with duplicate_sequence or create_project_backup, so the alternative condition is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sequence_from_clipsCreate Sequence From ClipsB
Create a new sequence by automatically placing project items in order
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the new sequence | |
| item_ids | Yes | Array of project item names or node IDs to include in order |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds the ordering behavior ('in order'), which is useful context, but says nothing about what happens to existing sequences, error conditions, or ordering semantics. With annotations carrying the safety burden, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with no waste and the core action front-loaded. It is arguably too terse to earn a 5 given the competitive sibling set, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and both parameters are fully documented. However, for a mutation/creation tool against a large sibling set of sequence-creation tools, the description does not supply enough routing or behavioral context to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are documented by the schema; the baseline is 3. The phrase 'placing project items in order' loosely conveys that item_ids order is significant, but adds no syntax or format detail beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Create a new sequence') plus the mechanism ('automatically placing project items in order'), which is clearer than a bare tautology. It does not, however, distinguish itself from close siblings like create_sequence, create_sequence_from_preset, or create_subsequence, which an agent must disambiguate between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 mention of alternatives such as create_sequence or create_sequence_from_preset, leaving the agent to infer selection from the name alone. The only implicit signal is 'from clips', which is unstated as a routing condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sequence_from_presetCreate Sequence From PresetA
EXPERIMENTAL (undocumented QE DOM): create a new sequence from a specific preset file (.sqpreset) using qe.project.newSequence. Reports success only after a new sequence ID appears in the project collection; a same-name sequence that was already active is not treated as created.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the new sequence | |
| preset_path | Yes | Full path to the .sqpreset file |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the bar is lower. The description goes well beyond them by disclosing that this rides on an undocumented QE DOM API and, importantly, by defining exactly what counts as success (a new sequence ID must appear; a pre-existing same-name active sequence does not count). That success-semantics detail is genuinely non-obvious behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact, front-loaded with the EXPERIMENTAL warning so an agent reads the risk first, then the success criterion. Every sentence carries information; only mild concern is that the caveat sentence is somewhat dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, and the description usefully documents the experimental nature and success semantics anyway. The one real gap is the absence of routing to the plain create_sequence/create_sequence_from_clips siblings, which matters given how many sequence-creation tools exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema. The description only echoes that preset_path is a .sqpreset file and adds no format, constraint, or edge-case detail beyond that, matching the baseline for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('create a new sequence from a specific preset file (.sqpreset)') and even names the underlying API call (qe.project.newSequence). However, it does not explicitly contrast with close siblings like create_sequence or create_sequence_from_clips, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description flags the tool as EXPERIMENTAL and undocumented, but gives no when-to-use guidance and never names an alternative (create_sequence, create_sequence_from_clips) or the condition that would select this over them. This is a caution, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_smart_binCreate Smart BinA
Create a smart bin (search bin) in the project panel
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the smart bin | |
| query | Yes | Search query for the smart bin |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a non-read-only, non-destructive, non-idempotent, closed-world operation. The description adds the useful scope detail that the bin is created in the project panel, but does not describe duplicate-name behavior, permissions, or side effects beyond the annotation profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no waste, front-loading the action and resource. It is appropriately sized for a simple two-parameter creation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and location, and the output schema handles return values, while annotations cover safety. However, it omits practical context such as when a smart bin is preferable to a regular bin and how name collisions or query behavior are handled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters ('name' and 'query') are already documented in the schema. The description adds no additional parameter meaning or formatting guidance, making the schema the sole source of parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Create a smart bin'), clarifies the synonym ('search bin'), and states the location ('project panel'). It clearly distinguishes this from the sibling 'create_bin' by specifying a smart/search bin.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, no conditions for choosing this over 'create_bin' or search tools, and no prerequisites. Usage is only implied by the tool name and short description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_subclipCreate SubclipB
Create a subclip from a project item with in/out points
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the subclip | |
| item_id | Yes | Node ID or name of the source project item | |
| in_seconds | Yes | In-point in seconds | |
| out_seconds | Yes | Out-point in seconds |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose mutation safety traits: readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=false. The description adds that the source is a project item and that in/out points are used, but does not describe side effects, permissions, or whether the source item is modified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It communicates the core operation efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full schema, annotations, and an output schema, the description covers the basic operation adequately. However, for a creation tool surrounded by many editing siblings, it omits usage context, prerequisites, and differentiation from related tools such as create_subsequence or split_clip.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented in the schema. The description mentions in/out points and the project item source, but adds no unit, format, or constraint details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: "Create a subclip" from a project item with in/out points. This is clear enough for an agent to understand the operation, but it does not distinguish the tool from nearby siblings such as create_subsequence, split_clip, or set_item_in_out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives. It merely restates the action and required inputs, leaving the agent to infer appropriate scenarios from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_subsequenceCreate SubsequenceA
Create a separate subsequence from selected clips or a time range. This Premiere API does not replace the original timeline clips with a nested-sequence reference.
| Name | Required | Description | Default |
|---|---|---|---|
| ignore_track_targeting | No | Whether to ignore track targeting (default: false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond annotations by stating that the original timeline clips are not replaced with a nested-sequence reference, which clarifies the mutation's effect on the existing timeline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted wording. The primary purpose is front-loaded, and the second sentence reveals the key behavioral distinction immediately after.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter creation tool with annotations and an output schema, the description is largely complete: it states what is created, from what input, and one important non-replacement behavior. It could be slightly more complete by noting prerequisites such as an active sequence or selected clips, but the missing information is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the only parameter (ignore_track_targeting) is fully documented in the schema. The description does not add any meaning about that parameter, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Create a separate subsequence') and clarifies the source scope ('from selected clips or a time range'). The second sentence further distinguishes the operation from nested-sequence replacement behavior, helping separate it from siblings such as nest_clips or unnest_sequence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives implied usage context by naming the possible inputs (selected clips or a time range) and contrasting the result with nested-sequence replacement. However, it does not explicitly state when to use this tool versus create_sequence, duplicate_sequence, nest_clips, or other related siblings, nor does it mention prerequisites such as needing an active sequence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
crop_clipCrop ClipA
Apply or update Premiere's Crop effect on one video clip and read back every requested value. Adding Crop uses the legacy QE catalog only when the clip does not already contain it.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Percent cropped from the top edge. | |
| left | No | Percent cropped from the left edge. | |
| zoom | No | Whether Crop should scale the remaining image to fill the frame. | |
| right | No | Percent cropped from the right edge. | |
| bottom | No | Percent cropped from the bottom edge. | |
| node_id | Yes | Timeline video-clip node ID. | |
| edge_feather | No | Crop edge feather percentage. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-destructive and non-idempotent behavior. The description adds useful context beyond annotations by noting that adding Crop uses the legacy QE catalog only when the clip does not already contain the effect, and that it reads back every requested value. It does not cover permissions or rate limits, but the extra implementation detail is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tightly written sentences with no filler. The core purpose is front-loaded, and the second sentence adds a specific behavioral nuance without bloating the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema and annotations covering safety, the description provides enough to call the tool correctly. It explains the main action and a key conditional for adding the effect, though it could add more about prerequisites or how it differs from generic effect tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters are already documented. The description adds no parameter-level syntax or format details beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (apply or update) and resource (Premiere's Crop effect) on a clearly scoped object (one video clip). It is distinguishable from generic effect siblings like apply_effect or set_clip_properties because it names the exact effect and the read-back behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it by naming the Crop effect and one video clip, but it does not explicitly state when to prefer this over siblings such as apply_effect, batch_apply_effect, or set_clip_properties. No when-not conditions or alternatives are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_binDelete BinBDestructive
Delete a bin (folder) from the project panel
| Name | Required | Description | Default |
|---|---|---|---|
| bin_id | Yes | Name or node ID of the bin to delete |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is fully covered by structured data. The description confirms the action is scoped to project panel bins but adds nothing about what happens to the bin's contents, whether the delete is reversible, or confirmation requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, ideal for a one-parameter operation. It is on the terse side but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a destructive operation surrounded by similar deletion siblings, the description omits disambiguation and any warning about losing bin contents, leaving an agent with a minimal but functional picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the bin_id parameter is already documented as accepting a name or node ID. The description adds no additional syntax, format, or lookup guidance beyond what the schema provides, making this the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Delete a bin (folder) from the project panel' — and clarifies that a bin is a folder and where it lives. It does not distinguish itself from close siblings like delete_project_item, delete_multiple_project_items, or delete_sequence, so an agent cannot route between them from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no reference to alternative deletion tools such as delete_project_item, which also removes project panel items. The agent gets the action but no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_markerDelete MarkerBDestructive
Delete a marker at a specific time position. EXPERIMENTAL (QE DOM): the receipt reports undoStackIndex movement, which does not prove QE can reverse the marker. Every marker attempt protects an engine undo boundary; undoTracked:false means the marker did not observably advance the QE index.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | No | Optional clip node ID (deletes from sequence if omitted). Premiere 25.2.3 timeline clips have no marker collection, so this refuses there. | |
| time_seconds | Yes | Time position of the marker to delete |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=false, but the description goes further by disclosing the EXPERIMENTAL QE DOM caveat, the undoStackIndex receipt semantics, the undo-boundary protection, and the meaning of undoTracked:false. This is real behavioral context beyond structured fields, though the jargon makes it harder than it should be to extract.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is front-loaded and efficient, but the remaining sentences are dense, jargon-laden run-ons ('undoStackIndex movement... does not prove QE can reverse the marker') that take effort to parse. The caveat is worth including, but it is not structured for quick scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the annotations cover the destructive safety profile. The description supplies the critical experimental/reversibility caveat, so only the absence of alternative-tool routing keeps it from being complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents node_id and time_seconds (including the sequence-vs-clip fallback behavior). The description adds no parameter-level detail of its own, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb and resource ('Delete a marker') plus the scope ('at a specific time position'), which cleanly separates it from add_marker, update_marker and list_markers. It stops short of naming those siblings explicitly, so it is clear but not fully differentiated in-text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 is given; the description never mentions the sibling marker tools or the conditions that select delete over update/add. The only routing hint (sequence vs clip) lives in the schema's node_id description, not the tool description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_multiple_project_itemsDelete Multiple Project ItemsADestructive
Delete several project items (bins, sequences, clips or files) and read back that each is gone. Every item is checked before any is deleted. organize_project_items_uxp with action 'remove' (authenticated UXP bridge) is the preferred, documented route; this CEP fallback deletes clips and files through a temporary bin, which cannot be undone here. Items (or bins whose contents are) used on a timeline are refused unless confirm_remove_from_sequences is true.
| Name | Required | Description | Default |
|---|---|---|---|
| item_ids | Yes | Array of node IDs or names of items to delete | |
| confirm_remove_from_sequences | No | Delete even when an item (or something inside a bin) is used in a sequence, which also removes those timeline clips (default: false). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, it discloses that every item is validated before any deletion (atomic pre-check), that deletion goes through a temporary bin, that it cannot be undone here, and that timeline-used items are refused unless confirmed. That is exactly the operational context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences with no filler: scope, atomicity, routing/fallback, and the refusal rule are each front-loaded in order of decision relevance. Nothing repeats the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive batch tool with a pre-validation pass, an irreversible-in-place fallback path, and an existing output schema, the description covers everything the agent needs to call it safely and correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so both parameters are documented in the schema. The description still adds value by stating the confirm flag's real effect (overrides the timeline-usage refusal) rather than just restating the default:false note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (delete) with the exact resource types (bins, sequences, clips, files) and its scope (multiple, not single). It also distinguishes itself from sibling delete_project_item and delete_bin by naming the items it covers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: organize_project_items_uxp with action 'remove' is the preferred documented route, this CEP call is the fallback. It also states the condition under which items are refused and what flag overrides that refusal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_preview_filesDelete Preview FilesBDestructive
Delete all preview/render cache files for the project. Uses QE DOM.
| Name | Required | Description | Default |
|---|---|---|---|
| media_type | No | Type of preview files to delete: 'video', 'audio', or 'all' (default: 'all') |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, non-idempotent, and closed-world, so the safety profile is covered. The description adds the project-level scope and the 'Uses QE DOM' implementation note, but omits whether deletions are reversible, whether previews regenerate, or whether the project must be saved first.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and scope, with no filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the destructive profile. However, for an irreversible cache wipe the description adds no cautionary context about consequences or recovery, leaving a gap relative to the action's risk.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single media_type parameter with its video/audio/all options is fully documented in the schema. The description says 'all preview files', which does not mention the media-type filter at all, but the schema carries that meaning, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Delete') and resource ('preview/render cache files') scoped to the project, distinguishing it from siblings like delete_bin, delete_sequence, and delete_project_item. Clear, though it does not explicitly name an alternative or contrast tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus other cleanup tools, no prerequisites, and no warning about consequences. The agent must infer that this is a cache-clearing maintenance operation rather than editorial content deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_project_itemDelete Project ItemADestructive
Delete a project item (bin, sequence, clip or file) from the project panel and read back that it is gone. organize_project_items_uxp with action 'remove' (authenticated UXP bridge) is the preferred, documented route. This CEP fallback deletes a clip or file by moving it into a temporary bin and deleting that bin, which cannot be undone here. Deleting media also removes its clips from every sequence, so an item (or a bin whose contents are) used on a timeline is refused unless confirm_remove_from_sequences is true.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item to delete | |
| confirm_remove_from_sequences | No | Delete even when the item (or something inside the bin) is used in a sequence, which also removes those timeline clips (default: false). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the destructiveHint=true annotation by disclosing the actual mechanism (moves item into a temp bin and deletes the bin), that it is irreversible here, and the cascading side effect that deleting media removes its clips from every sequence. These are exactly the operational risks an agent must know before invoking a destructive tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, all load-bearing: scope, preferred alternative, mechanism/irreversibility, and side effects. Information is front-loaded with the primary action first, though the middle sentences are tightly packed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description still notes it 'read[s] back that it is gone'. For a destructive two-parameter tool, the alternative routing, irreversibility, and side-effect disclosure make it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds real semantics for confirm_remove_from_sequences by explaining the timeline-usage refusal it overrides and by noting it applies when something inside a bin is used. Slight extra value over the schema's own wording.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete a project item') and enumerates the item kinds (bin, sequence, clip, file) so the scope is unambiguous. It also distinguishes itself from the sibling route organize_project_items_uxp, which an agent can select 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the preferred alternative (organize_project_items_uxp with action 'remove') and frames this tool as the CEP fallback, so the when-to-use-this-vs-that decision is stated rather than inferred. It also states the refusal condition tied to confirm_remove_from_sequences.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_sequenceDelete SequenceBDestructive
Delete a sequence from the project
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | Yes | Sequence name or ID to delete |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=false, so the safety profile is covered. The description merely restates the operation and does not add what gets destroyed, whether deletion is permanent, or whether dependent items are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the action and scope front-loaded. There is no wasted text or ambiguity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter destructive tool with an output schema and annotations covering safety, the description is minimally adequate. However, it omits when to choose this over close_sequence or delete_project_item and does not warn about permanence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter is fully documented in the schema (sequence name or ID). The description adds no extra syntax or format detail beyond the schema, so the baseline of 3 applies given 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (delete) plus resource (sequence) and scope (from the project). This clearly distinguishes it from sibling operations such as set_sequence_settings, duplicate_sequence, or close_sequence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no alternatives such as close_sequence or delete_project_item. An agent must infer usage entirely from the name and annotations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_trackDelete TrackADestructive
EXPERIMENTAL (undocumented QE DOM: removeVideoTrack/removeAudioTrack). Delete a video or audio track from the active sequence through QE and verify that exactly that track was removed (the remaining tracks keep their clips, custom names and lock/mute state in order). Refuses a track that still holds clips unless force is true.
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Also delete a track that holds clips, removing those clips (default: false) | |
| track_type | Yes | Type of track to delete | |
| track_index | Yes | Index of the track to delete (0-based) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, but the description adds critical context beyond them: the tool is EXPERIMENTAL, relies on undocumented QE DOM calls, verifies the exact track removal, preserves remaining tracks' clips/names/lock/mute state, and refuses clip-bearing tracks unless force is true. This is unusually rich behavioral disclosure for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the experimental warning, then the core action and verification, then the force condition. Every phrase earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description covers the experimental nature, verification guarantee, side effects on remaining tracks, and the force option. Nothing an agent needs to call this destructive tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description restates the force behavior ('Refuses a track that still holds clips unless force is true') which is already well covered by the schema's force description ('Also delete a track that holds clips, removing those clips'). No additional meaning is added for track_type or track_index.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete a video or audio track from the active sequence') and adds implementation detail ('through QE'). Distinguishes itself from siblings like add_track and remove_from_timeline by targeting a whole track, not clips or sequences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear when-not condition: it refuses a track that still holds clips unless force is true. It does not explicitly name alternatives (e.g., remove_from_timeline for clips vs. delete_track), but the context is sufficient to route correctly for most cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deselect_all_clipsDeselect All ClipsA
Deselect all clips in the active sequence.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=false, destructiveHint=false, openWorldHint=false, and idempotentHint=false. The description adds the 'active sequence' scope, which is useful context beyond the annotations, but it does not explain that only the selection state is affected and media is untouched. With annotations carrying the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no wasted words, front-loading the verb and resource. It is exactly as long as the task requires.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema and explicit annotations, so the description need not explain return values or safety. It is nearly complete for a simple state-clearing operation, though it could mention that an active sequence must exist. The remaining gap is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The description adds no parameter meaning, but none is needed because the schema is an empty object.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Deselect') and resource ('all clips in the active sequence'), clearly distinguishing this tool from siblings such as select_all_clips, select_clips_in_range, and set_clip_selection. An agent can identify the exact operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no mention of alternatives or exclusions, and no prerequisites. The usage is implied only by the verb itself, which is not enough for a high score in a crowded sibling set of selection tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detach_proxyDetach ProxyB
Detach/remove the proxy from a project item
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description usefully narrows the target to 'a project item'. However, it does not say what happens to the underlying proxy media, what occurs if no proxy is attached, or whether re-attachment is possible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, front-loaded with the action. It is efficient, though its brevity borders on under-specification rather than true conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the one parameter is fully documented. Still, for a mutation of proxy state the description leaves the post-condition unexplained, which is a meaningful gap for an agent deciding whether to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and the schema already documents it at 100% coverage ('Node ID or name of the project item'). The description adds no format, identifier, or scope detail beyond what the schema supplies, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair ('Detach/remove') and a specific resource ('proxy from a project item'), so an agent knows exactly what operation is performed. It does not distinguish itself from proxy-related siblings such as manage_proxies or has_proxy, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives like manage_proxies. The agent must infer that this is the inverse of attaching a proxy simply from the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_active_picture_boundsDetect Active Picture BoundsA
Detect the most frequent active-picture crop rectangle in decoded video, exposing probable letterbox or pillarbox bars without modifying the source.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Cropdetect black threshold from 0 through 255 (default: 24) | |
| media_path | Yes | Existing local video file | |
| sample_seconds | No | Decode sample duration from 1 through 300 seconds (default: 30) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations give a partial safety profile (destructiveHint=false, openWorldHint=false), and the description adds that decoding samples occur and that the source is left untouched. It still does not explain why readOnlyHint=false for a purely analytical probe, nor any cost/time implications of decoding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the operation, the artifact detected, and the non-destructive guarantee with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and all three parameters are documented in the schema. Adequate for this read-oriented probe, though the absence of guidance on when to reach for it versus crop_clip or scope-reading tools leaves a small gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (limit, media_path, sample_seconds all documented inline), so the schema carries the parameter burden. The description adds no format, default, or constraint detail beyond it — baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('detect') plus a precise resource ('the most frequent active-picture crop rectangle ... probable letterbox or pillarbox bars'). This clearly separates it from mutation siblings such as crop_clip by stating it only measures, not changes, the material.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the letterbox/pillarbox framing and 'without modifying the source' hint it is a diagnostic step preceding a crop. There is no explicit when-to-use, when-not, or named alternative (e.g., read_video_scopes, crop_clip).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_audio_transientsDetect Audio TransientsA
Find probable beat or edit-point transients from decoded audio peaks. Returns candidates for editorial review; it does not claim musical beat-grid accuracy or change a timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| media_path | Yes | Existing local audio or video file | |
| maximum_events | No | Maximum returned candidates from 1 through 1000 (default: 200) | |
| threshold_dbfs | No | Minimum transient peak from -60 through 0 dBFS (default: -12) | |
| minimum_interval_seconds | No | Minimum spacing from 0.05 through 10 seconds (default: 0.25) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real context beyond the annotations: the results are approximate candidates, not authoritative beats, and the tool does not modify a timeline. Slightly weakened by the tension with readOnlyHint=false, which hints it may still write state (e.g., caches) even though the description emphasizes non-mutation — but this is not a flat contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, no filler, with the core action front-loaded and the caveats (probabilistic output, no timeline mutation) immediately after. Nothing is redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the schema covers all four parameters. The description supplies scope and non-mutation guarantees, leaving only minor gaps such as whether results are deterministic or how they should be reviewed downstream.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so media_path, maximum_events, threshold_dbfs and minimum_interval_seconds are already fully documented with ranges and defaults. The description adds no parameter-level detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('find probable beat or edit-point transients from decoded audio peaks') with the mechanism named. It also distinguishes itself from sibling detectors like detect_beats by explicitly disclaiming musical beat-grid accuracy, so an agent can tell them apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It frames the output as 'candidates for editorial review' and rules out musical beat-grid use, implicitly routing that need to detect_beats. However, it never explicitly names an alternative tool or states the conditions under which this should be preferred over detect_beats or detect_silence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_beatsDetect BeatsA
Estimate a steady beat grid from a local audio or video file without changing Premiere. FFmpeg decodes at most 30 minutes to a bounded mono analysis stream; local onset autocorrelation returns BPM, phase-aligned beat times, confidence, and half/double-time alternatives.
| Name | Required | Description | Default |
|---|---|---|---|
| max_beats | No | Maximum beat times returned (default: 500). | |
| media_path | Yes | Absolute path to an existing local audio or video file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses that nothing in Premiere is modified, that decoding is capped at 30 minutes, that analysis runs on a bounded mono stream, and that results include confidence and half/double-time alternatives. Annotations only state readOnly/destructive/idempotent flags, so this added pipeline context is genuine value; the description's 'without changing Premiere' phrasing is slightly in tension with readOnlyHint=false, though it is scoped to project state rather than a claim of being globally side-effect free.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two front-loaded sentences with no filler; the purpose comes first and the implementation detail (FFmpeg, autocorrelation) is compressed into the second. The technical density of sentence two is justified by the trust and limit information it conveys, though it is heavier than strictly necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only analysis tool with a full output schema, the description covers scope, input constraints, and output character without redundantly explaining the return shape. It could go one step further by indicating how the result feeds downstream tools, but nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so the schema already carries media_path and max_beats semantics. The description adds only the implicit 'local file' framing, which the schema already states as an absolute path; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Estimate a steady beat grid from a local audio or video file') and pins the scope to an analysis-only operation. It is easily distinguished from neighbouring detection tools like detect_audio_transients and from downstream consumers such as plan_beat_montage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description (run this when you need a beat grid from a local file) and the 30-minute decode cap hints at its intended scale, but there is no explicit when-to-use/when-not guidance nor any routing to alternatives such as detect_audio_transients or plan_beat_montage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_motion_peaksDetect Motion PeaksC
Find probable high-motion moments in a bounded local video sample from decoded frame differences. Read-only editorial candidates; camera movement, flashes, cuts, and subject motion are not semantically distinguished.
| Name | Required | Description | Default |
|---|---|---|---|
| threshold | No | Minimum mean luma-frame difference from 0 through 255 (default: 12) | |
| media_path | Yes | Existing local video file | |
| maximum_events | No | Maximum returned candidates from 1 through 1000 (default: 200) | |
| sample_seconds | No | Decode duration from 1 through 300 seconds (default: 60) | |
| samples_per_second | No | Frame samples per second from 1 through 10 (default: 4) | |
| minimum_interval_seconds | No | Minimum peak spacing from 0.1 through 30 seconds (default: 1) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description calls the tool 'read-only' while annotations set readOnlyHint=false, a direct contradiction. This is a serious inconsistency that could mislead the agent about whether the operation mutates state; per rubric, score 1 and flag contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and followed by essential caveats. Every clause earns its place, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need not be explained. However, the description's 'read-only' claim conflicts with annotations, and it provides no routing among many similar detection/analysis siblings; the resulting ambiguity leaves it minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all six parameters. The description adds no parameter-specific detail beyond 'bounded local video sample,' which loosely relates to sample_seconds and media_path. Baseline 3 is appropriate when structured fields carry parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Find' and resource 'high-motion moments' with clear scope (bounded local video, decoded frame differences). It implicitly distinguishes itself from scene-edit detection by noting that flashes, cuts, and camera movement are not semantically separated, but it does not name a sibling alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not guidance, and no alternative tools are named. The limitation sentence informs behavior, not selection context, leaving the agent to infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_repeated_takesDetect Repeated TakesARead-onlyIdempotent
Detect repeated sentence takes (retakes) in a word timeline using token similarity within a time window, and plan removal of all but the kept take. Returns take groups, removal and keep ranges, and apply routes. Local-only; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| keep | No | Which take in each group to keep; defaults to last. | |
| min_words | No | Minimum tokens a sentence needs before it is compared; defaults to 4. | |
| frame_rate | No | Timebase used to snap ranges to whole frames; defaults to 30. | |
| max_groups | No | Maximum take groups to return; defaults to 64. | |
| handle_frames | No | Frames of handle left inside each removal so cuts are not tight; defaults to 1. | |
| word_timeline | Yes | Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them. | |
| max_gap_seconds | No | Only sentences starting within this many seconds of an earlier candidate are compared; defaults to 20. | |
| similarity_threshold | No | Token Jaccard/containment similarity needed to group two sentences; defaults to 0.8. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint=false, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful behavior beyond that: it is local-only and 'never changes Premiere', and it discloses the return shape (take groups, removal/keep ranges, apply routes) that implies a plan-then-apply workflow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action and mechanism, then output shape, then the safety caveat. No filler, though the return-values sentence is somewhat redundant given an output schema exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-param tool with a nested word-timeline object, an output schema, and full annotation coverage, the description supplies enough to call correctly: what it detects, that it is a non-mutating planner, and that an apply route is produced. Missing only explicit sibling routing, which is a minor gap given the distinct 'retake' concept.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 8 well-documented parameters including ranges and defaults, so the schema carries the semantics. The description only gestures at two concepts (token similarity, time window) that map to similarity_threshold and max_gap_seconds without adding syntax or defaults. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (detect) and resource (repeated sentence takes/retakes) plus the mechanism (token similarity within a time window) and the planning action (removal of all but the kept take). This clearly distinguishes it from siblings like detect_silence and detect_beats without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies context ('in a word timeline', 'plan removal') and clarifies the tool is a dry-run planner ('Local-only; never changes Premiere'), which signals it feeds an apply step. However, it never names an alternative or states explicit when-not-to-use conditions against siblings such as plan_filler_word_removal or detect_silence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_scene_editsDetect Scene EditsB
Safe scene-edit facade. It uses the authenticated Premiere UXP bridge when connected and explicitly confirmed; CEP fallback is intentionally withheld because synchronous scene detection can block the panel.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | How Premiere should materialize detected edits on the current native selection. | |
| operation_id | No | Optional idempotency key sent to the UXP bridge. | |
| confirm_non_undoable | Yes | Must be true because the host operation mutates the project and is not claimed undoable. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds genuine behavioral context beyond the annotations: it discloses the transport dependency (authenticated UXP bridge), that confirmation is required, and the rationale for withholding the CEP fallback. The non-undoable mutation is only conveyed via the schema, not the description, so it stops 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, and the core identity ('safe scene-edit facade') is front-loaded. Slightly wasteful use of space on transport justification rather than capability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the transport gating is covered. But for a 3-param mutating tool the description omits the precondition that a native sequence selection must exist and doesn't clarify how the three modes differ in effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter (mode, operation_id, confirm_non_undoable) is documented in the schema itself. The description adds no syntax or semantic detail about mode choices or the idempotency key, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It identifies the tool as a 'scene-edit facade' but never states the actual operation — detecting edits in the sequence and materializing them as cuts, markers, or subclips (that only surfaces in the mode enum). 'Facade' is architecture jargon rather than a verb+resource statement, so an agent learns little about what invoking it accomplishes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful conditional context (used when the UXP bridge is connected and confirmed; CEP fallback intentionally withheld), which implies usage constraints. However it never names or distinguishes the closely related siblings detect_source_scene_changes or scene_edit_detection, and no explicit when-to-use/when-not guidance is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_silenceDetect SilenceA
Find silent ranges in a media file and return both the silences and the complementary segments worth keeping. Analysis only — nothing in the project or on the timeline is modified. Requires ffmpeg on PATH: Premiere's scripting API exposes no audio-level or waveform data, so silence cannot be measured through the bridge.
| Name | Required | Description | Default |
|---|---|---|---|
| media_path | No | Absolute path to the media file to analyse. Provide this or project_item_id. | |
| project_item_id | No | Node ID or name of a project item whose media path is resolved through Premiere. Provide this or media_path. | |
| noise_threshold_db | No | Level at or below which audio counts as silence, in dBFS. Closer to 0 is more aggressive (default: -30). | |
| min_duration_seconds | No | Shortest run of silence to report, in seconds (default: 1.5). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds real context — analysis-only semantics, the ffmpeg dependency, and the rationale that Premiere's scripting API exposes no waveform data. However it asserts the tool modifies nothing, while annotations declare readOnlyHint=false and idempotentHint=false, so the agent receives conflicting signals about whether any state changes. The rationale for that mismatch (e.g. temp-file writes by ffmpeg) is not spelled out.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the outcome and scope, then the safety statement, then the dependency and its reason. Every sentence carries information, though the dependency clause is slightly dense and could be split for faster scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers scope, mutation safety, and environment prerequisites. The remaining gap is routing — it does not tell the agent which sibling to prefer for downstream silence handling — plus the unresolved tension with the readOnly annotation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter is documented with type, purpose, and default (noise_threshold_db -30 dBFS, min_duration_seconds 1.5s, and the media_path/project_item_id either-or). The description adds no parameter-level detail beyond that, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Find silent ranges in a media file') and goes further by declaring the dual return ('both the silences and the complementary segments worth keeping'). This cleanly separates it from planning-oriented siblings such as plan_silence_review_markers and plan_pause_tightening, which act on the timeline rather than the raw media file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly bounds the tool as read/analysis-only ('nothing in the project or on the timeline is modified') and states an environmental prerequisite ('Requires ffmpeg on PATH'), which tells the agent when the call will even succeed. It stops short of explicitly naming which sibling to use instead when the goal is marker placement or pause tightening, so the routing guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_source_scene_changesDetect Source Scene ChangesB
Detect probable visual cuts in a local source file using FFmpeg scene scores. Read-only and source-relative; it does not cut a Premiere timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| threshold | No | Scene-score threshold from 0.01 through 1 (default: 0.3) | |
| media_path | Yes | Path to an existing local video file | |
| maximum_events | No | Maximum returned changes (default: 500; maximum: 2000) | |
| minimum_interval_seconds | No | Keep only the strongest event within this interval (default: 0.25) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description asserts 'Read-only' while the annotations declare readOnlyHint=false, a direct contradiction about whether the tool mutates state. Because the description misstates the safety profile that annotations carry, it cannot be credited with behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero padding; the core action is front-loaded and the scoping clause follows immediately. Nothing needs trimming.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, mechanism, and operating scope, and an output schema exists so return values need no explanation. However, it omits any differentiation from the several scene/edit detection siblings and makes a safety claim that conflicts with the annotations, leaving meaningful gaps for an agent deciding between tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: threshold range/default, media_path requirement, maximum_events cap, and minimum_interval_seconds default are all documented in the schema. The description adds nothing beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (detect probable visual cuts) and the mechanism (FFmpeg scene scores) on a local source file. It is clear about what it operates on, but it does not differentiate itself from close siblings such as detect_scene_edits or scene_edit_detection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The clause 'source-relative; it does not cut a Premiere timeline' implies the intended operating context (a source file rather than a timeline), which is useful negative guidance. However, there is no explicit when-to-use rule versus the similar scene/edit-detection siblings, leaving the choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diff_sequence_snapshotsDiff Sequence SnapshotsARead-onlyIdempotent
Diff two sequence snapshots (from get_sequence_structure or inspect_sequence_structure_uxp) into added, removed, moved, trimmed, retimed, enabled, and renamed clip changes with frame deltas, per-track counts, and EDL-like timecode lines. Local-only; never reads or changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| after | Yes | Later sequence snapshot. | |
| before | Yes | Earlier sequence snapshot. | |
| frame_rate | No | Frame rate override for frame math and timecodes (1..240). Defaults to the snapshot frame rate or 30. | |
| tolerance_frames | No | Deltas of at most this many frames count as unchanged (default 0). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false, so the safety profile is covered. The description adds genuine context beyond them: 'Local-only; never reads or changes Premiere' clarifies this is a pure offline computation requiring no live connection, and 'frame deltas, per-track counts, EDL-like timecode lines' describes the nature of the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the core action and input sourcing, then the behavioral constraint. The enumerated change categories are substantive rather than filler, so no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a deep nested input schema, full schema coverage, and an output schema, the description supplies the essentials: input source, computation scope, and local-only behavior. Return-value details are rightly omitted because an output schema exists, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents before/after/frame_rate/tolerance_frames in detail. The description confirms snapshot inputs leverage frame_rate defaults ('defaults to the snapshot frame rate or 30') but adds no syntax or semantics beyond what the schema states, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (diff) plus resource (two sequence snapshots), and it names the exact source tools for the inputs (get_sequence_structure, inspect_sequence_structure_uxp). It enumerates the change categories produced (added, removed, moved, trimmed, retimed, enabled, renamed) and the output forms, so an agent can distinguish it from unrelated timeline tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the workflow by stating the snapshots come from get_sequence_structure or inspect_sequence_structure_uxp, which guides input acquisition. However, it never states when to reach for this versus alternatives (e.g., compare_cmx3600_edls) or any preconditions such as snapshots having been captured first, leaving the when-to-use decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_clipDuplicate ClipA
EXPERIMENTAL: Duplicate a timeline clip, with its linked audio/video partner, onto the first tracks above it that are empty for the clip's time range. The copy keeps the clip's source in point and visible duration, is placed with an overwrite edit (nothing ripples), and is read back. A post-write mismatch is committed_unverified; inspect the timeline or use Undo. Fails without changes when no free track is available; add one with add_tracks.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip to duplicate |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only flag readOnly=false, idempotent=false, destructive=false; the description goes well beyond by disclosing the overwrite-edit behavior, that nothing ripples, that the copy is read back, and that a post-write mismatch yields a committed_unverified state with Undo as the remedy. It also names the 'fails without changes' contract when no free track exists. No annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the EXPERIMENTAL warning and the core action, then layers in behavior and failure handling. It is dense but every sentence carries information; slightly long, keeping it from a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex, experimental mutation tool, the description covers placement rules, ripple behavior, verification state, and the failure/remedy path. An output schema exists, so return-value explanation is unnecessary, and nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (node_id) exists and schema coverage is 100%, so the schema already fully documents it; the description implicitly conveys the target clip but adds no syntax or format detail. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (Duplicate a timeline clip with its linked audio/video partner) and describes the placement semantics precisely. It is clearly distinguishable from siblings like duplicate_sequence, create_subclip, or copy_effects_between_clips without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the precondition for success ('fails without changes when no free track is available; add one with add_tracks'), which is actionable routing context. It does not, however, explicitly compare with or exclude alternatives (e.g. replace_clip, overwrite_clip), so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_sequenceDuplicate SequenceC
Duplicate an existing sequence
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | Yes | Sequence name or ID to duplicate |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds no behavioral context beyond that — it does not say what the new sequence is named, whether the duplicate becomes active, whether it copies markers/tracks, or where it lands in the project.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded phrase with no waste, but it is under-specified rather than genuinely concise — the brevity comes at the cost of all useful context for a mutating tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. Still, for a tool that creates a new sequence, the description never addresses the naming of the duplicate, its placement, or its active state — meaningful gaps for a one-parameter mutation whose sibling set is crowded.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single sequence_id parameter is fully documented in the schema ('Sequence name or ID to duplicate'). The description contributes nothing beyond that, which is the expected baseline when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Duplicate an existing sequence'), so the basic action is discernible. However, it is essentially a restatement of the title with zero differentiation from siblings such as duplicate_clip, create_subsequence, unnest_sequence, or create_sequence_from_clips — an agent gets no help distinguishing which duplication tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite (e.g., sequence must exist, project must be open), and no mention of alternative tools like create_sequence_from_preset that might achieve a similar outcome. The agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enable_disable_clipEnable Disable ClipB
Enable or disable a clip on the timeline
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes | Set to true to enable, false to disable | |
| node_id | Yes | Node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, and idempotentHint=false, covering the basic safety profile. The description adds no further behavioral context, such as whether disabling hides the clip from playback/render, whether permissions are required, or how it differs from batch operations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It states the action and target immediately, fitting the concise style expected for a simple mutation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and the schema fully documents the two required parameters. Still, it omits when-to-use guidance and sibling differentiation, leaving enough gaps that the definition is only minimally complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented: 'enabled' explains true/false, and 'node_id' identifies the clip. The description only adds the 'on the timeline' location context and no extra syntax or format detail beyond the schema, making baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('enable or disable') and resource ('a clip on the timeline'), so the agent can tell it mutates clip enabled state. However, it does not differentiate from the sibling tool batch_enable_disable, leaving the single-clip vs batch distinction implicit in the name 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as batch_enable_disable or select_disabled_clips. No prerequisites, exclusions, or context for selecting it are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
encode_fileEncode FileA
Request an Adobe Media Encoder encode for an external file. The returned job ID is an unverified handoff; verify queue presence or the output file independently.
| Name | Required | Description | Default |
|---|---|---|---|
| in_seconds | No | Optional start time in seconds | |
| input_path | Yes | Full path to the input file | |
| out_seconds | No | Optional end time in seconds | |
| output_path | Yes | Full output file path | |
| preset_path | Yes | Path to an AME preset file (.epr) | |
| remove_on_completion | No | Remove from queue on completion (default: true) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that this is not read-only, not idempotent, not open-world, and not destructive. The description adds an important behavioral caveat beyond that: the returned job ID is an 'unverified handoff' and queue presence or the output file must be verified independently.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and followed by the critical verification caveat. Every sentence carries useful information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full schema, annotations covering safety traits, and an output schema, the description only needs to establish purpose and any non-obvious behavior. It does that well by warning that the job ID is an unverified handoff, though it could say more about when to choose this over related encoding siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters are already documented in the input schema. The description does not add syntax, constraints, or workflow meaning for parameters like preset_path, in_seconds, or remove_on_completion, so it meets the baseline rather than exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Request an Adobe Media Encoder encode for an external file.' The 'external file' scope helps distinguish it from sibling tools like encode_project_item, but it does not explicitly name alternatives or clarify batch-vs-single-file boundaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage for an external file and adds a post-invocation verification step, but it gives no explicit when-to-use or when-not-to-use guidance relative to siblings such as encode_project_item or start_batch_encode. An agent must infer routing from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
encode_project_itemEncode Project ItemA
Request an Adobe Media Encoder encode for a project item. The returned job ID is an unverified handoff; verify queue presence or the output file independently.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item to encode | |
| output_path | Yes | Full output file path | |
| preset_path | Yes | Path to an AME preset file (.epr) | |
| remove_on_completion | No | Remove from queue on completion (default: true) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare this is a non-readOnly, non-idempotent write with no destructive effect. The description adds genuinely valuable context beyond that: the returned job ID is an unverified handoff and the agent must independently confirm queue presence or output. This directly warns against trusting the return value, which the annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste, with the action stated first and the important verification caveat second. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return structure need not be explained, and the description covers the key risk: the unreliable handoff. It is nearly complete, though it omits relationship to sibling encode/queue tools that an agent comparing options would want.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with all four parameters documented (item_id, output_path, preset_path, remove_on_completion). The description adds no parameter-level meaning, so the baseline of 3 applies since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (encode) and resource (project item) plus the target application (Adobe Media Encoder). This distinguishes it from siblings like encode_file, start_batch_encode, and add_to_render_queue without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for a single project item but never names when to prefer this over encode_file, start_batch_encode, or add_to_render_queue. The post-call verification instruction is helpful but is not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enqueue_after_effects_renderEnqueue After Effects RenderA
Queue exactly one previewed After Effects render with named host templates. Requires explicit confirmation; it saves the open project but never starts rendering or overwrites output.
| Name | Required | Description | Default |
|---|---|---|---|
| preview_token | Yes | One-time token returned by preview_after_effects_render. | |
| confirm_enqueue | Yes | Must be true to queue the planned render. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare it is not read-only, not idempotent, not open-world, and not destructive. The description adds valuable behavioral context beyond those hints: it saves the open project but never starts rendering or overwrites output, and it requires explicit confirmation. This gives the agent a clear picture of side effects and safety constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences that front-load the core action and then immediately state the confirmation requirement and critical side effects. No filler or repetition; every phrase carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that annotations cover safety and the output schema exists, the description is largely complete for safe use. It could optionally mention the prerequisite of verifying an After Effects connection or explicitly name the preview tool as the source of the token, but the schema already documents the token's origin, so the gap is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the two parameters (preview_token and confirm_enqueue) are already fully documented in the schema. The description adds 'previewed' and 'exactly one' but does not elaborate on parameter format, source, or usage beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb (queue) and resource (exactly one previewed After Effects render with named host templates), and the word 'previewed' distinguishes it from a direct render or preview tool. An agent can tell it apart from siblings like preview_after_effects_render and apply_after_effects_render_handoff 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies the tool is used after a preview ('previewed render') and that explicit confirmation is required, which maps to the confirm_enqueue parameter. It does not explicitly name the preview tool or state when not to use it, but the context and constraints are clear enough for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_aafExport AafA
Unavailable on the CEP backend. Use export_aaf_uxp with an authenticated Premiere 26.3+ UXP bridge.
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | Yes | Full output file path (e.g., '/Users/me/export.aaf') | |
| sample_rate | No | Audio sample rate (default: 48000) | |
| mix_down_video | No | Mix down video to single track (default: true) | |
| bits_per_sample | No | Audio bit depth (default: 16) | |
| explode_to_mono | No | Explode multichannel audio to mono (default: false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, but they cannot express 'this backend cannot run this at all'. The description adds that critical runtime constraint and the auth requirement of the alternative route, which is exactly the kind of context the structured fields lack.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, with the blocker stated first and the remedy second. Nothing superfluous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a disabled tool, the description covers everything an agent needs: it cannot be called here, and here is the supported path. It does not describe output, but an output schema exists and the tool is unreachable anyway, so this is essentially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all five parameters are documented in the schema (output_path, sample_rate, mix_down_video, bits_per_sample, explode_to_mono). The description adds no parameter detail, which is acceptable given the tool is unavailable and the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately discloses that the tool is not usable on the CEP backend, which is the single most decision-relevant fact about it, and points to the working alternative. It does not explicitly restate that the tool exports AAF, relying on the name/title for that, but for a disabled tool the unavailability statement is the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit when-not (CEP backend) plus the named replacement and its exact prerequisite (export_aaf_uxp with an authenticated Premiere 26.3+ UXP bridge). An agent needs no inference to route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_as_fcp_xmlExport As Fcp XmlA
Export the active sequence as a Final Cut Pro XML file. Fails when Premiere writes no file or leaves a pre-existing output unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | Yes | Full output file path (e.g., '/Users/me/export.xml') |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the write nature is covered. The description adds non-obvious context by specifying the failure condition: it errors when Premiere writes no file or leaves an existing output unchanged, which tells the agent how success is detected. It could say more about overwrite behavior, but this is solid added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: purpose first, then the failure semantics. No filler, nothing repeated from structured fields, well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter export tool with an output schema and safety annotations, the description covers what is produced, what is exported, and how failure manifests. The only material omission is guidance on when this format is preferred over sibling exporters, which overlaps the usage dimension.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single output_path parameter is fully documented in the schema (100% coverage), including an example path, so the description need not explain it. It adds no parameter detail, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (export the active sequence) plus the concrete output format (Final Cut Pro XML file), which implicitly separates it from export_aaf, export_sequence_edl, and export_omf. It does not, however, explicitly position itself against those siblings, so it falls short of the top bar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never states when to choose this export over the many sibling exporters (export_sequence_edl, export_aaf, export_as_project) or notes its relationship to import_fcp_xml for roundtrip workflows. Usage is only inferable from the format name, matching the calibration's 'no guidance' tier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_as_projectExport As ProjectA
Export a sequence as a standalone Premiere Pro project file. Fails when Premiere writes no file or leaves a pre-existing output unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | Yes | Full path for the exported .prproj file | |
| sequence_id | No | Sequence name or ID. Uses active sequence if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, so safety is covered. The description adds real value beyond that by disclosing failure semantics: it errors when Premiere writes no file or leaves a pre-existing output unchanged, which tells the agent that pre-existing files at output_path can cause the call to fail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, and the core purpose is front-loaded ahead of the failure caveat. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter export with an output schema and full annotation coverage, the definition is nearly complete: purpose, default-sequence behavior (via schema) and failure modes are all covered. The only gap is the absence of routing guidance against sibling export tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so output_path and sequence_id (including the 'uses active sequence if omitted' default) are already documented in the schema. The description adds no syntax or format details beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Export a sequence as a standalone Premiere Pro project file'), which clearly distinguishes it from export_sequence, export_aaf, export_as_fcp_xml, and save_project_as. It could have named the nearest sibling explicitly, but the phrasing alone is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives named. An agent choosing among the many export tools (export_sequence, export_sequence_edl, export_as_fcp_xml, export_aaf, create_project_backup) gets no routing help beyond the differing output format implied by the title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_frameExport FrameC
Export the current frame as an image file
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | Yes | Full output file path (e.g., '/Users/me/frame.png'). Extension determines format. | |
| time_seconds | No | Time position in seconds to export. Uses current playhead if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the write/safe profile is covered structurally. The description adds only 'as an image file', saying nothing about overwrite behavior, whether an existing file is replaced, where the frame comes from (playhead vs. current position), or that format is derived from the extension — all of which the schema, not the description, carries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short, front-loaded sentence with zero filler. It is efficient, though arguably terse to the point of under-specification rather than maximally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. What is still missing is routing context against the many export/capture siblings and any note about file-overwrite semantics for a write tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both output_path and time_seconds are already fully documented in the schema, including the extension-determines-format rule and the playhead fallback. The description adds no parameter meaning beyond that, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Export the current frame as an image file'), so the action is unambiguous. However it does not distinguish itself from the near-identical sibling capture_frame, nor from the export_sequence_review_frames family, leaving the agent to guess which one fits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus capture_frame or the various export_* siblings, and no mention of prerequisites such as an active sequence or a writable path. Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_omfExport OmfA
Export the active sequence as an OMF file (Open Media Framework, for audio post-production)
| Name | Required | Description | Default |
|---|---|---|---|
| include_pan | No | Include pan information in the OMF (default: false) | |
| output_path | Yes | Full output file path (e.g., '/Users/me/export.omf') | |
| sample_rate | No | Audio sample rate (default: 48000) | |
| handle_frames | No | Handle length in frames when trimming (default: 1000) | |
| bits_per_sample | No | Audio bit depth (default: 16) | |
| trim_audio_files | No | Trim audio to used range plus handles (default: true) | |
| audio_file_format | No | Audio format: 0=AIFF, 1=WAV. Default: 1 | |
| audio_encapsulated | No | Embed audio in OMF (true) or reference external files (false). Default: true |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=false, so the safety profile is covered. The description adds only the format and domain context; it does not disclose what happens if output_path already exists (overwrite vs fail), whether the active sequence is a precondition, or any size/permission constraints for a not-idempotent write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that leads with the action and resource and ends with just enough format context. Nothing is padded and nothing essential is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the 8-parameter schema is fully documented. Still, for a non-idempotent export operation the description says nothing about preconditions (an active sequence) or how an existing file at output_path is handled, leaving a behavioral gap an agent must guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all 8 parameters, including defaults and the 0=AIFF/1=WAV encoding, so the schema already carries the parameter semantics. The description supplies no additional parameter meaning, which is consistent with the baseline 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (export) and resource (the active sequence) plus the output format, and expands the OMF acronym with domain context ('audio post-production'). It is distinguishable from generic siblings like export_sequence, but it never contrasts itself with the closely related export_aaf or export_as_fcp_xml, so sibling differentiation is implicit 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for audio post-production' implies the scenario in which OMF is the right interchange format, which is useful nudging. However, there is no explicit when-to-use/when-not guidance and no pointer to export_aaf or export_as_fcp_xml as the alternative for other post workflows.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_sequenceExport SequenceA
Export the active sequence directly (Premiere renders it; blocks until done) with an Adobe Media Encoder preset. The output extension must match what the preset writes (an H.264 preset in AME's QuickTime folder writes .mov); a missing extension is added. Refuses an output_path that already exists unless overwrite is true. Fails if Premiere rejects the render, and verifies a non-empty file was written (for an overwrite, that the file changed). range 'work_area' fails closed unless the work area is enabled and covers only part of the sequence — otherwise Premiere would encode the entire timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| range | No | What to render: the entire sequence (default), the sequence in/out range (set_sequence_in_out_points), or the work area. work_area requires an enabled work area around part of the sequence; unset or full-sequence work areas are refused instead of encoding everything. Set and read back a valid work area where the host supports it, or use in_to_out for a ranged export. | |
| overwrite | No | Replace a file that already exists at output_path (default: false, which refuses the export). The replacement is only reported as written when the file's size or modification time changes. | |
| output_path | Yes | Full output file path (e.g., '/Users/me/exports/video.mp4') | |
| preset_path | No | Path to an AME preset file (.epr). Uses the default H.264 (MP4) Match Source preset if omitted. | |
| work_area_only | No | Deprecated alias for range: 'work_area' | |
| timeout_minutes | No | How long to wait for the render (default: 15; long sequences such as full podcast episodes may need more) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only covering the safety profile (readOnly=false, destructive=false, idempotent=false), the description carries the rest: it blocks until the render completes, refuses an existing output_path unless overwrite is true, fails on a Premiere render rejection, and verifies a non-empty (or changed, for overwrite) file was written. Those are the failure and side-effect semantics an agent needs and none are in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and mechanism, then failure/verification behavior. The overwrite and work_area sentences restate the corresponding schema parameter descriptions almost verbatim, which is mild waste, but nothing else is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and full annotations exist, so return values and safety need not be explained. Combined with the disclosed blocking, extension, overwrite, and verification behavior, the definition is complete enough for a mutation tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds rules the schema does not: the output extension must match what the preset writes, a missing extension is added, and range 'work_area' fails closed rather than silently encoding the whole timeline. The default preset and timeout values duplicate the schema, which caps this at 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Export the active sequence') plus the mechanism ('Premiere renders it; blocks until done'), which cleanly separates it from queue-oriented siblings like add_to_render_queue and from the other exporters (export_aaf, export_frame, export_as_project). An agent can identify the tool 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear conditions for the range choice (work_area only when enabled and partial, otherwise in_to_out) and states the blocking contract, which implies when this tool is appropriate. It never names a sibling as the alternative for the queued/non-blocking path, so the routing guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_sequence_clip_review_framesExport Sequence Clip Review FramesB
Export one file-verified composite frame at the midpoint of each clip on a chosen video track in one bridge request. Read-only in Premiere; it does not mute tracks or claim visual quality.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum clips to sample (default: 20; maximum: 50) | |
| output_dir | Yes | Existing directory for clip_001.png and subsequent review frames | |
| track_index | No | Zero-based video track index (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Read-only in Premiere' while annotations declare readOnlyHint=false, a direct contradiction. Because the annotations already set a non-read-only profile, the description's opposite claim is misleading rather than additive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core operation and no obvious padding. The second clause is a defensive caveat whose contradictory read-only claim weakens it, but the structure is otherwise efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Though an output schema and full schema descriptions exist, the description gives a false read-only claim and lacks usage routing among many export siblings. For a tool whose annotations say it is not read-only, this is a significant completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are documented in the schema. The description only hints at track selection and per-clip sampling, adding no defaults, limits, or output naming beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Export), resource (one composite frame at midpoint of each clip), and scope (chosen video track, one bridge request). This distinguishes it from sibling export tools that target markers or whole sequences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use for per-clip review frames by describing the midpoint sampling and chosen track, but never names alternatives such as export_sequence_review_frames or export_frame. The caveat about muting tracks and visual quality is a limitation, not when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_sequence_edlExport Sequence EdlA
Generate a CMX 3600 EDL for one video or audio track of a sequence from Premiere timeline readback (cuts, reels, source/record timecode, M2 lines for retimed clips), self-validate it, and return it inline or write it inside an approved workspace. Premiere is only read; this is not a Premiere-native export.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | TITLE line (default: the sequence name). | |
| reel_mode | No | How reel names are derived: clip_name (default), tape_name (XMP tapeName when present), or numbered. | |
| drop_frame | No | Write drop-frame timecode (29.97/59.94 only). Defaults to the sequence display format. | |
| frame_rate | No | Override the CMX timecode rate; defaults to the sequence rate (23.976 is written as 24). | |
| track_type | No | Track type to export (default video). | |
| output_path | No | Optional absolute .edl path to write. Requires approved_workspace_path; the file must not already exist. When omitted the EDL text is returned inline. | |
| sequence_id | No | Sequence ID or name. Defaults to the active sequence. | |
| track_index | No | Track index to export (default 0). | |
| include_disabled | No | Include disabled clips as events (default false). | |
| record_start_seconds | No | Record timecode origin in seconds (default: the sequence zero point). | |
| approved_workspace_path | No | Absolute existing directory that must contain output_path. Required with output_path. | |
| include_clip_name_comments | No | Emit '* FROM CLIP NAME:' comments (default true). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond annotations by disclosing that Premiere is only read, that the EDL is self-validated, that writing requires an approved workspace and a non-existent target file, and that output can be inline. Annotations already cover safety profile (readOnly=false, destructive=false, idempotent=false), so this added operational context is meaningful without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence packs the artifact, scope, source, and constraints with no filler. It is dense (nested parentheticals) rather than wasteful, though it could be split for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value detail is unnecessary, and annotations cover the safety profile. The description supplies the read-only Premiere constraint, self-validation, and output-path prerequisites, which is enough for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 12 parameters, so the schema already documents title, reel_mode, drop_frame, frame_rate, track_type, output_path, etc. The description adds only the inline-vs-write duality and the M2/retime context, not per-parameter semantics. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Generate), a specific artifact (CMX 3600 EDL), and a precise scope (one video or audio track of a sequence, from Premiere timeline readback). This clearly separates it from siblings like export_sequence, inspect_cmx3600_edl, and validate_cmx3600_edl.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies context ('from Premiere timeline readback', 'not a Premiere-native export') and covers the two output modes, but never explicitly says when to choose this over export_sequence, export_as_fcp_xml, or export_aaf, nor when not to use it. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_sequence_marker_review_framesExport Sequence Marker Review FramesA
Export up to 24 file-verified composite frames at active-sequence marker positions in one bridge request for marker-driven review. It reads markers and writes image files only; it does not add, update, or remove Premiere markers.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum chronological marker frames to export (default: 12; minimum: 1; maximum: 24). | |
| output_dir | Yes | Existing directory where marker_review_001.png through marker_review_NNN.png will be written | |
| end_seconds | No | Optional positive exclusive upper bound for marker positions in seconds. | |
| marker_type | No | Optional exact Premiere marker type to include (for example Comment or Chapter). | |
| start_seconds | No | Optional non-negative lower bound for marker positions in seconds. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds real value on top: it writes image files only, leaves markers untouched, caps output at 24 frames, and batches via one bridge request. It omits overwrite/idempotency behavior of the written PNGs, which is the main 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, scoping detail front-loaded and the non-mutation constraint second. 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering the safety profile and an output schema handling return values, the description supplies enough to call the tool correctly. A note on whether existing files in output_dir get overwritten would close the last gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the schema. The description restates the 24-frame cap and the marker-position targeting, adding marginal emphasis but no new syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Export) and resource (composite frames at active-sequence marker positions) with the scope qualifier 'up to 24' and 'file-verified'. It implicitly distinguishes itself from the clip-based siblings via 'marker positions', but never names an alternative tool, so it falls short of the top tier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for marker-driven review' implies the scenario, and the second sentence usefully rules out marker mutation (no add/update/remove), but no sibling alternatives such as export_sequence_clip_review_frames or export_frame are named, and no prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_sequence_review_framesExport Sequence Review FramesA
Export 2-24 evenly spaced, file-verified frames from an active-sequence range in one bridge round trip for visual review. This samples rendered output; it does not prove playback, audio, or editorial quality.
| Name | Required | Description | Default |
|---|---|---|---|
| output_dir | Yes | Existing directory where review_001.png through review_NNN.png will be written | |
| end_seconds | No | Optional positive range end in seconds (default: sequence end) | |
| frame_count | No | Number of evenly spaced frames to export (default: 6; minimum: 2; maximum: 24) | |
| start_seconds | No | Optional non-negative range start in seconds (default: sequence start) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety profile (not read-only, not idempotent, not destructive, closed-world), so the description only needs to add context. It does: 'one bridge round trip' discloses a performance characteristic and 'file-verified' tells the agent the frames are confirmed on disk, plus the explicit non-goal about playback/audio/editorial quality.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The capability and scope are front-loaded, and the limitation sentence is compact and earns its place by preventing misuse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety, a full input schema, and an output schema present, the description need not explain return values. It supplies the quality-scope caveat and round-trip behavior an agent needs to set expectations; only explicit sibling routing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all four parameters including defaults, min/max, and filename output pattern. The description's '2-24 evenly spaced' restates the frame_count bounds without adding syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Export), resource (evenly spaced, file-verified frames), and scope (active-sequence range, 2-24 frames). The 'active-sequence range' and 'evenly spaced' framing implicitly distinguishes it from siblings like export_sequence_marker_review_frames and export_sequence_clip_review_frames, though it never names them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives the intended use case ('for visual review') and a scope exclusion ('does not prove playback, audio, or editorial quality'), which help an agent decide. However, it never states when to prefer this over the marker- or clip-based review-frame 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.
extract_selectionExtract SelectionA
EXPERIMENTAL (undocumented QE DOM: extract()). Extract (remove and close the gap) the content between the sequence in/out points on every targeted, unlocked track, then verify each targeted track lost exactly the range and its later clips moved up by the range. Requires sequence in/out marks that do not span the whole sequence. Premiere can also change untargeted tracks (for example the linked audio of targeted video, or sync-locked tracks); those are not verified but are listed in otherTracksChanged.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is otherwise unusually honest: it discloses the experimental QE DOM dependency, the post-edit verification it performs, and side effects on untargeted/linked/sync-locked tracks surfaced via otherTracksChanged. However, it repeatedly says it will 'remove' content and cause tracks to 'lose' ranges, while the annotations declare destructiveHint=false and only additive semantics are implied by that flag — a direct conflict that undercuts the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the EXPERIMENTAL/undocumented-QE-DOM warning, then action, then precondition, then caveat — a natural scan order. Every sentence carries distinct information (what, prerequisite, verification, side effects); no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter mutation with an output schema, the description covers the prerequisites, the verification semantics, and the channels through which partial/extra changes are reported (otherTracksChanged), so the agent can call it and interpret results. Only the annotation mismatch remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters (empty object schema), so there are no parameter semantics to document; baseline 4 applies. The description instead spends its words on behavior and preconditions, which is the right allocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb (extract/remove) and resource (content between sequence in/out points on every targeted, unlocked track), and the parenthetical '(remove and close the gap)' implicitly distinguishes it from the sibling lift_selection, which leaves the gap. An agent knows exactly which edit this performs without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a hard precondition — 'Requires sequence in/out marks that do not span the whole sequence' — which is real usage guidance, and warns that untargeted tracks may also change. It does not explicitly name the alternative to use (lift_selection vs ripple_delete) for the no-gap or gap-preserving cases, so it stops short of full when/when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_items_by_media_pathFind Items By Media PathBRead-onlyIdempotent
Find project items whose media path contains the given search string
| Name | Required | Description | Default |
|---|---|---|---|
| path_search | Yes | Partial file path to search for |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the substring ('contains') matching semantics, which is useful but modest; it says nothing about case sensitivity, scope of the search, or result volume limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with zero waste; the matching criterion is stated immediately after the verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the single parameter is fully documented. For a simple lookup tool this is nearly complete; only the absence of routing guidance among the many sibling find/search tools keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single path_search parameter ('Partial file path to search for'), so baseline is 3. The description's 'contains' phrasing reinforces substring matching, but adds no syntax, casing, or format detail beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Find) and resource (project items) plus the exact matching criterion (media path contains search string). An agent can distinguish this from the similarly named find_project_item_by_name and search_project_items by the path-based matching semantics, though the description never explicitly names those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus the many sibling search tools (find_project_item_by_name, search_project_items, select_clips_by_pattern). The 'contains' hints at substring behaviour but no context, prerequisites, or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_project_item_by_nameFind Project Item By NameBRead-onlyIdempotent
Find a project item by name (searches recursively through bins)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the project item to find |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context with 'searches recursively through bins', but it does not disclose how multiple matches or case sensitivity are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single, front-loaded sentence with zero wasted words. The recursive-search detail is placed parenthetically without disrupting readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter lookup with rich annotations and an output schema, the description is largely complete. The main gap is lack of sibling routing, but return values are handled by the output schema and safety behavior is covered by annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'name' parameter, so the schema already documents it fully. The description adds no syntax, matching rules, or format details beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Find') and resource ('project item by name'), plus a scope detail ('searches recursively through bins'). It is clear what the tool does, but it does not distinguish itself from siblings such as search_project_items or find_items_by_media_path.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance or routing to alternatives. The name implies a lookup use case, but the description does not say when to prefer this over search_project_items or other project-item search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
freeze_frameFreeze FrameB
Create a freeze frame from a clip at a specific time. Exports the frame and imports it back as a still image.
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | Yes | Full path for the exported frame (e.g., /path/to/freeze.png) | |
| time_seconds | No | Time in the sequence to freeze (in seconds). Uses playhead if omitted. | |
| duration_seconds | No | Duration of the freeze frame on the timeline (default: 2) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the mutation profile is partly covered. The description usefully adds that a frame is exported and re-imported as a still image, implying project-side side effects, but it does not say which clip is used (selection? playhead clip?), where the still lands, or whether it touches 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler; the core action is front-loaded and the second sentence explains the mechanism rather than restating the name. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, for a non-idempotent, non-read-only tool the description leaves key operational questions open: which clip the freeze is taken from, whether the still is added to the timeline or just to the project, and whether output_path overwrites existing files.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (output_path, time_seconds, duration_seconds) are already documented with defaults and fallback behavior. The description only echoes 'at a specific time' and adds no format or unit detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a freeze frame from a clip') and goes further by explaining the mechanism ('Exports the frame and imports it back as a still image'). It does not, however, distinguish itself from closely related siblings like export_frame, capture_frame, or set_poster_frame, which an agent must disambiguate on its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and no alternatives are named. Given that export_frame, capture_frame, and export_sequence_review_frames all deal with extracting frames, the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_media_contact_sheetGenerate Media Contact SheetA
Generate a new, disk-verified PNG contact sheet from evenly sampled source frames. Refuses to overwrite an existing output and does not modify Premiere or the source.
| Name | Required | Description | Default |
|---|---|---|---|
| rows | No | Grid rows from 2 through 8 (default: 3) | |
| columns | No | Grid columns from 2 through 8 (default: 4) | |
| media_path | Yes | Existing local video file | |
| output_path | Yes | New .png output path | |
| thumbnail_width | No | Thumbnail width from 160 through 1280 pixels (default: 320) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly=false, destructive=false, idempotent=false and openWorld=false. The description adds real value beyond them: the output is disk-verified, it refuses to overwrite an existing file, and it does not modify Premiere or the source media, clarifying where side effects land. It stops short of stating failure modes for unsupported inputs or runtime prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the artifact produced and then the key behavioral constraints. No filler, no repetition of schema or annotation content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not needed, and the description covers the material behavior (creates new file, no overwrite, doesn't touch source/Premiere). Slightly short on edge cases like invalid ranges or media that can't be decoded, but overall adequate for a 5-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so rows, columns, thumbnail_width, media_path and output_path are already fully documented with ranges and defaults. The description adds only the 'evenly sampled source frames' hint about how sampling works, not per-parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Generate) plus resource (a PNG contact sheet from evenly sampled source frames), which clearly distinguishes it from frame-oriented siblings like export_frame or export_sequence_review_frames. The scoping phrase 'disk-verified' and 'evenly sampled' pins down what artifact is produced.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description (create a contact sheet artifact), and the no-overwrite constraint gives a practical precondition. However it never states when to prefer this over alternatives such as export_frame or the review-frame exporters, and gives no exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_active_sequenceGet Active SequenceBRead-onlyIdempotent
Get detailed information about the currently active sequence
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description adds only 'currently active' as behavioral context and says nothing further about scope or failure modes; the output schema carries the return-value burden.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, front-loaded with the verb and resource. It is efficient, though the phrase 'detailed information' is slightly vague filler that could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich output schema and full annotation coverage, the description only needs to establish purpose and context. It does that minimally, but given the large set of overlapping sequence-inspection siblings, it does not do enough to establish when this is the right entry point.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain; the baseline for a parameterless tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (get) and resource (active sequence) with the scoping qualifier 'currently active', which helps distinguish it from the static sequence getters. However, it does not name or contrast with close siblings such as get_full_sequence_info or get_sequence_settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. that a project/sequence must be open), and no routing to alternatives. The description leaves the agent to infer that this targets whatever sequence is active.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_advanced_feature_supportGet Advanced Feature SupportBRead-onlyIdempotent
Report public-API support, prerequisites, entitlements, and user-assisted boundaries for Premiere collaboration and AI features
| Name | Required | Description | Default |
|---|---|---|---|
| backend | No | Backend being evaluated (default: cep, the current production MCP transport) | |
| frameio_entitled | No | Whether the operator has confirmed Frame.io account/project access | |
| premiere_version | No | Optional Premiere version such as 26.3.0 for version-specific eligibility | |
| network_available | No | Whether required Adobe/cloud services are reachable | |
| generative_ai_entitled | No | Whether the operator has confirmed Adobe generative AI entitlement |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds useful context about what the tool assesses (entitlements, prerequisites, user-assisted boundaries), but says nothing about required inputs, defaults, or how results should be interpreted beyond what the schema and output schema provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the list of reported dimensions is dense but each item is meaningful. Slightly compressed for the breadth it covers, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the schema fully documents inputs. What is missing is the disambiguation from the similar support-reporting sibling, which matters for a tool whose whole job is comparing feature eligibility across tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including a documented enum and defaults for the backend parameter, so the schema carries the parameter semantics. The description adds no detail about any of the five inputs, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Report') and enumerates a concrete resource set: public-API support, prerequisites, entitlements, and user-assisted boundaries for Premiere collaboration and AI features. It does not, however, differentiate itself from the near-identical sibling get_av_feature_support, leaving the agent to guess which support-reporting tool applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of the sibling get_av_feature_support or get_capabilities. Usage is only implied by the subject matter, so an agent has no rule for choosing this tool over its close neighbors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_all_project_pathsGet All Project PathsARead-onlyIdempotent
Get all unique media file paths used in the project. Useful for asset management and archiving.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, covering the safety profile. The description adds the scoping fact that results are unique paths limited to the current project, which is genuine added value, but says nothing about ordering, size, or handling of offline media.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the core operation front-loaded. The second sentence is mildly soft ('useful for...') but does not bloat the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters, a rich annotation set, and an output schema that carries the return shape, the description only needs to state scope and it does. Little is left ambiguous for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('get all unique media file paths used in the project') with the 'unique' scope qualifier, so the agent knows it deduplicates. It does not differentiate itself from close siblings like get_used_media_report, find_items_by_media_path, or get_unused_media, which prevents a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Useful for asset management and archiving' implies a use context but names no conditions or alternatives for choosing this over the media-report siblings. Usage is 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.
get_av_feature_supportGet Av Feature SupportBRead-onlyIdempotent
Report the documented automation boundary for advanced audio and modern color management, including actionable reasons for UI-only features.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, covering the safety profile. The description adds that it reports 'actionable reasons for UI-only features', which gives some content context, but it does not describe return format, auth requirements, or other behavioral traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It is appropriately sized, though the phrase 'documented automation boundary' is slightly abstract and could be clearer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich annotations and the presence of an output schema, the description adequately states the tool's scope. It is nearly complete but could be improved by clarifying its relationship to similar feature-support tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the input schema is empty. Per scoring rules, 0 params yields a baseline of 4; the description introduces no parameters and correctly does not need to explain any.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Report') and resource ('documented automation boundary for advanced audio and modern color management'), making the tool's purpose clear. However, it does not distinguish this tool from sibling tools like get_advanced_feature_support or get_capabilities, which likely overlap in scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor any conditions or exclusions. Usage is only implied by the tool's purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bin_contentsGet Bin ContentsARead-onlyIdempotent
Get detailed contents of a specific bin (folder) including all nested items, media paths, offline status, color labels, and metadata. Searches by bin name or node ID.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum direct children to return. Pair with recursive false for the smallest bounded response. | |
| bin_id | Yes | Bin name, node ID, or path (e.g., 'Footage', 'Footage/Raw'); '/' or 'root' for the project root | |
| offset | No | Zero-based offset into the bin's direct children. Pair with limit for a bounded page. | |
| max_depth | No | Maximum nested-bin depth when recursive is true. Defaults to the legacy unlimited recursion. | |
| recursive | No | Include items from sub-bins recursively (default: true) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful content scope ('all nested items, media paths, offline status, color labels, and metadata'), but does not go beyond structured data to describe pagination behavior, recursion defaults, or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, front-loaded with the tool action and followed by addressing syntax. Every phrase earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema, existing output schema, and strong annotations, the description covers the essential purpose and lookup method. It leaves pagination, recursion defaults, and output details to structured fields, which is reasonable, though an explicit sibling distinction could improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents bin_id, limit, offset, max_depth, and recursive in detail. The description's 'Searches by bin name or node ID' only partially mirrors the schema's richer bin_id description and adds no parameter meaning beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get detailed contents of a specific bin (folder)' and lists the returned item types. This clearly identifies what the tool does, though it does not explicitly distinguish itself from adjacent siblings such as list_project_items or get_project_item_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Searches by bin name or node ID' implies when the tool is useful and how to address a bin, but there is no explicit when-to-use guidance, prerequisites, or named alternative. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bridge_telemetryGet Bridge TelemetryARead-onlyIdempotent
Inspect privacy-preserving aggregate bridge health: pending command/response counts, busy operations, queue age, and CEP heartbeat state without returning project or personal data.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare read-only, idempotent, non-destructive, and non-open-world behavior. The description adds meaningful context beyond those hints by specifying that the telemetry is aggregate and privacy-preserving, and that it avoids returning project or personal data. It does not detail auth or rate limits, but the privacy scope is a strong behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence that states the core action and then lists the retrieved metrics. Every part earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, full annotation coverage, and the presence of an output schema, the description supplies everything an agent needs: what the tool inspects, what categories of data it returns, and the privacy guarantee. Return-value details are appropriately left to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is an empty object. Per the scoring baseline for parameterless tools, no parameter semantics are needed, and the description appropriately does not discuss arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Inspect') and resource ('aggregate bridge health'), then enumerates the exact metrics returned (pending command/response counts, busy operations, queue age, CEP heartbeat state). It clearly distinguishes this diagnostic telemetry tool from editing siblings by scoping it to privacy-preserving bridge health.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the verb 'Inspect' and the diagnostic subject matter, but it does not explicitly state when to use this tool versus alternatives or prerequisites. No when-not guidance is provided, leaving context to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_capabilitiesGet CapabilitiesARead-onlyIdempotent
Discover Premiere operations and report backend coverage, authority, and verification requirements. Use tool_query with task keywords (for example transcript, captions, or review frames) for ranked, bounded matches available in this session. Use tool_names for exact lookups or tool_offset/tool_limit for paging. Discovery never grants authority or proves a live host is ready.
| Name | Required | Description | Default |
|---|---|---|---|
| tool_limit | No | Maximum tool catalog entries to return. Omit with tool_offset to preserve the complete legacy response. | |
| tool_names | No | Optional exact tool-name allowlist. Returns only those catalog entries while retaining the overall capability summary. | |
| tool_query | No | Optional case-insensitive keywords matched against tool names and descriptions. Exact names rank first. Search defaults to 20 results with descriptions and session availability; page with tool_offset/tool_limit. | |
| tool_offset | No | Zero-based offset into the filtered tool catalog. Pair with tool_limit for an explicitly sized page. | |
| available_only | No | Filter to tools registered under this session's authority and tool packs. Defaults to true for tool_query, false otherwise. Set false to diagnose unavailable matches; this does not enable them. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior. The description adds meaningful context beyond annotations by warning that discovery never grants authority or proves a live host is ready, which is an important behavioral limitation for an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four short sentences, front-loaded with what the tool does, followed by concrete query guidance and a key limitation. Every sentence earns its place without repetition or bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool has no required parameters, complete schema coverage, annotations covering safety, and an output schema, the description provides enough context for correct invocation. It covers purpose, query modes, and the critical caveat that discovery does not grant authority or prove host readiness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters in detail. The description repeats some query-mode usage and adds keyword examples, but it does not mention available_only and adds little parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: discover Premiere operations and report backend coverage, authority, and verification requirements. It clearly distinguishes this catalog-discovery tool from action-oriented siblings, and the opening sentence front-loads the tool's scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear internal usage guidance: use tool_query for ranked, bounded keyword matches, tool_names for exact lookups, and tool_offset/tool_limit for paging. It does not explicitly name when to choose this tool over similar capability/inspection siblings, so it falls short of the highest tier but is much better than mere implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_caption_style_guidanceGet Caption Style GuidanceARead-onlyIdempotent
Returns caption style presets (clean, bold_pop, karaoke, podcast, lecture) with font, position, and styling recommendations, plus Premiere UI steps for applying styles. Read-only guidance; NEVER modifies caption tracks. Use build_caption_artifact for SRT/VTT timing, then import via create_caption_track and apply styles manually in Premiere's UI.
| Name | Required | Description | Default |
|---|---|---|---|
| preset | No | Style preset to describe (default clean). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description reinforces the safety profile with 'Read-only guidance; NEVER modifies caption tracks' and adds genuinely useful behavioral context: styles must be applied manually in Premiere's UI rather than by this tool. It does not contradict annotations, though it repeats some of their safety signal rather than adding entirely new behavioral detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences: output scope, safety/workflow constraint, and alternative-tool routing. It is front-loaded with the core purpose and wastes no words, and each sentence provides actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has full schema coverage, complete annotations, and an output schema, so the description does not need to explain return values in depth. It nonetheless provides the workflow context an agent needs: what it returns, that it is non-destructive, and how it relates to adjacent caption tools. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single optional enum parameter is already fully described in the schema with its default. The description names the same preset values but adds no syntax, format, or selection nuance beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: returns caption style presets with font, position, styling recommendations, and Premiere UI steps. It lists the exact preset set and explicitly distinguishes the tool from build_caption_artifact and create_caption_track, so an agent can identify its unique role immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear when-to-use guidance by naming the alternative build_caption_artifact for SRT/VTT timing and create_caption_track for import, then clarifies that style application is manual in Premiere's UI. The workflow sequence is explicit enough that an agent knows this tool is for guidance, not for caption artifact generation or track creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_adjustment_layerGet Clip Adjustment LayerBRead-onlyIdempotent
Check if a clip is an adjustment layer
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered externally. The description adds no behavioral context beyond restating the check itself (e.g., what the result implies or how it behaves on non-clip nodes).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with zero waste, appropriately sized for a one-parameter predicate tool. It is terse but front-loaded and does not pad.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so the return value needn't be explained, and annotations cover the safety profile. For a simple boolean-style query tool, the description is complete enough, though a hint about its role relative to add_adjustment_layer would help.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema description coverage, the schema fully documents node_id. The description adds no syntax or format detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Check if') and resource ('clip is an adjustment layer'), making the purpose immediately legible. It does not differentiate from related siblings such as add_adjustment_layer, but the query nature is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternatives. An agent is left to infer that this is a read-only predicate to call before adjustment-layer operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_at_playheadGet Clip At PlayheadBRead-onlyIdempotent
Get all clips at the current playhead position across all tracks.
| Name | Required | Description | Default |
|---|---|---|---|
| track_type | No | Track type to check (default: both) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds only the scope 'across all tracks', which is modest context; it does not disclose return format, pagination, or whether the result is live-updating.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. The scope and action are stated immediately, and no unnecessary elaboration is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one optional parameter) and has an output schema, so the description need not explain return values. It covers the main behavior but does not mention the optional track_type filter, even though the schema documents it, leaving a minor gap that is acceptable given the schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; the single optional track_type parameter has an enum and description ('Track type to check (default: both)'). The tool description does not add any meaning beyond the schema, which is the correct baseline when the schema fully documents parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (clips) with the scoping condition 'at the current playhead position across all tracks'. It is clear what the tool returns, but it does not distinguish itself from the closely named sibling get_clip_at_position or other clip-retrieval tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 is provided. The description does not mention alternatives such as get_clip_at_position or get_selected_clips, leaving the agent to infer usage purely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_at_positionGet Clip At PositionBRead-onlyIdempotent
Get the clip at a specific time position on a track
| Name | Required | Description | Default |
|---|---|---|---|
| track_type | Yes | Track type | |
| track_index | Yes | Track index (0-based) | |
| time_seconds | Yes | Time position in seconds |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds no further behavioral context, such as what is returned when no clip exists at that position or whether track_index must be valid for the given track_type.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-formed sentence with no filler, front-loading the verb and resource. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, parameters are fully documented in the schema, annotations cover the safety profile, and an output schema exists so return values need not be explained. The only minor gap is the undocumented edge case of no clip at the given position.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three parameters documented and track_type constrained by an enum. The description adds nothing beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get), resource (clip), and the scoping conditions (time position, track). It implicitly distinguishes itself from get_clip_at_playhead, but it does not explicitly reference that sibling or clarify how it differs from get_clip_properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives such as get_clip_at_playhead, get_clip_properties, or get_qe_clip_info. No prerequisites or exclusions stated; the agent must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_linksGet Clip LinksBRead-onlyIdempotent
Get information about linked clips (audio/video linked together) for a given clip.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds only the clarification that 'linked' means audio/video linked together, which is useful domain context but not behavioral depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the resource front-loaded and the parenthetical clarifying linked media. No waste, though it is arguably too thin for the number of near-synonym siblings.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the read-only annotations cover safety. Still, the definition omits any routing guidance against get_linked_items and other link-related siblings, leaving an agent to guess which link-inspection tool to call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single node_id parameter is documented in the schema. The description's phrase 'for a given clip' aligns with that but adds no format, source, or constraint details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (linked clips) and even clarifies the domain meaning of 'linked' as audio/video linked together. However, it does not distinguish itself from the adjacent sibling get_linked_items, which an agent could easily confuse with this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_linked_items or unlink_selection. The description gives no preconditions, no context about why an agent would inspect clip links, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_markersGet Clip MarkersARead-onlyIdempotent
Get all markers on a specific project item (source clip markers, not sequence markers).
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the clip-vs-sequence scope clarification, but says nothing about ordering, filtering, or marker contents beyond what the output schema presumably covers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the key disambiguation front-loaded in the parenthetical. Nothing wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema and complete annotations, the description only needs to add scope and disambiguation, which it does. A brief note on ordering or empty-result behavior would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so item_id ('Node ID or name of the project item') is already documented. The phrase 'on a specific project item' loosely reinforces the parameter's meaning but adds no syntax or format details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ('Get all markers') and adds the scoping qualifier 'on a specific project item'. It distinguishes itself from sequence-marker siblings by explicitly saying 'source clip markers, not sequence markers', though it doesn't name the sibling to redirect to.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical 'source clip markers, not sequence markers' implies when to use this versus sequence-marker tools, which is useful. But there's no explicit when-to-use statement, no mention of add_marker/update_marker/list_markers as related operations, and no prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_propertiesGet Clip PropertiesCRead-onlyIdempotent
Get detailed properties of a specific clip by its node ID
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | The node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds nothing beyond that: no note on whether the read is cheap, whether the node ID must come from a selection or a prior call, or what happens on an invalid ID.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence, front-loaded with the verb. Nothing is wasted, though it is arguably under-specified rather than maximally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the tool has one well-documented parameter. Still, for a read tool sitting among many near-duplicate readers, the definition does not give the agent enough to choose it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and node_id is fully documented in the schema, so the description ('by its node ID') merely restates it. Baseline 3 is appropriate when the schema carries the parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb ('Get') plus resource ('properties of a specific clip'), so the operation is unambiguous. However it does not differentiate itself from sibling readers such as get_full_clip_info, get_qe_clip_info, or get_item_info, which is the exact ambiguity an agent faces in this crowded namespace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative named. With roughly a dozen other clip/item info getters in the sibling list, the absence of any routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_speedGet Clip SpeedARead-onlyIdempotent
Get the playback speed and reverse state of a clip
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only the return scope (speed and reverse state) and does not disclose error behavior, auth needs, or any non-obvious read constraints; this is an adequate but minimal addition.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero wasted words. It states the operation and the returned state immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with full schema coverage, annotations, and an output schema, the description supplies enough context to call it correctly. It could be slightly more complete by noting when to prefer it over broader inspection siblings, but nothing required for invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single node_id parameter is already documented in the schema. The description adds no additional parameter meaning such as node ID format or source, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Get') and resource ('playback speed and reverse state of a clip'), clearly distinguishing this read operation from sibling mutation tools like set_clip_speed_qe or reverse_clip. An agent can identify the tool's purpose 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives such as get_clip_properties or set_clip_speed_qe. The read-only nature is implied only by the verb and annotations, not stated as usage criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_clip_volumeGet Clip VolumeARead-onlyIdempotent
Read an audio clip's Volume > Level in dB. Use this to verify a level actually applied - setValue() clamps silently. Does not report Essential Sound Amplify automation.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the audio clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent read, so the bar is lower. The description adds real behavioral value beyond them: it warns that setValue() clamps silently (why the read may disagree with what was written) and discloses a scope limitation (Essential Sound Amplify automation is not reported). No permissions or rate-limit info, but strong for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, with the core read action and the dB unit front-loaded before the caveats. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need no explanation. The description covers purpose, verification motive, and a key limitation, making it complete enough for a single-parameter read. Only minor gaps around how the returned level relates to keyframed volume.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single node_id parameter, so the schema fully documents it. The description adds no format or sourcing detail about node_id, so the baseline of 3 for schema-covered parameters applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read an audio clip's Volume > Level in dB'), naming the exact property path. An agent can distinguish this from broad siblings like get_clip_properties or get_clip_speed without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives the trigger ('Use this to verify a level actually applied') and explains why it matters (setValue() clamps silently). It does not name set_clip_volume as the counterpart, so the routing is implied rather than explicit, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_color_labelGet Color LabelCRead-onlyIdempotent
Get the color label of a project item
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds nothing beyond restating the name, not even a note on what happens for items lacking a label or what the returned label representation is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. It is as terse as possible, though that terseness is also why it lacks guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the tool is a simple single-parameter read. Still, with no usage guidance and no behavioral detail, the definition is only minimally sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single item_id parameter is documented in the schema as 'Node ID or name of the project item'. The description adds no extra semantics, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (color label of a project item), so the agent knows exactly what it fetches. It does not reference siblings like set_color_label or get_item_info, but the resource is distinct enough that confusion is unlikely.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use context, no prerequisites, and no mention of alternatives such as get_item_info or get_clip_properties that may also surface label data. Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_color_spaceGet Color SpaceBRead-onlyIdempotent
Get the color space information for a project item
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered. The description aligns with these by using 'Get' and narrowing scope to a project item, but it adds no further behavioral context such as response format or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It communicates the essential action and scope efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with one fully documented parameter, rich annotations, and an output schema, the description is largely complete. It states what is retrieved and from where; return details and parameter details are handled by structured fields, though usage alternatives remain unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single required parameter item_id is documented in the schema. The description does not add meaning beyond the schema, which is appropriate for this baseline when the schema already carries parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get'), resource ('color space information'), and scope ('for a project item'), making the tool's purpose clear. It does not explicitly differentiate itself from related color or metadata siblings, but the resource is specific enough for an agent to identify it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as get_clip_properties or get_color_label. The description only states what the tool does, leaving the agent to infer usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_duplicate_mediaGet Duplicate MediaARead-onlyIdempotent
Find project items that reference the same source media file. Useful for consolidation. After Effects compositions imported from the same .aep/.aepx are only grouped when their comp names also match. Groups are paged (default 100) and can be filtered by a case-insensitive item-name substring; follow nextOffset while truncated is true.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum duplicate media groups (a group matches contains when any item name matches) entries to return (1-500, default 100). | |
| offset | No | Zero-based index of the first duplicate media groups (a group matches contains when any item name matches) entry to return (default 0). Pass the previous response's nextOffset to read the next page. | |
| contains | No | Optional case-insensitive substring matched against project item names before paging. Omit or pass an empty string to include every entry. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavior: After Effects comps are grouped only when comp names also match, and the result set is paged with a truncation signal. That is real context beyond structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core 'what' before the AE-specific caveat and paging mechanics. Four sentences, each carrying information, though the paging sentence partly overlaps with schema text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety and an output schema covering the return shape, the description supplies the missing nuance an agent needs: the AE comp-name grouping rule and the truncation/nextOffset loop. Remaining gaps are minor for a read-only list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter is already documented, including the default of 100 and the nextOffset round-trip. The description largely restates this, adding only the case-insensitivity and substring framing that the schema also carries, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a precise verb+resource+scope ('project items that reference the same source media file'), which distinguishes it from near-neighbors like find_items_by_media_path (path lookup) and consolidate_duplicates (the mutating action). An agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It orients usage ('Useful for consolidation') and gives concrete operational instructions for filtering and paging ('follow nextOffset while truncated is true'). It stops short of explicit when-not guidance or naming the sibling that performs the actual consolidation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_effect_propertiesGet Effect PropertiesBRead-onlyIdempotent
List all properties of a specific effect on a clip, including current values
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| effect_name | Yes | Display name of the effect (e.g., 'Motion', 'Opacity', 'Lumetri Color') |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so the safety profile is covered. The description adds only that 'current values' are included, which is minimal extra behavioral context; it does not note pagination, ordering, or how values relate to keyframes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though arguably too terse for a tool with several near-neighbor siblings that it could have disambiguated in the same sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and rich annotations carry most of the burden, and the schema is fully documented, so the short description is nearly sufficient. The remaining gap is routing: the crowded sibling set means the description should say when to call this versus list_clip_effects, get_clip_properties, or get_keyframes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters are fully documented in the schema (100% coverage), including examples for effect_name ('Motion', 'Opacity', 'Lumetri Color'). The description adds no additional semantics beyond confirming the effect lives on a clip, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List all properties of a specific effect on a clip'), which clearly tells an agent what this returns. It does not explicitly distinguish itself from close siblings such as list_clip_effects or get_keyframes, leaving the agent to infer that this one drills into a single named effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no named alternative. The phrase 'a specific effect' weakly implies the required effect_name, but the agent gets no help choosing this over list_clip_effects (to discover effects) or get_keyframes (for animated values).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_encoder_presetsGet Encoder PresetsARead-onlyIdempotent
List available Adobe Media Encoder export presets, with the .epr path of each so it can be passed to export_sequence or encode_project_item. Presets are discovered by scanning the .epr files Adobe ships on disk (Premiere's ExtendScript API exposes no preset enumeration).
| Name | Required | Description | Default |
|---|---|---|---|
| format | No | Filter by container/format (e.g. 'H.264', 'mp4', 'QuickTime', 'WAV') or preset name (e.g. 'ProRes', 'Proxy'). Presets whose format matches come first. Omit to list all. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only/idempotent/non-destructive, so the safety profile is covered. The description adds genuine behavioral context beyond the schema: presets are discovered by scanning .epr files on disk because Premiere's ExtendScript API exposes no enumeration, which explains result provenance and completeness limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, front-loaded with the action and return value before the implementation note. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-format explanation is unnecessary, and annotations cover the safety profile. For a simple one-optional-param discovery tool, the description supplies everything an agent needs to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'format' parameter and its match-ordering behavior are already fully documented in the schema. The description adds no extra parameter detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('Adobe Media Encoder export presets'), and adds the concrete return content (the .epr path) plus its downstream consumers. This distinguishes it from siblings like export_sequence, encode_project_item, and validate_export_preset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the purpose in a workflow sense by naming export_sequence and encode_project_item as the tools the .epr paths feed into. It implies this is a discovery step but does not explicitly state when not to use it or name a competing discovery tool, so it falls short of the top tier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_export_file_extensionGet Export File ExtensionARead-onlyIdempotent
Get the export file extension from Premiere. If Premiere returns none, infer it only for an existing .epr in a recognized Adobe Media Encoder format folder; that fallback is marked unconfirmed and should be checked before delivery.
| Name | Required | Description | Default |
|---|---|---|---|
| preset_path | Yes | Full path to the export preset file (.epr) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description goes beyond that by disclosing a non-obvious fallback: inference occurs only for an existing .epr in a recognized Adobe Media Encoder format folder, and the inferred result is flagged unconfirmed and must be verified before delivery. That uncertainty flagging is exactly the kind of context annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero filler. The primary action is front-loaded and the conditional fallback caveat follows, so the agent reads the main behavior first and the edge case second.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the return shape need not be described, and the annotations cover the read-only/idempotent profile. The description supplies the one piece not encoded in structured fields — the conditional inference and its unconfirmed status. Only the 'recognized Adobe Media Encoder format folder' set is left undefined, which is a minor gap for a single-parameter read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and preset_path is documented as 'Full path to the export preset file (.epr)', so the baseline is 3. The description adds a mild qualifier on which paths qualify for the fallback (existing .epr in a recognized AME folder), but it does not specify path syntax, format variants, or error behavior for the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get the export file extension from Premiere') with the source system named, so the action is unambiguous. It does not, however, differentiate itself from adjacent tools like validate_export_preset or get_encoder_presets, leaving the agent to infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than stated: the closing 'should be checked before delivery' hints at a delivery-verification workflow, and the fallback branch explains what happens when Premiere returns no extension. There is no explicit when-to-use versus an alternative tool such as validate_export_preset.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_footage_interpretationGet Footage InterpretationBRead-onlyIdempotent
Get footage interpretation settings for a project item
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint false, and openWorldHint false, covering the safety profile. The description adds no behavioral context beyond that—no mention of failure modes, required permissions, or what the interpretation settings govern—so it offers little 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It states the action and target immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich annotations, full schema coverage, and the presence of an output schema, the description provides enough for an agent to invoke the tool correctly. It does not need to explain return values or safety, and the only notable gap is usage guidance, which is minor here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single item_id parameter, and the description's 'for a project item' merely mirrors the schema's own description of accepting a node ID or name. The schema already does the heavy lifting, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'Get footage interpretation settings' and scopes it to 'a project item'. It is clear and distinct from the sibling set_footage_interpretation by the get/set asymmetry, though it does not explicitly name or differentiate from other getters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no indication of when to use this tool versus alternatives, nor any preconditions or exclusions. Usage is only implied by the purpose itself, which falls short of explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_full_clip_infoGet Full Clip InfoARead-onlyIdempotent
Get exhaustive information about a specific clip: all effects with every property value, source media details, footage interpretation, metadata, markers, speed, enabled state, color label, linked clips, and proxy status.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip on the timeline |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior. The description adds the returned content scope, but since an output schema exists, this is partly redundant and does not disclose additional behavioral traits like cost, latency, or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that immediately states the purpose and then enumerates the scope. The long field list is informative, though slightly dense, and each item generally earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, an output schema, and 100% schema coverage for the single parameter, the description provides enough scope information for an exhaustive read-only getter. The main remaining gap is explicit usage guidance versus closely related sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one parameter (node_id), whose schema description already documents it as the clip's node ID. The description adds no syntax, format, or source detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (get clip info) and enumerates an exhaustive scope: effects, source media, interpretation, metadata, markers, speed, enabled state, color label, linked clips, proxy status. This differentiates it from narrower sibling getters like get_clip_properties, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The adjective 'exhaustive' implies use when all clip details are needed, which is implied usage rather than explicit guidance. It offers no when-not conditions or routing to alternatives such as get_clip_properties or get_qe_clip_info, despite many overlapping siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_full_project_overviewGet Full Project OverviewARead-onlyIdempotent
Get a comprehensive overview of the project. Use include_bin_tree false or sequence_offset/sequence_limit for a bounded response on large projects.
| Name | Required | Description | Default |
|---|---|---|---|
| max_bin_depth | No | Maximum recursive bin-tree depth when include_bin_tree is true (default: 10). | |
| sequence_limit | No | Maximum sequences to include. Omit to preserve the complete legacy response. | |
| sequence_offset | No | Zero-based offset into project sequences. | |
| include_bin_tree | No | Include the recursive bin tree (default: true). Set false to return project statistics and sequences only. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive, so safety is covered; the description adds genuinely new behavioral context by warning that the default response can be large and how to bound it. It stops short of describing the response shape, but an output schema exists to carry that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler, and the core purpose is front-loaded ahead of the mitigation advice. It is appropriately sized, though the second sentence compresses three parameters into one clause rather than fully explaining their interplay.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-required-parameter, read-only overview tool with a full output schema and complete parameter descriptions, the description covers purpose and the main operational caveat. The only meaningful gap is lack of differentiation from adjacent project-info siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already documents itself including defaults and ranges. The description only echoes include_bin_tree, sequence_offset and sequence_limit by name without adding format or interaction detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Get') and resource ('overview of the project') with a scope qualifier ('comprehensive'), so the agent knows what is returned. It does not, however, distinguish this from closely related siblings such as get_project_info or get_full_sequence_info, which the agent must resolve on its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one concrete usage rule — use include_bin_tree false or sequence_offset/sequence_limit for a bounded response on large projects — which is real conditional guidance. It says nothing about when to prefer this over other project-level inspection tools, so the when-to-use-vs-alternative dimension is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_full_sequence_infoGet Full Sequence InfoBRead-onlyIdempotent
Get exhaustive information about a sequence: settings, all tracks with lock/mute/target state, all clips with positions/effects/speed/enabled state, all markers, transitions, in/out points, and work area.
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | No | Sequence name or ID. Uses active sequence if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds useful scope by naming the state included (tracks with lock/mute/target, clips with effects/speed/enabled), but it adds no behavior beyond annotated traits such as permissions, performance, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with a colon-delimited inventory of returned data. Every listed item earns its place by specifying output scope, and there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover safety, so the description does not need to explain return values. It does enumerate the returned data thoroughly, but it leaves the user without sibling-routing guidance, which is the one meaningful gap for this broad reader in a crowded tool namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single sequence_id parameter has a clear schema description with a fallback behavior (uses active sequence if omitted). The tool description adds no parameter semantics of its own, so the baseline 3 is appropriate when the schema already carries the parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a specific verb+resource ('Get exhaustive information about a sequence') and enumerates the exact returned content (settings, tracks, clips, markers, transitions, in/out points, work area). However, it does not explicitly differentiate itself from sibling readers such as get_sequence_structure, get_timeline_summary, or get_sequence_settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists what will be returned but gives no when-to-use guidance, no alternatives, and no conditions for choosing this over more targeted sibling tools. An agent must infer that 'exhaustive' means use this when everything is needed, which is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_graphics_white_luminanceGet Graphics White LuminanceARead-onlyIdempotent
Get the graphics white luminance value (HDR setting) for the project
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safe read profile is fully covered. The description adds project-level scoping and the fact that it is an HDR setting, which is useful extra context but not rich behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with zero waste. Every word (verb, resource, scope, domain) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple getter nature, annotations covering safety, and an output schema that documents the return value, the description provides sufficient context (scope = project, nature = HDR setting). It could mention units or expected value range, but those are likely in the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no schema complexity to compensate for. Baseline 4 applies since no parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('graphics white luminance value'), with additional scope ('for the project') and domain ('HDR setting'). Clearly distinguishes from the sibling set_graphics_white_luminance by direction, though it does not explicitly name the alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites or context. It simply states what is retrieved, leaving usage entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_insertion_binGet Insertion BinARead-onlyIdempotent
Get the current target bin for new imports (the bin that is currently focused in the Project panel)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds useful context that the value tracks the currently focused Project panel bin, but says nothing about when the value may be stale or null (e.g. no bin focused).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and resource, with the parenthetical used efficiently to define the ambiguous term. Nothing extraneous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be explained, and the tool takes no arguments — the description covers what is needed to decide to call it. The only minor gap is not stating what is returned when no bin is focused.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing to document and the baseline is 4. The description still usefully clarifies the semantic of the returned value rather than leaving 'insertion bin' undefined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Get the current target bin') and defines the concept behaviorally as 'the bin that is currently focused in the Project panel', which disambiguates it from bin-related siblings like get_bin_contents or list_project_items. It does not explicitly name a sibling, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied — an agent infers this is for resolving the destination bin for new imports — but there is no explicit when-to-use statement, no alternative named, and no condition under which another tool (e.g. get_project_panel_metadata) would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_item_infoGet Item InfoBRead-onlyIdempotent
Get detailed type info about a project item (is it a sequence, multicam, merged clip, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered structurally. The description is consistent with these but adds little behavioral context beyond the classification it returns (which the output schema already covers). No contradiction, but no meaningful addition either.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler; the verb comes first and the parenthetical examples earn their place. It is efficient, though bordering on under-specified for a tool whose scope words ('detailed type info') remain slightly loose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and rich annotations, the description need not explain return values, and the core purpose is conveyed. However, for a tool surrounded by near-identical read siblings, the lack of routing or disambiguation leaves a real completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (item_id) and schema description coverage is 100%, so the schema already documents it as 'Node ID or name of the project item'. The description adds no format or usage nuance for this identifier, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (type info about a project item) and anchors the scope with concrete return categories: sequence, multicam, merged clip. The purpose is clear, but there is no differentiation from the very similarly named sibling get_project_item_info, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use guidance, no prerequisites, and never names an alternative. With siblings like get_project_item_info, get_full_clip_info, and get_clip_properties, the agent gets no help deciding which to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_keyframesGet KeyframesARead-onlyIdempotent
Get all keyframes for a specific effect property on a clip. Each key's time is in seconds from the clip's start; mediaSeconds is Premiere's stored media time.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| effect_name | Yes | Display name of the effect | |
| property_name | Yes | Display name of the property |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuine value beyond that by explaining the time semantics ('time is in seconds from the clip's start; mediaSeconds is Premiere's stored media time'), which disambiguates two timing fields that are easy to confuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and scope, followed by a high-value clarification of the time fields. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover safety. The description is complete enough to call the tool correctly, with the only minor gap being no explicit guidance on interacting with the related keyframe write tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (node_id, effect_name, property_name) are already documented in the schema. The description adds no parameter detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource+scope: 'Get all keyframes for a specific effect property on a clip.' This clearly distinguishes reading keyframes from write-side siblings like add_keyframe, remove_keyframe, and set_keyframe_interpolation, though it does not name any sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the read verb (use this to read existing keyframes), but there is no explicit when/when-not or routing to alternatives such as get_value_at_time or get_effect_properties. For a read tool in a family of keyframe tools, an agent must infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_linked_itemsGet Linked ItemsBRead-onlyIdempotent
Get all clips in the sequence that are linked to the same source as a given clip
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile well. The description adds only the 'same source' linking scope; it does not disclose return format, pagination, or edge cases, so it adds some but not rich behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single, front-loaded sentence: verb, scope, and linking condition appear immediately. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only lookup with a rich annotation set and an output schema, the description is largely complete. It identifies the linked-source scope and implies the sequence is that of the given clip, though it does not explicitly state whether the given clip itself is included or how multiple linked items are ordered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the sole parameter is documented in the schema as 'Node ID of the clip'. The description does not add format, type, or constraint details beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('all clips in the sequence that are linked to the same source as a given clip'). It clearly distinguishes a linked-item retrieval from general clip listing, but does not explicitly contrast itself with sibling tools such as get_clip_links or link_selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no alternatives. It relies entirely on the reader inferring usage from the tool name and one-sentence purpose, which is insufficient for routing among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_metadataGet MetadataARead-onlyIdempotent
Get metadata for a project item. Use parse_fields to return named XMP/project fields instead of raw XML. Project metadata XML and file/clip XMP are separate packets; disable either when identity/path is enough. Prefer inspect_project_panel_metadata_uxp item_columns or manage_metadata_uxp inspect_fields for visible columns. This is not the premiere://project/metadata resource. GPS and serials are omitted from parse_fields unless include_sensitive is true.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| parse_fields | No | Parse project metadata and XMP into named fields (default false). When true, raw XML is omitted unless include_project_metadata or include_xmp_metadata is explicitly true. | |
| include_sensitive | No | When parse_fields is true, include GPS, serials, and similar EXIF. Default false. | |
| include_xmp_metadata | No | Include the potentially large XMP XML payload (default: true unless parse_fields is true). | |
| include_project_metadata | No | Include the potentially large Project Metadata XML payload (default: true unless parse_fields is true). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, so the safety profile is covered. The description adds meaningful behavioral context: parse_fields returns named fields instead of raw XML, XML packets can be disabled when identity/path is sufficient, GPS and serials are omitted by default unless include_sensitive is true, and this is not the premiere://project/metadata resource.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded, dense, and uses no filler sentences. It packs purpose, usage guidance, alternatives, and sensitive-field caveats efficiently, though the number of clauses in one paragraph requires careful reading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, rich annotations, complete schema coverage, and existing output schema, the description supplies everything an agent needs beyond structured fields: when to use it, which alternatives to prefer for related tasks, how metadata packets behave, and sensitive-data defaults.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters, including defaults and inter-parameter behavior. The description reinforces some of that, but does not add substantial syntax or format details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Get metadata for a project item.' It also distinguishes the operation from related tools and resources by noting 'This is not the premiere://project/metadata resource' and by explaining that project metadata XML and file/clip XMP are separate packets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use parse_fields, when to disable either metadata packet, and which sibling tools to prefer for visible columns ('inspect_project_panel_metadata_uxp item_columns or manage_metadata_uxp inspect_fields'). It also clarifies the sensitive-data default behavior, leaving little inference for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mogrt_componentGet Mogrt ComponentARead-onlyIdempotent
Get MOGRT (Motion Graphics Template) component parameters from a clip. Each parameter includes textValue (visible text extracted from textEditValue when present). Pass expected_values to audit text controls such as Headline; the result flags verified, mismatch, or missing_property per field. Reads the stored property, not the Essential Graphics panel display, which Premiere can show stale (host UI behavior this tool cannot refresh).
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the MOGRT clip on the timeline | |
| expected_values | No | Optional read-only audit map of MOGRT text parameter display names to the text each should contain (for example { "Headline": "Chapter 3" }). Result audit.status is verified, mismatch, or missing_property. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, but the description adds real value beyond them: it documents the textValue extraction from textEditValue, the per-field audit outcome vocabulary (verified/mismatch/missing_property), and the important caveat that the EGP display can be stale and cannot be refreshed by this tool. That is substantive behavioral context, not a restatement of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then layered with the audit behavior and the staleness caveat. Dense but every sentence carries information; the nested parenthetical about textEditValue is slightly heavy but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description still covers the key input semantics plus the staleness limitation. For a two-parameter read tool it is essentially complete, with only the when-to-use routing against sibling inspection tools left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both node_id and expected_values are already fully documented in the schema, including the audit status vocabulary. The description reinforces the expected_values audit purpose but adds no syntax or format detail beyond what the schema supplies, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get MOGRT component parameters from a clip') and scopes it to MOGRT component properties, which cleanly separates it from generic siblings like get_clip_properties or get_effect_properties. It also clarifies it reads the stored property rather than the Essential Graphics panel display.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent to pass expected_values when auditing text controls such as Headline, which implies a usage context, but it never states when to prefer this tool over adjacent ones (get_effect_properties, inspect_dom_object, get_clip_properties) or any preconditions. Usage is 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.
get_next_edit_pointGet Next Edit PointARead-onlyIdempotent
Find the next or previous edit point (clip boundary) from the playhead position.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | No | Direction to search (default: next) | |
| track_type | No | Track type to check (default: both) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is fully covered structurally. The description adds the playhead-relative anchoring context but says nothing about boundary behavior or edge cases, so it adds only modest value 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero waste, front-loading the verb and the key scoping constraint (playhead position) immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full annotation and parameter coverage, the description need not explain return values. It is nearly complete, though it omits what happens at sequence boundaries when no further edit point exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are enums with defaults documented in the schema, so the schema carries the semantics. The description echoes the direction choice ('next or previous') but adds no format or behavior detail beyond the schema, matching the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Find') plus resource ('next or previous edit point') and clarifies the domain concept as a clip boundary located from the playhead. It is clear on its own, but it does not differentiate itself from related siblings such as move_playhead_to_edit or navigate_playhead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'from the playhead position', telling the agent this is a query anchored to the current playhead, but there is no explicit when-to-use guidance, no prerequisites, and no routing to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_offline_mediaGet Offline MediaARead-onlyIdempotent
Find all offline/missing media in the project with their expected file paths. Essential for diagnosing broken links.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world behavior, so the safety profile is covered. The description adds only that results include expected file paths; it says nothing about scope limits, empty-result behavior, or freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action and output front-loaded and zero filler. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, annotated read tool with an output schema describing the return shape, the description supplies enough to call it correctly. The only gap is the unclear distinction from the sibling check_offline_media.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 schema is trivial and fully described by having no inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Find') and resource ('all offline/missing media in the project'), plus the returned payload ('expected file paths'). It is clear what the tool does, though it does not distinguish itself from the near-namesake sibling check_offline_media.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Essential for diagnosing broken links' implies a diagnostic use case, but there is no explicit when-to-use/when-not guidance and no mention of alternatives like check_offline_media, relink_media, or refresh_media for acting on results.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_playhead_positionGet Playhead PositionARead-onlyIdempotent
Get the current playhead (CTI) position in the active sequence
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false. The description adds useful scoping by specifying the active sequence, but does not add further behavioral context such as return format or source-monitor distinction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted wording. It communicates the operation and scope immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter read tool with full annotation coverage and an output schema, the description is complete. It identifies the active sequence scope, which is the key contextual detail an agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The description does not need to explain parameter semantics, and the empty schema is fully consistent with the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (current playhead/CTI position) scoped to the active sequence. It is clearly distinct from siblings like set_playhead_position and get_source_monitor_position.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool returns but gives no when-to-use guidance or alternatives. It does not mention when to prefer this over get_clip_at_playhead, navigate_playhead, or get_source_monitor_position.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_premiere_stateGet Premiere StateARead-onlyIdempotent
Get a comprehensive snapshot of the current Premiere Pro state: project info, active sequence, playhead position, selected clips, and available sequences. The best first call to understand the current context.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is fully covered by structured data. The description's only added behavioral value is the breadth of the snapshot, which is useful but thin; pagination, freshness/latency of the state read, and error behavior when no project is open are unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The list of captured state is front-loaded and the usage hint follows immediately; every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be documented, and the description still previews the payload contents. It is essentially complete for a parameterless read, though it could note prerequisites (e.g., an open/running Premiere session) for full confidence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema imposes no semantic burden and the baseline of 4 applies. Nothing in the description adds or omits parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('Premiere Pro state'), then enumerates the exact contents of the snapshot (project info, active sequence, playhead, selected clips, available sequences). This aggregation scope distinguishes it from narrower siblings like get_active_sequence, get_project_info, or get_selected_clips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly frames itself as 'the best first call to understand the current context,' which tells the agent when to reach for it. It stops short of naming alternatives or stating when NOT to use it (e.g., when only one sub-fact is needed), so it falls 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.
get_project_infoGet Project InfoARead-onlyIdempotent
Get information about the currently open Premiere Pro project
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only the scoping phrase 'currently open', contributing limited extra behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It states the action and its target immediately and stops.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values, and with no parameters and rich annotations there is little left to document. The only shortfall is that it does not help the agent choose among the multiple project-info siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema baseline is 4. There is nothing for the description to disambiguate, and it correctly does not invent parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (get) and resource (information about the currently open Premiere Pro project), scoped clearly with 'currently open'. However, it does not distinguish itself from nearby siblings such as get_full_project_overview, get_premiere_state, or get_project_panel_metadata, so an agent cannot tell which project-level info tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use or when-not-to-use guidance and names no alternative. With several overlapping project-introspection tools in the sibling list, the agent must guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_item_infoGet Project Item InfoBRead-onlyIdempotent
Get detailed information about a project item (media file in the project panel): media path, resolution, duration, frame rate, codec info, metadata, color label, offline status, in/out points, and proxy status.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered without the description. The description adds value by naming the concrete data surface (codec, offline status, proxy status, in/out points), which tells the agent what it will learn, but it does not disclose failure modes such as behavior on an invalid or offline item.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that leads with the verb and resource, then enumerates the payload. The field list is long but each item is informative, so nothing meaningfully wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read-only getter with full annotation coverage and an output schema that documents return values, the description supplies what remains: the conceptual scope ('project panel media file') and the breadth of fields. Only sibling disambiguation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage ('Node ID or name of the project item'), so the schema carries the semantics. The description adds nothing beyond it, which is the expected baseline when the schema is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (project item), clarifying parenthetically that this is a media file in the project panel, and enumerates the returned fields. It is clear what the tool does, but it does not differentiate itself from near-siblings like get_item_info, get_clip_properties, or inspect_project_item_av_metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 the many overlapping readers in the sibling list (get_item_info, inspect_project_item_av_metadata, get_metadata, get_qe_clip_info). The agent must infer the choice from names alone, which is exactly the situation the description should resolve.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_panel_metadataGet Project Panel MetadataARead-onlyIdempotent
Get the current Project-panel column layout as XML. This is schema/layout configuration, not per-item Scene/Shot/Take values; use inspect_project_panel_metadata_uxp item_columns or get_metadata for those. Output is capped by max_chars (default 20000); when truncated is true the XML is incomplete and must not be passed to set_project_panel_metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| max_chars | No | Maximum characters of metadata XML to return (256-200000, default 20000). Longer XML is cut at this length and reported with truncated: true and totalChars. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavior: the max_chars cap, the default of 20000, and the critical rule that truncated XML is incomplete and must not be passed to the setter tool. It stops short of describing caching or refresh behavior, so 4 rather than 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, front-loaded with what the tool returns and followed immediately by the disambiguation and the truncation warning. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape detail is unnecessary here. The description covers the remaining agent-critical concerns: correct scope, correct alternative tools, and the truncation hazard. Nothing needed to call it safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is fully documented there, so baseline is 3. The description still adds value by restating the default and connecting max_chars to the truncated flag's downstream consequence, which the schema does not express.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) plus the exact resource (current Project-panel column layout) and the return format (XML). It immediately distinguishes itself from per-item metadata tools by naming get_metadata and inspect_project_panel_metadata_uxp item_columns as the wrong choices for Scene/Shot/Take values.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says what this tool is NOT (per-item values) and names the two alternatives to use instead. It also states a hard usage constraint: truncated output must not be fed to set_project_panel_metadata, which tells the agent when the result is unusable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_scratch_disksGet Project Scratch DisksARead-onlyIdempotent
Get the project's scratch disk locations (captured media, previews, auto-save, Motion Graphics template media, and more). Premiere's scripting API has no scratch-disk getter, so the settings are read from the saved .prproj file; unsaved changes are not reflected. 'SameAsProject' resolves to the project's folder.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description adds substantial non-obvious behavior: Premiere's scripting API has no scratch-disk getter, so values come from the saved .prproj and stale-unsaved-changes are not reflected, plus 'SameAsProject' resolution semantics. This is exactly the kind of context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with what the tool returns, followed by the provenance constraint and the enum-value resolution rule. No filler and every sentence carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return structure, and it covers the two things the schema cannot: where the data actually comes from (saved .prproj, not live state) and how 'SameAsProject' is resolved. Nothing needed to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The description appropriately spends no space on parameter documentation and instead clarifies result semantics, which is the right allocation for a no-arg getter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get the project's scratch disk locations') and enumerates the categories covered (captured media, previews, auto-save, MOGrt template media). The get/set verb split makes it distinguishable from set_project_scratch_disk and set_scratch_disk_path, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: an agent can infer this is the inspection counterpart to the scratch-disk setters. There is no explicit when-to-use/when-not guidance or named alternative, though the provenance caveat ('unsaved changes are not reflected') does inform when the result is trustworthy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_qe_clip_infoGet Qe Clip InfoARead-onlyIdempotent
Get QE DOM information about a clip, including properties not available through the standard API.
| Name | Required | Description | Default |
|---|---|---|---|
| clip_index | Yes | Clip index on the track (0-based) | |
| track_type | Yes | Track type | |
| track_index | Yes | Track index (0-based) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint, and openWorldHint, so the safety profile is covered. The description adds domain context that this accesses QE DOM data beyond the standard API, but it does not mention prerequisites, failure modes, or host availability constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence with no filler. It communicates the core purpose and the special QE DOM scope efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the annotations cover safety behaviors. The description is mostly complete for a simple read tool, though it could say more about when QE DOM access is appropriate versus standard clip tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three required parameters documented in the schema itself. The description adds no parameter-specific meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: retrieving QE DOM information about a clip. It also differentiates the result from the standard API by noting properties not otherwise available, though it does not name a specific sibling tool such as get_clip_properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'properties not available through the standard API' implies when this tool is useful, but there is no explicit when-to-use guidance or named alternative. The agent must infer that this is for QE-specific data rather than general clip inspection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_render_queue_statusGet Render Queue StatusARead-onlyIdempotent
Report the Adobe Media Encoder queue running state, or fail closed with a named capability error when this Premiere build exposes no queue-status method on app.encoder.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context by disclosing that it fails closed with a named capability error when the queue-status method is unavailable, though it does not elaborate on rate limits or return timing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It puts the primary purpose first and appends the fallback behavior efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only status tool with an output schema and full annotation coverage, the description is complete enough. It explains the purpose, the external dependency, and the failure mode, leaving return details to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, which establishes a baseline of 4. The description adds no parameter information, but none is needed because the input schema is empty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Report) and resource (Adobe Media Encoder queue running state), and it clearly distinguishes this status-read tool from siblings like add_to_render_queue or start_batch_encode. The fail-closed condition is an additional distinguishing detail that an agent can use for selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool's intended context is clear: use it to report the AME queue running state, with a named fallback if this Premiere build lacks the underlying method. However, it does not explicitly name alternatives or state when-not-to-use conditions beyond the capability fallback.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_selected_clipsGet Selected ClipsARead-onlyIdempotent
Get the currently selected clips in the active sequence
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds the useful scoping fact that results are limited to the active sequence and reflect the current selection state, but does not mention behavior on an empty selection or whether the selection spans tracks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, front-loading the verb and the key scoping qualifier ('currently selected'). Nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich annotation set, an output schema, and no parameters, the definition covers what an agent needs to call it. The only missing nuance is empty-selection behavior or result shape expectations, a minor gap given the output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline rubric a 4 applies; the description correctly implies no input is required and frames the result as the live selection state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get'), resource ('clips'), and scope ('currently selected in the active sequence'). This clearly differentiates it from siblings like select_all_clips, invert_selection, or get_clip_at_position, though it doesn't name any alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only states what the tool does. It gives no guidance on when to reach for this versus selection-manipulation siblings (set_clip_selection, select_all_clips) or position-based retrievers (get_clip_at_position, get_clip_at_playhead), and no preconditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sequence_countGet Sequence CountARead-onlyIdempotent
Get the total number of sequences in the project.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is clear without the description. The description adds no further behavioral context such as authentication needs, rate limits, or return-shape details beyond what the output schema provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It directly states the operation and its scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity, zero parameters, rich annotations, and an existing output schema, the description is complete enough for correct tool selection and invocation. No additional explanation of return values or parameters is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so parameter semantics are not applicable and the baseline is 4. The empty schema leaves nothing for the description to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: getting the total number of sequences in the project. It is clear and distinguishes the count operation from list-like siblings such as list_sequences, but it does not explicitly name or route against those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no when-to-use guidance, prerequisites, or comparison to alternatives. It does not tell an agent when to call get_sequence_count instead of list_sequences or another sequence-inspection tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sequence_in_out_pointsGet Sequence In Out PointsBRead-onlyIdempotent
Get the current sequence in and out points
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false. The description adds only the term 'current' and no additional behavioral context such as return format, permissions, or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is appropriately sized for a zero-parameter getter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity, zero parameters, rich annotations, and an output schema, the description is sufficient for an agent to invoke the tool correctly. It could be improved by explicitly distinguishing it from set_sequence_in_out_points and clear_sequence_in_out.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the description does not need to document parameter semantics. The baseline for no parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Get) and resource (current sequence in and out points), so the purpose is clear. It does not distinguish itself from sibling tools such as set_sequence_in_out_points or clear_sequence_in_out, which keeps it below 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternative getter/setter siblings. The intended use is obvious for a getter, but the description provides no explicit routing or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sequence_markers_by_typeGet Sequence Markers By TypeBRead-onlyIdempotent
Get all markers of a specific type (comment, chapter, web link, etc.) from a sequence.
| Name | Required | Description | Default |
|---|---|---|---|
| marker_type | Yes | Type of marker to filter | |
| sequence_id | No | Sequence name or ID. Uses active sequence if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds no behavioral detail beyond the selection scope, nor return format (which the output schema covers).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler: the action, filter, and source are all stated immediately. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, read-only, two-parameter tool with a full output schema and rich annotations, the description covers the core scope adequately. It falls short only in not distinguishing the tool from closely related marker-listing siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters documented and marker_type fully enumerated. The description's parenthetical examples (comment, chapter, web link) mirror the enum but add no syntax or default behavior beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get'), resource ('markers'), and a filtering dimension ('of a specific type') from a sequence. The type filter helps distinguish it from an unfiltered marker list, but it does not explicitly name or contrast with sibling 'list_markers' or 'get_clip_markers'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance, no exclusions, and no alternatives are named. The description implies retrieval by marker type, but an agent must infer when to choose this over 'list_markers' or other marker tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sequence_settingsGet Sequence SettingsBRead-onlyIdempotent
Get the settings (resolution, frame rate, etc.) of a sequence
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | No | Sequence ID or name. Uses active sequence if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds only that the result contains settings like resolution and frame rate, which is useful but not rich behavioral context. Since the output schema exists, return-value details need not be repeated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It states the action and the resource immediately and uses a parenthetical only for illustrative examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter, rich annotations, and an output schema, the description is nearly sufficient for correct invocation. Its main gap is the lack of disambiguation from sibling read tools like inspect_sequence_av_settings, which an agent might otherwise confuse with this one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single optional parameter and schema description coverage is 100%, so the schema already explains that sequence_id accepts an ID or name and defaults to the active sequence. The description adds no parameter-level meaning beyond that, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and resource ('settings of a sequence') and gives examples of the returned settings (resolution, frame rate). It does not differentiate this tool from overlapping read siblings such as inspect_sequence_av_settings or get_full_sequence_info, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no explicit guidance on when to use this tool versus its many siblings, nor does it name alternatives or exclusions. The only usage hint ('Uses active sequence if omitted') is inherited from the input schema, not the description itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sequence_structureGet Sequence StructureARead-onlyIdempotent
Get a complete structural overview of the active sequence: all tracks, all clips with positions, gaps, and clip metadata. Essential for understanding timeline state before making edits.
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | No | Sequence name or ID. Uses active sequence if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that the result is a complete overview including gaps and metadata, but does not disclose return format, pagination, or error behavior; with an output schema present this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste, front-loaded with the core action and scope. The second sentence adds usage context efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with full schema coverage, rich annotations, and an output schema, the description is complete enough. It tells the agent what it returns and when to use it, and the missing return-format details are covered by the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single optional sequence_id parameter is documented in the schema as accepting a name or ID with fallback to the active sequence. The description adds no parameter details beyond that baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (sequence structure), and enumerates the output scope: tracks, clips with positions, gaps, metadata. This clearly separates it from settings-oriented or summary-oriented siblings, but it does not explicitly name an alternative tool to route against.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear usage context: 'Essential for understanding timeline state before making edits.' This tells the agent when to call it, but there is no when-not guidance and no explicit alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_source_monitor_infoGet Source Monitor InfoBRead-onlyIdempotent
Get information about the clip currently loaded in the Source Monitor.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered by structured data. The description adds only the implicit state dependency on the source monitor's currently loaded clip; it discloses nothing further about behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and resource up front and no padding. It is appropriately sized, though it is arguably too terse to earn a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with an output schema and full annotation coverage, the description supplies enough context to call it correctly. Return values need not be explained because an output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for the description to clarify about inputs, and it does not mislead in this respect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb ('Get') and a specific resource ('information about the clip currently loaded in the Source Monitor'). It is distinguishable from siblings like get_source_monitor_position and play_source_monitor, though the description never explicitly names what separates it from those tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 mention of alternatives or prerequisites. The phrase 'currently loaded' implies the source monitor must have a clip, but this is not stated as a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_source_monitor_positionGet Source Monitor PositionARead-onlyIdempotent
Get the current time indicator position in the Source Monitor
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered structurally. The description only clarifies what 'position' means (the time indicator in the Source Monitor), adding modest context but no return format, units, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler; the resource and the specific value returned are stated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema present, the description need not explain return values. It is essentially complete for a simple read tool, though a note on timebase/units would have made it airtight.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters and 100% schema coverage, so the baseline of 4 applies. There is nothing parameter-related the description needs to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear specific verb+resource: retrieves the Source Monitor playhead/time indicator position. It is distinguishable from write-side siblings like set_playhead_position, but the description does not differentiate it from the closely related get_source_monitor_info or get_playhead_position in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to call this versus get_source_monitor_info, get_playhead_position, or get_qe_clip_info. The agent must infer the use case from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_target_tracksGet Target TracksARead-onlyIdempotent
Get which tracks are currently targeted for editing. Premiere allows several video or audio tracks to be targeted at the same time; every targeted track is listed. Tracks whose state cannot be read are listed under unreadable.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld=false). The description adds useful behavioral context beyond that: multiple tracks can be targeted simultaneously, every targeted track is returned, and unreadable states appear under 'unreadable'. This partial-result behavior is valuable and not in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three efficient sentences, front-loaded with the core purpose and then adding only the key constraints (multiple tracks, unreadable fallback). No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return format need not be described; annotations cover safety. The description adds the one behavioral nuance (unreadable tracks) an agent needs to interpret the result correctly. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The description correctly does not discuss parameters and there is nothing to compensate for.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('which tracks are currently targeted for editing'), and the detailed clause about multiple targeted video/audio tracks in Premiere makes the scope unambiguous. An agent can readily distinguish this from set_target_track or get_track_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (to discover current targeting state) but does not explicitly name alternatives or say when not to use it. No routing to set_target_track or set_all_tracks_targeted is provided, so guidance is 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.
get_timeline_gapsGet Timeline GapsARead-onlyIdempotent
Find all gaps (empty spaces) on the timeline between clips. Useful for identifying where content is missing or where clips can be tightened.
| Name | Required | Description | Default |
|---|---|---|---|
| track_type | No | Which track type to analyze (default: both) | |
| sequence_id | No | Sequence name or ID. Uses active sequence if omitted. | |
| min_gap_seconds | No | Minimum gap duration in seconds to report (default: 0.04 = ~1 frame at 24fps) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds only that gaps are empty spaces between clips and their diagnostic purpose, without extra operational details such as default sequence behavior or scope limits; with annotations carrying the behavioral load, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both earning their place, with the core purpose front-loaded and no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, all parameters are fully documented, and annotations cover the safety profile. The description supplies the remaining conceptual context about what gaps are and why they matter, making the definition complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and all three parameters are documented in the schema. The description adds no parameter-specific meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Find all gaps (empty spaces) on the timeline between clips.' It clarifies what a gap is, but does not name or distinguish itself from any sibling tool, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for when the tool is useful: 'identifying where content is missing or where clips can be tightened.' It does not, however, provide explicit when-not guidance or name alternative tools, so it is not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_timeline_summaryGet Timeline SummaryARead-onlyIdempotent
Get a human-readable summary of the timeline: total duration, clip count per track, total gaps, coverage percentage, used media files, effect usage, and marker overview. Great for a quick understanding of sequence state.
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | No | Sequence name or ID. Uses active sequence if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false. The description adds that the output is a human-readable summary and lists its components, but no operational details beyond that, which is adequate given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the resource and its contents, followed by a brief usage note. It is efficient and no sentence is clearly wasted, though the second sentence is mildly promotional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low-complexity, has an output schema, and is covered by read-only annotations. The description sufficiently conveys what the summary contains; no critical agent-facing information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter and schema description coverage is 100%, so the schema already fully documents sequence_id. The description adds no parameter meaning beyond the schema, matching the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('timeline summary'), then enumerates the summary contents. It is clear but does not distinguish itself from siblings such as get_full_sequence_info or get_sequence_structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Great for a quick understanding of sequence state' gives an intended usage context, but there is no explicit when-not guidance or named alternative among the many sibling inspection tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_total_clip_countGet Total Clip CountARead-onlyIdempotent
Get the total number of clips across all tracks in the active sequence.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the useful scope of 'across all tracks in the active sequence,' but does not discuss prerequisites or behavior when no sequence is active.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single front-loaded sentence with no wasted words. It communicates the entire operation efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool with rich annotations and an output schema, the description is complete. It states what is counted and where, and return details are covered by the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the baseline is 4. The schema is empty and the description does not need to document parameter meanings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('total number of clips'), and scopes it precisely to 'across all tracks in the active sequence.' This distinguishes it from sibling getters such as get_clip_at_position or list_sequence_tracks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no exclusions, and names no alternatives among the many sibling tools. It implies the tool is for counting clips, but offers no routing context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_track_infoGet Track InfoBRead-onlyIdempotent
Get detailed information about a specific track: name, clip count, muted, locked, targeted, and list of all clips.
| Name | Required | Description | Default |
|---|---|---|---|
| track_type | Yes | Track type | |
| track_index | Yes | Track index (0-based) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is fully covered by structured data. The description adds the field list read out of a track but says nothing about track_type constraints, error behavior for out-of-range indices, or whether targeting reflects sequence-level state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and resource, with the return fields listed compactly. Nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return shape, and annotations cover the safety profile; parameters are fully documented in the schema. It is essentially complete for a simple two-parameter read, with only the lack of disambiguation from sibling introspection tools as a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents the video/audio enum and the 0-based index convention. The description adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('get detailed information about a specific track') and enumerates the returned fields, so the agent knows exactly what comes back. It does not distinguish itself from neighboring introspection tools such as list_sequence_tracks or get_clip_properties, which keeps it below a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives. The agent must infer from the name alone that this is the per-track lookup as opposed to the whole-sequence or per-clip equivalents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_unused_mediaGet Unused MediaARead-onlyIdempotent
Find project items that are NOT used in any sequence. Useful for cleaning up projects. Results are paged (default 100 items) and can be filtered by a case-insensitive name substring; follow nextOffset while truncated is true.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum unused project items entries to return (1-500, default 100). | |
| offset | No | Zero-based index of the first unused project items entry to return (default 0). Pass the previous response's nextOffset to read the next page. | |
| contains | No | Optional case-insensitive substring matched against project item names before paging. Omit or pass an empty string to include every entry. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is covered. The description adds valuable behavioral context about paging defaults, case-insensitive filtering, and following nextOffset while truncated is true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste; the core purpose is front-loaded, followed by practical paging and filtering details. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values. It covers the core purpose, the cleanup use case, and the paging/filtering mechanics that an agent needs to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents limit, offset, and contains fully. The description repeats the default page size and filter behavior but adds little parameter syntax beyond what is already in the schema, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Find') and resource ('project items that are NOT used in any sequence'), and distinguishes itself from the sibling get_used_media_report by stating the inverse scope. An agent can immediately tell what the tool returns without reading the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use case ('Useful for cleaning up projects') and describes paging/filtering behavior. It does not explicitly name when to prefer it over alternatives like list_project_items or get_used_media_report, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_used_media_reportGet Used Media ReportARead-onlyIdempotent
Get a report of all media files used in a sequence: which source files are used, how many times each appears, on which tracks, and whether any sources are offline.
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | No | Sequence name or ID. Uses active sequence if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds the report's scope (counts, tracks, offline detection) but nothing about performance, large-sequence behavior, or return shape. Adds some value over annotations, not rich context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that names the resource first and then enumerates scope. Every clause earns its place with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only report tool with an output schema present, the description is essentially complete: the agent knows the resource, the optional scoping parameter (from schema), and the nature of the payload. Only minor gain would come from contrasting it with sibling media-audit tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter's schema already explains that it accepts a sequence name/ID and defaults to the active sequence. The description never mentions the parameter, so it adds nothing beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (get) and resource (used media report) and enumerates the report's contents: source files used, appearance counts, tracks, and offline status. This cleanly separates it from siblings like get_unused_media, get_duplicate_media, and check_offline_media.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by describing what the report contains (useful when auditing which source media a sequence consumes), but there is no explicit when-to-use guidance, no prerequisites, and no named alternative among the many sibling media/inspection tools. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_value_at_timeGet Value At TimeBRead-onlyIdempotent
Get the interpolated value of an effect property at a time, in seconds from the clip's start
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| effect_name | Yes | Display name of the effect | |
| time_seconds | Yes | Seconds from the clip's start on the timeline (0 is the clip's first frame) to read the value at | |
| property_name | Yes | Display name of the property |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds one genuine behavioral nuance beyond them – that the value is 'interpolated' (computed at that time) rather than a stored keyframe – but says nothing about out-of-range times or edge behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence that front-loads the verb and resource and ends with the time base. Nothing is wasted, though there is little structure beyond that one clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read-only getter with a full output schema and safety annotations, the description covers purpose and behavior adequately. Its main gap is that it doesn't position the tool against its closest sibling getters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented in the schema, including the 'seconds from the clip's start (0 is first frame)' time base. The description adds no syntax or format detail beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'get the interpolated value of an effect property at a time.' The 'interpolated ... at a time' phrasing distinguishes it from sibling getters like get_effect_properties and get_keyframes, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use, when-not-to-use, or alternative guidance. It leaves the agent to infer when this beats get_effect_properties or get_keyframes on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_version_infoGet Version InfoARead-onlyIdempotent
Get Premiere Pro version and build information.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety and repeatability profile is fully covered externally. The description adds no behavioral context of its own (no auth or connection prerequisites, no note that it reflects the live host app), so it neither adds value nor contradicts anything.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with no filler, and the resource being queried is front-loaded. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and this is a zero-parameter read operation with full annotation coverage, leaving very little an agent needs. The only minor omission is any hint of when to call it (e.g., verifying the host connection/app version before other operations).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to explain; the baseline for a parameterless tool is 4. Nothing in the description could compensate for a gap that does not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (Premiere Pro version and build information), and even narrows the payload to version+build. It is clear what the tool does, but it offers no differentiation from lookalike siblings such as get_capabilities or get_advanced_feature_support.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is given; the agent must infer that this is a diagnostic/compatibility check. The intent is obvious enough from the name and scope, but no alternative is named and no context is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_work_areaGet Work AreaARead-onlyIdempotent
Get the current work area in and out points
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds only the narrow behavioral fact that it reads current in/out points, which is minimal beyond what the annotations and output schema provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with zero filler, and the verb and resource are front-loaded. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters, an output schema, and annotations covering safety, the description is largely sufficient. A minor gap is that it does not tie 'work area' to sequence context or clarify its relationship to get_sequence_in_out_points, which matters in a large sibling toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so the baseline score is 4. There are no parameter semantics to clarify, and the description appropriately does not invent any.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific read operation and its return data: the current work area's in and out points. It does not, however, distinguish this from closely related siblings such as get_sequence_in_out_points or set_work_area, leaving the agent to infer whether 'work area' is a synonym or a distinct concept.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not state whether the work area is a sequence-level, project-level, or panel-level concept, nor does it mention any prerequisite or related tool to use before or after.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workspacesGet WorkspacesARead-onlyIdempotent
List all available workspace layouts in Premiere Pro
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint false), so the description carries a lower burden. It adds only the scope qualifier 'all available' and the app context 'Premiere Pro', which is modest added value, but no auth or rate-limit details are needed for a trivial getter. A 3 is appropriate given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single front-loaded sentence with no filler; every word contributes to identifying the verb, resource, scope, and app context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless read tool with rich annotations and an existing output schema, the description is nearly sufficient. Return contents are not described, but the output schema covers that, so no critical gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing for the description to document and the baseline is 4. Schema description coverage is 100% and the empty object schema is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('all available workspace layouts in Premiere Pro'), so an agent can tell it apart from set_workspace by the read-only verb even though no sibling is named. Clear but not explicitly differentiated from siblings in the text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives. The sibling set_workspace is the natural counterpart but is never mentioned, nor is any precondition (e.g., query workspaces before switching).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_xmp_metadataGet Xmp MetadataARead-onlyIdempotent
Get the raw file/clip XMP packet for a project item (Dublin Core, EXIF, IPTC, xmpDM, and other namespaces). Distinct from Premiere-private project metadata. Omit GPS and camera serials from user-facing reports unless requested.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, destructiveHint false, and openWorldHint false, so the safety profile is covered. The description adds useful behavioral context by identifying the returned packet contents and advising to omit GPS and camera serial numbers from user-facing reports unless requested.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose. Each sentence earns its place: the first defines the resource and contents, the second distinguishes it from private project metadata, and the third gives a relevant privacy-handling instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only metadata retrieval tool with rich annotations, a complete input schema, and an output schema, the description supplies the necessary context. It covers what is returned, what it is not, and an important privacy caveat, with no material gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single item_id parameter is fully documented in the schema as a 'Node ID or name of the project item.' The description adds no parameter-level detail beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Get the raw file/clip XMP packet for a project item.' It scopes the content with namespaces (Dublin Core, EXIF, IPTC, xmpDM) and explicitly distinguishes itself from Premiere-private project metadata, so an agent can tell it apart from related metadata tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for when this tool is appropriate by contrasting it with 'Premiere-private project metadata,' which helps the agent avoid using it for that case. However, it does not name an explicit alternative tool or state precise when-not-to-use conditions beyond that distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
has_proxyHas ProxyC
Check if a project item has a proxy attached
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames this as a boolean query ('Check if...'), which naturally implies a read-only, repeatable operation, yet the annotations declare readOnlyHint=false and idempotentHint=false. That is a direct mismatch between the described semantics and the declared behavior, and the description adds nothing about permissions or side effects to resolve it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with zero filler. It is efficient, though extremely terse for a tool whose safety profile is ambiguous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the single-parameter surface is simple. However, for a tool whose annotations suggest non-read-only, non-idempotent behavior, the description should have clarified whether the check has side effects or state requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter (item_id) is fully documented in the schema as a node ID or name, so the description correctly carries no additional parameter detail. Baseline 3 applies since the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Check if') and resource ('a project item has a proxy attached'), which is clearly distinct from the mutating siblings detach_proxy and manage_proxies. It does not, however, explicitly name or contrast those siblings, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no routing to alternatives, even though detach_proxy and manage_proxies sit in the same proxy family. The agent must infer from the name alone that this is the read/query counterpart to those mutation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_ae_compsImport Ae CompsA
Import After Effects compositions from an .aep file, failing closed when the file does not exist or when the target bin gains no items.
| Name | Required | Description | Default |
|---|---|---|---|
| comp_names | No | Array of composition names to import. If omitted, imports all comps. | |
| target_bin | No | Target bin name or node ID (optional) | |
| ae_project_path | Yes | Full path to the .aep file |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a non-destructive, non-idempotent write operation, but the description adds valuable fail-closed semantics: it aborts when the file is missing or when the target bin gains no items. This is meaningful behavioral context beyond what the annotations provide, and it does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero wasted words. It communicates the core action and the failure behavior efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich schema, full parameter descriptions, and an output schema, the description only needs to cover the core behavior and edge cases. It does so via the fail-closed clause, though it omits any prerequisite about After Effects connectivity or project state, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all three parameters. The description adds no additional parameter semantics beyond what is already in the schema, which is the expected baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Import After Effects compositions from an .aep file'), clearly identifying the operation. However, it does not explicitly differentiate this tool from related import siblings such as import_mogrt or import_sequences, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor does it state prerequisites or exclusions. Usage is only implied by the tool's purpose, matching the 'no guidance' calibration for this dimension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_edlImport EdlA
Unavailable by design: CMX 3600 EDL import opens Premiere UI that can block the CEP bridge. No import is attempted; convert the EDL to FCP7 XML and use import_fcp_xml for unattended interchange.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Absolute path to the CMX 3600 .edl file that was requested for import. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says no import is attempted, which implies a safe no-op, but annotations declare readOnlyHint=false, meaning the tool may modify state. That is a direct contradiction about whether the tool has 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, front-loaded with the unavailability reason and followed by the concrete alternative. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return values. It gives the agent enough context to avoid the tool and use import_fcp_xml instead, which is complete for a disabled import stub.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single file_path parameter is documented in the schema. The description adds no parameter-level meaning beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (CMX 3600 EDL import) and immediately distinguishes itself from the usable path by naming import_fcp_xml. An agent can tell this is a disabled import tool 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says the tool is unavailable by design and gives the exact alternative workflow: convert the EDL to FCP7 XML and call import_fcp_xml. This covers when not to use it and what to do instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_fcp_xmlImport Fcp XmlA
Open a Final Cut Pro XML file as a new Premiere project. app.openFCPXML(path, projPath) requires a destination project path; it does not merge the XML into the currently open project. verified is true only when that destination exists as a file and Premiere has that exact path open.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Full path to the FCP XML file to read | |
| project_path | Yes | Full path of the new .prproj file Premiere should create for the imported timeline. Required: app.openFCPXML takes both a source and a destination path. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already covering safety hints, the description adds meaningful behavior: a destination project path is required, the XML is not merged, and the verified flag depends on the destination file existing and being open in Premiere. This goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose, followed by the key constraint and verification semantics. No wasted language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be fully explained, and the description still clarifies the verified flag. It covers the main operational constraints, though it could say more about failure modes or supported FCPXML expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces that both source and destination paths are required by referencing app.openFCPXML(path, projPath), but it does not add new format or syntax details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: opening a Final Cut Pro XML file as a new Premiere project. It also distinguishes the operation from merging into the current project, which helps separate it from sibling import tools like import_edl or import_sequences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the usage context and a when-not condition: the XML is opened as a new project and does not merge into the currently open project. It does not name explicit alternatives, but the destination-path requirement gives strong operational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_folderImport FolderC
Import an entire folder of media into the project
| Name | Required | Description | Default |
|---|---|---|---|
| folder_path | Yes | Path to the folder to import |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive, non-idempotent, closed-world mutation, so the safety profile is covered. The description adds nothing behavioral beyond that: it does not say whether subfolders are recursed, whether bins are created, or what happens if the folder was already imported.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no padding or repetition. It is efficient, though it is arguably too terse for a mutation tool of this scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and one fully documented parameter is simple. Still, for a folder-level ingest operation the description omits recursion behavior, duplicate handling, and target bin destination—gaps an agent would want before calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and the schema documents it at 100% coverage ('Path to the folder to import'). The description provides no additional syntax, path-format, or relative-vs-absolute guidance, so it lands at the baseline for fully covered schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb and resource: importing a whole folder of media into the project. The scope word 'entire' distinguishes it from a single-file import, but the description never names or contrasts with siblings such as import_media, import_image_sequence, or import_sequences.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to choose this over import_media or import_image_sequence, and no preconditions (project must be open, media must be online, behavior on overlapping items) are given. The agent must infer routing from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_image_sequenceImport Image SequenceB
Import a numbered image sequence as a single video clip.
| Name | Required | Description | Default |
|---|---|---|---|
| target_bin | No | Target bin name to import into (optional, imports to root if omitted) | |
| first_file_path | Yes | Full path to the first image in the sequence (e.g., /path/to/frame_001.png) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false. The description adds that the sequence becomes 'a single video clip,' which is useful behavior beyond annotations, but it omits permissions, overwrite behavior, format support, and other operational 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is appropriately sized, though it could be slightly more informative without being bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and annotations carry much of the burden, and the schema fully covers parameters. However, for a tool in a crowded import family, the description lacks disambiguation from siblings and operational context needed for confident selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are fully documented in the schema. The description adds no parameter detail, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Import') and resource ('numbered image sequence as a single video clip'). This distinguishes it from generic media import, but it does not explicitly differentiate from sibling tools like import_sequences or import_media.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use, when-not-to-use, or alternative tool guidance is provided. The usage context is only implied by the name and short description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_mediaImport MediaB
Import media files into the project and confirm a new project item for each file
| Name | Required | Description | Default |
|---|---|---|---|
| file_paths | Yes | Array of file paths to import | |
| target_bin | No | Optional bin name or node ID to import into. Imports to root if omitted. | |
| suppress_ui | No | Suppress import dialogs (default: true) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-readOnly, non-idempotent, non-destructive, non-openWorld write. The description adds one behavioral detail (each file yields a new project item), which usefully signals creation, but it does not warn that repeated imports create duplicates or explain what suppress_ui does in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the core action is stated first and the outcome follows. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and all three parameters are documented. The only real gap is the lack of sibling disambiguation among the many other import_* tools, which slightly limits completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so file_paths, target_bin, and suppress_ui are already fully documented in the schema. The description adds no extra semantics about path formats, bin resolution, or the default suppression behavior, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Import media files into the project', plus an outcome ('confirm a new project item for each file'). It does not distinguish itself from close siblings like import_folder, import_image_sequence, or import_sequences, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites, and no routing to alternatives such as import_folder or import_image_sequence, which an agent would plausibly confuse this with. The only hint is the 'media files' phrasing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_mogrtImport MogrtA
Import a Motion Graphics Template (.mogrt) file and add it to the timeline. Pass text_values (for example { "Headline": "..." }) to write each text control explicitly after insertion and verify it by readback, so a template default or stale value is never left in place silently.
| Name | Required | Description | Default |
|---|---|---|---|
| mogrt_path | Yes | Full path to the .mogrt file | |
| text_values | No | Optional map of MOGRT text parameter display names to the exact text to write (for example { "Headline": "Chapter 3" }). Each value is written explicitly after import and read back; the result reports verified, mismatch, missing_property, or committed_unverified per field. | |
| track_index | No | Video track index (default: 0) | |
| start_seconds | No | Start time in seconds (default: 0) | |
| duration_seconds | No | Duration in seconds (default: 5). Applied after import by moving the graphic's end and read back; a duration that would overlap the next clip on the track is not applied. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the generic non-read-only, non-destructive, non-idempotent profile. The description adds real behavioral detail beyond that: text values are written explicitly after insertion and verified by readback, and duration is applied post-import and read back with overlapping durations rejected. This is exactly the extra context annotations cannot supply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, with the core purpose front-loaded before the verification rationale. The second sentence is long but every clause (explicit write, readback, avoiding stale defaults) carries information, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not needed, and the annotations cover the safety profile. The description covers the key side effects (post-import writes, readback, duration clipping), though it does not warn that repeated calls are non-idempotent and will duplicate the graphic on the timeline.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description still adds value by explaining the intent behind text_values (avoiding stale/default text) and the readback verification flow, going beyond the schema's mechanical field docs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Import a Motion Graphics Template (.mogrt) file and add it to the timeline'), which is concrete enough to distinguish it from set/sequence tools. However, it never contrasts itself with close siblings like import_mogrt_from_library or import_media, leaving the agent to infer which import path applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear guidance on when to pass text_values and why (so defaults are not silently left in place), which is useful implied usage. But there is no guidance on when to choose this tool over the many other MOGRT/import siblings (import_mogrt_from_library, import_media, import_ae_comps), so the selection decision is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_mogrt_from_libraryImport Mogrt From LibraryA
Request importing a MOGRT from a named Adobe Creative Cloud Library. Library contents cannot be enumerated through CEP; host acceptance is committed_unverified, and rendered appearance must be checked in Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| mogrt_name | Yes | Name of the MOGRT in the library | |
| track_index | No | Video track index (default: 0) | |
| library_name | Yes | Name of the Adobe Creative Cloud Library that contains the MOGRT | |
| start_seconds | No | Start time in seconds (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-idempotent, non-destructive mutation, and the description adds real behavioral context beyond them: library contents cannot be enumerated via CEP, host acceptance is 'committed_unverified' (fire-and-forget), and rendered appearance must be manually checked in Premiere. It stops short of stating permission/auth requirements or error behavior, but the unverified-commit disclosure is genuinely valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, purpose front-loaded and the caveats packed into the second. It is efficient, though the second sentence is dense with internal jargon ('committed_unverified') that is not self-explanatory.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the description covers the key caveats (unverifiable host acceptance, manual visual check) for a mutation tool. It leaves out auth and failure handling, but is otherwise complete for calling the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented in the schema. The description only echoes the library_name concept and adds no syntax or format detail beyond it, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Request importing a MOGRT') plus the source scope ('from a named Adobe Creative Cloud Library'), which distinguishes it from the sibling import_mogrt and the publish_mogrt_to_library family. An agent can tell what this 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the 'from a named Library' framing, but the description never explicitly says when to pick this over import_mogrt or names any alternative or exclusion condition. An agent must infer the routing from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_sequencesImport SequencesC
Import sequences from another Premiere Pro project file
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes | Full path to the source .prproj file | |
| sequence_ids | Yes | Non-empty array of sequence IDs to import from the source project. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds no behavioral context: it doesn't say which project the sequences land in (presumably the currently open one), whether imports can be repeated, or whether name collisions with existing sequences are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with zero filler. It is arguably under-specified rather than bloated, so conciseness itself is good but the brevity borders on insufficient for a mutation tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the mutation safety profile. However, for a write operation with no idempotency guarantee, the description omits the essential fact of which project the sequences are imported into and what happens on name conflicts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (project_path, sequence_ids) are documented in the schema itself, so the baseline is 3. The description adds no format or constraint detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Import) and resource (sequences), plus the source (another Premiere Pro project file), which distinguishes it from siblings like import_media, import_folder, import_fcp_xml, and import_ae_comps. No sibling is named explicitly, but the source constraint does most of the differentiating work.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 versus the many other import tools, no prerequisites (e.g., the target project must be open), and no note about whether this can be undone. Usage is only implied by the verb 'Import' and the source qualifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
insert_from_sourceInsert From SourceA
Insert the clip from the Source Monitor at the playhead (insert edit). Experimental: a target clip spanning the playhead is QE-razored before insertion to attempt to preserve its split tail. By default the tool also razors and shifts every QE sync-locked track, then reads the placement and target tails back; a displaced tail is reported as committed_unverified. Pass scope 'target_tracks' to ripple only the named pair (this will desync other tracks).
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Which tracks shift: 'sync_locked' (default) matches Premiere's insert and keeps sync-locked tracks in sync; 'target_tracks' ripples only the named pair and WILL desync other tracks. | |
| audio_track_index | No | Target audio track index (default: 0) | |
| video_track_index | No | Target video track index (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark it as a non-readonly, non-idempotent write with destructiveHint false, but the description adds substantial context beyond that: experimental razoring of a spanning clip, default sync-locked track shifting, tail verification, and the committed_unverified report. It also warns that 'target_tracks' scope will desync other tracks. This is rich behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then experimental details, then scope guidance. Three dense sentences with no filler, though the middle sentence is slightly packed with technical nuance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the experimental nature, full schema coverage, and an existing output schema, the description covers prerequisites, side effects, and the committed_unverified result nuance. Nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so audio/video track indices and the scope enum are fully documented in the schema. The description's scope note largely repeats the schema's own warning about desyncing other tracks, adding little new parameter meaning. Baseline 3 applies when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (insert), resource (clip from the Source Monitor), and location (at the playhead), with the parenthetical 'insert edit' distinguishing it from overwrite-based siblings. An agent can tell this apart from overwrite_from_source and add_to_timeline without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the default behavior and the effect of the 'scope' parameter, including a desync warning, but does not explicitly state when to use this tool versus alternatives like overwrite_from_source or add_to_timeline. Usage is implied by the operation name rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_after_effects_render_templatesInspect After Effects Render TemplatesARead-onlyIdempotent
Read available render and output-module template names from the first existing After Effects render-queue item. It never queues or renders a composition.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The sentence 'It never queues or renders a composition' adds a valuable negative guarantee beyond the readOnlyHint/destructiveHint annotations, clarifying side effects. Combined with idempotent and openWorld hints, the behavioral profile is well-covered, though retrieval failure modes (e.g., empty render queue) aren't mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and resource, followed immediately by the side-effect disclaimers. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values need not be explained. The description covers scope and non-destructive behavior adequately for a zero-param read tool, but could mention behavior when the render queue is empty.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so baseline is 4. Nothing to document and the description doesn't need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (render and output-module template names) and constrains scope to the first existing render-queue item. This is distinct from siblings like enqueue_after_effects_render or preview_after_effects_render, though it doesn't explicitly name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage by describing what it reads, but doesn't state when to use this versus preview_after_effects_render, inspect_after_effects_template_source, or the enqueue tools. No explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_after_effects_template_sourceInspect After Effects Template SourceARead-onlyIdempotent
Inspect a saved After Effects source composition for MOGRT-relevant dimensions, duration, text fonts, layer-source kinds, and Essential Graphics controller names when the host exposes the AE 16.1+ readback API. It never creates a composition or returns asset paths.
| Name | Required | Description | Default |
|---|---|---|---|
| composition_name | No | Optional exact composition name; omit to inspect the active composition. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds value beyond them by stating two hard boundaries: it will not create a composition and will not return asset paths, which prevents an agent from expecting side effects or file locations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and the inspected attributes, followed by the caveat clause. Efficient and free of filler, though the trailing negative sentence slightly dilutes the core statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return-value detail is unnecessary, annotations cover the safety profile, and the single parameter is fully documented. Combined with the stated API-version precondition and side-effect boundaries, this is complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema coverage, the schema already documents that composition_name is optional and that omission inspects the active composition. The description's reference to a "saved After Effects source composition" adds mild framing but no format or syntax detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (inspect) and resource (After Effects source composition) and enumerates exactly what it extracts: dimensions, duration, text fonts, layer-source kinds, and Essential Graphics controller names. It does not, however, contrast itself against near neighbors such as inspect_after_effects_render_templates, inspect_mogrt_library, or get_mogrt_component, so sibling differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"when the host exposes the AE 16.1+ readback API" is a genuine precondition, and "never creates a composition or returns asset paths" bounds expectations. But there is no explicit when-to-use/when-not guidance or named alternative for similar inspection tasks, so the routing signal is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_cmx3600_edlInspect Cmx3600 EdlARead-onlyIdempotent
Parse a local CMX 3600 EDL into bounded event, reel, track, transition, and timecode facts without importing it into Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Existing local .edl file |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that parsing stays local and does not bring the EDL into the Premiere project, but offers no detail on error handling, size bounds, or how 'bounded' facts are scoped.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and resource, with the differentiator placed last. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value detail is unnecessary, and annotations cover the safety profile; the description is nearly complete for a single-parameter read tool. Minor gap: no mention of what happens on malformed EDLs or remote paths.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage ('Existing local .edl file'), so the schema already carries the semantics. The description's 'local' qualifier reinforces that constraint but adds nothing new beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Parse) plus resource (local CMX 3600 EDL) and enumerates the exact fact categories produced (event, reel, track, transition, timecode). The phrase 'without importing it into Premiere' cleanly separates it from the sibling import_edl.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'without importing' clause establishes clear context for when to use this instead of an import operation, but it does not name the closest alternatives (compare_cmx3600_edls, validate_cmx3600_edl) or state exclusions such as file-size or format limits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_dom_objectInspect Dom ObjectARead-onlyIdempotent
Inspect a Premiere Pro DOM object and list its properties, methods, and values. Useful for exploring the API and debugging. object_path must be a property path starting with app or qe (identifiers and numeric indexes only). Function calls, operators, and statements are rejected; use evaluate_expression with unsafe-script for those.
Examples:
"app.project" → project properties
"app.project.activeSequence" → sequence properties
"app.project.activeSequence.videoTracks[0].clips[0]" → first clip on V1
"app.project.activeSequence.videoTracks[0].clips[0].components[0]" → first component of a clip
| Name | Required | Description | Default |
|---|---|---|---|
| max_depth | No | Max depth for nested inspection (default: 1, max: 3) | |
| object_path | Yes | Property path starting with app or qe (e.g. 'app.project.activeSequence.videoTracks[0]'). Function calls and statements are rejected. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the bar is met; the description adds the accepted-path grammar ('starting with app or qe (identifiers and numeric indexes only)') and the failure mode for unsupported input. It does not discuss depth cost or response size behavior beyond what the schema states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded purpose in sentence one, then the constraint and the alternative, then short examples that each earn their place. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers scope, path grammar, rejection behavior, and the alternative tool. An agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description restates the object_path constraints already in the schema and adds illustrative path examples, but says nothing about max_depth or the depth/verbosity tradeoff, so it adds only marginal meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Inspect a Premiere Pro DOM object and list its properties, methods, and values') and immediately draws a boundary against the sibling evaluate_expression. Concrete path examples make it unambiguous for an agent scanning sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives use context ('exploring the API and debugging'), an explicit when-not rule (function calls, operators, and statements are rejected), and names the alternative tool (evaluate_expression with unsafe-script). It stops short of stating prerequisites like connection state, but routing guidance is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_edit_readinessInspect Edit ReadinessARead-onlyIdempotent
Audit the active sequence in one read-only bridge request for empty timelines, primary-track gaps, disabled clips, muted tracks, and excessive Motion scale. Structural diagnostics only; it cannot judge story, framing, sound, or final delivery.
| Name | Required | Description | Default |
|---|---|---|---|
| primary_video_track | No | Video track used for gap inspection (default: 0) | |
| gap_tolerance_seconds | No | Ignore smaller gaps caused by time rounding (default: 0.001) | |
| maximum_scale_percent | No | Warn above this Motion scale percentage (default: 110) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety bar is low; the description still adds value by noting it runs as 'one read-only bridge request' (single round-trip, no mutation) and by delimiting what it structurally inspects versus judges. It stops short of describing severity thresholds or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and the enumerated checks, followed by the scope limitation. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, all parameters are documented and optional, and annotations carry the safety profile. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with three optional, well-documented parameters (track, gap tolerance, max scale). The description adds no syntax or interpretation beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (Audit) and resource (the active sequence) and enumerates the exact checks it performs — empty timelines, primary-track gaps, disabled clips, muted tracks, excessive Motion scale. This is far more specific than a generic audit, though it never distinguishes itself from look-alike siblings such as audit_timeline_health or get_timeline_gaps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear scope boundaries: 'structural diagnostics only; it cannot judge story, framing, sound, or final delivery' tells the agent when this tool is not appropriate. It does not name an alternative tool for the cases it excludes, so routing is 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.
inspect_fcpxml_interchangeInspect Fcpxml InterchangeARead-onlyIdempotent
Inspect a local FCPXML or FCP7 XML (xmeml, what Premiere's export_as_fcp_xml writes) document: format, version, sequence/clip counts, bounded media declarations, and text-only parser warnings, before deliberate Premiere import.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Existing local .fcpxml or .xml file |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, closed-world behavior. The description adds useful scope beyond safety: it inspects parser warnings as text only and reports bounded media declarations, though it does not discuss performance or whether it resolves media references.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with a compact inventory of outputs. No filler; every clause contributes to selection or invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering the safety profile, an output schema documenting returns, and a fully described single parameter, the description is complete enough for an agent to select and call this read-only inspection tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and only one parameter exists, so the baseline is 3. The description meaningfully extends the schema by clarifying accepted FCPXML and xmeml/FCP7 XML formats, not just .fcpxml or .xml extensions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: inspect a local FCPXML or FCP7 XML document. It enumerates the exact facets reported (format, version, sequence/clip counts, bounded media declarations, parser warnings), which clearly distinguishes it from adjacent inspection and import tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear usage context: run this before a deliberate Premiere import. It does not name an explicit alternative or state when not to use it, but the pre-import inspection purpose is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_film_editorial_workflowInspect Film Editorial WorkflowARead-onlyIdempotent
Validate a revision-bound film editorial manifest against captured source and timeline identities. Build complete declared coverage review groups, independent picture/audio preferences, screening-note exceptions, story dependencies, VFX state, change impact and a department turnover manifest. Local inspection only: no host edits, exports, automatic creative decisions or verified host claims.
| Name | Required | Description | Default |
|---|---|---|---|
| vfx | Yes | Independent creative and delivery states; reconciled deliveries require a receipt. | |
| notes | Yes | Version-bound screening notes. Stale notes remain unresolved; frames are never guessed onto a new cut. | |
| scenes | Yes | Expected script scenes, including those without coverage. | |
| profile | Yes | Custom review preferences; overlap is a review-only source handle in each source timebase. | |
| sources | Yes | Declared source inventory tied to captured source evidence; technical values require host verification. | |
| viewing | Yes | Explicit output viewing profile; rendered-output checks remain required. | |
| coverage | Yes | Many-to-many source-range to scene graph. Preferences never remove unselected coverage. | |
| previous | No | Optional previously saved occurrence snapshot for change impact. Caller supplied, not an authenticated host receipt. | |
| turnover | Yes | Requested turnover settings; handles use each source timebase. This tool creates a manifest, never an export. | |
| project_id | Yes | Captured project-context ID. | |
| storyCards | Yes | Reorderable story fragments and explicit dependency graph. | |
| occurrences | Yes | Explicit source/timeline occurrences, separate from source coverage; retimes block automatic handoff. | |
| script_revision | Yes | Human-supplied script revision for scene and line identities. | |
| expected_source_revision | Yes | Exact captured source revision. | |
| expected_context_revision | Yes | Exact captured context revision; stale requests fail. | |
| expected_timeline_revision | Yes | Exact captured timeline revision. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, and the description reinforces these without contradicting: it explicitly rules out host edits, exports and automatic creative decisions, and frames validation as revision-bound (matching the schema's 'stale requests fail'). This adds useful non-mutating 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences that are front-loaded with the core verb and scope, then the enumerated outputs, then the safety constraints. The middle list is long but every clause maps to a real input domain; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, rich annotations, and full schema description coverage, the description needs only to convey purpose, scope and safety posture, which it does. It is complete enough for an agent to call the tool correctly, though the usage trigger vs sibling tools remains implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description nonetheless adds semantic framing by naming the conceptual groups the many inputs map to (coverage review groups, independent picture/audio preferences, screening-note exceptions, story dependencies, VFX state, change impact, turnover manifest), helping the agent understand how the 16 parameters relate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Validate) and resource (revision-bound film editorial manifest), and enumerates the review artifacts it constructs, so an agent knows exactly what output to expect. It distinguishes itself from sibling mutation tools by scoping to inspection, though it does not name a specific sibling to prefer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Local inspection only: no host edits, exports, automatic creative decisions or verified host claims' clause implies when this validates rather than acts, but offers no explicit when-to-use trigger, prerequisites, or named alternative among siblings. Usage is only implied by the exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_media_streamsInspect Media StreamsARead-onlyIdempotent
Inspect a local media file with ffprobe and return container, stream, codec, time-base, channel, and chapter metadata. Read-only and independent of Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| media_path | Yes | Existing local media file |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context by naming ffprobe as the engine and clarifying that it works independently of Premiere, which tells the agent no host connection is required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the purpose and return payload front-loaded and the operational caveat second. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, yet the description still enumerates the metadata categories, giving the agent a preview of usefulness. Combined with the annotation-covered safety profile, nothing needed to call this one-parameter tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter and 100% schema description coverage, the schema already documents media_path as an 'Existing local media file'. The description's mention of 'local media file' aligns with but does not extend beyond that; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (inspect), resource (local media file), the underlying mechanism (ffprobe), and the exact metadata classes returned (container, stream, codec, time-base, channel, chapter). An agent can distinguish it from siblings like inspect_project_item_av_metadata or inspect_sequence_av_settings because it operates on a raw file rather than a Premiere-owned entity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'local media file' and 'independent of Premiere' clearly frames when this tool applies: file-level inspection without a project or host app. It does not, however, name an explicit alternative or state when NOT to use it versus sibling inspection tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_mogrt_libraryInspect Mogrt LibraryARead-onlyIdempotent
List bounded top-level template names and version directories in an existing workspace-contained local MOGRT library. It never reads MOGRT contents or changes the library.
| Name | Required | Description | Default |
|---|---|---|---|
| library_directory | Yes | Existing workspace-contained local library root. | |
| approved_workspace_path | Yes | Absolute operator-approved workspace root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond those annotations by stating that it only lists top-level names and version directories and never reads MOGRT contents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences, front-loaded with the core action and followed by the key non-behavioral guardrail. Every sentence contributes and there is no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and rich annotations, the description need not explain return values or safety. It adequately covers scope and read-only behavior for a simple inspection tool, though it could be slightly more explicit about how this fits among the many MOGRT sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema. The description does not add parameter-specific syntax or constraints beyond the schema, making the baseline score appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'List bounded top-level template names and version directories in an existing workspace-contained local MOGRT library.' It is clear what the tool does and its read-only scope, though it does not explicitly name a sibling alternative for comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrase 'existing workspace-contained local MOGRT library,' and the negative scope ('never reads MOGRT contents or changes the library') helps exclude some alternatives. However, it does not explicitly say when to use this tool versus related MOGRT tools such as publish or import operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_project_item_av_metadataInspect Project Item Av MetadataBRead-onlyIdempotent
Inspect a project item's documented effective/original color space, LUT IDs, available color-space overrides, and audio channel shape.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Project item node ID or exact name |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, covering the safety profile. The description adds useful scope detail (documented effective vs original color space, LUT IDs, overrides, audio channel shape), but does not explain what 'documented' values mean when absent or how missing metadata is represented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the verb and object front-loaded and the inspected fields listed compactly. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and annotations cover safety. The field enumeration plus the single documented parameter make the definition sufficient to call correctly; only the missing routing guidance against overlapping inspection tools is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (item_id), and schema description coverage is 100% — the schema already explains it accepts a node ID or exact name. The description adds nothing about item_id, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Inspect') and resource ('a project item's ... metadata') and enumerates the exact fields surfaced: effective/original color space, LUT IDs, color-space overrides, and audio channel shape. This distinguishes it from generic readers like get_clip_properties or get_color_space, though it does not name those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. Given overlapping siblings such as inspect_sequence_av_settings, get_color_space, get_clip_properties, and get_av_feature_support, the agent must infer on its own whether this item-level AV metadata inspection is the right call versus those alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_project_recoveryInspect Project RecoveryARead-onlyIdempotent
Read-only recovery inspection: diagnose the active project path and list adjacent Premiere Auto-Save project candidates without opening, copying, or restoring anything.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description earns extra credit by explicitly enumerating the side effects it will NOT perform (opening, copying, restoring) and by scoping the listing to 'adjacent' Auto-Save candidates, which is real 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the read-only guarantee and the two concrete outputs, with zero filler. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema present, the description does not need to explain return values, and it supplies scope plus non-mutation boundaries. It stops slightly short of clarifying what constitutes a 'candidate' or when to prefer this over other project-inspection siblings, but the tool's low complexity makes it adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is an empty object, so the baseline is 4. The description correctly adds no parameter detail, and none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs and resources: diagnose the active project path and list adjacent Auto-Save project candidates. The phrase 'without opening, copying, or restoring anything' cleanly separates it from siblings like open_project and create_project_backup, which an agent could otherwise confuse with a recovery tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The negative clause ('without opening, copying, or restoring anything') tells the agent this is a diagnosis/preview step, not a recovery action, which implies the when-to-use context. However, it never names an alternative tool for actually performing the restore or creating a backup, so routing to a next step 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.
inspect_sequence_av_settingsInspect Sequence Av SettingsARead-onlyIdempotent
Inspect documented audio, tone-mapping, linear-compositing, bit-depth, render-quality, and display settings for the active sequence.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety and side-effect profile are covered by structured data. The description adds only the 'documented' qualifier and the category list; it does not disclose scope, whether a sequence must be active, or how partial support is reported, so it adds modest value over 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with the verb and object first and the covered setting categories trailing. No filler, no repetition of the title, and the enumeration is informative rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and a zero-parameter read-only tool needs little more. The one real gap is differentiating from get_sequence_settings and similar inspection tools, which the description never addresses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 input is required and that it targets the active sequence, so nothing is missing on the input side.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Inspect) and resource (audio/video settings of the active sequence), and enumerates the setting categories it covers (audio, tone-mapping, linear compositing, bit-depth, render-quality, display). It is clearly a read operation, but it does not distinguish itself from close siblings like get_sequence_settings, set_sequence_audio_settings, or inspect_project_item_av_metadata, leaving the agent to guess which 'settings' call to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the read-only name and annotations suggest inspection of the currently active sequence, and the word 'documented' hints at a subset of settings. There is no explicit when-to-use statement, no exclusion of returned settings, and no routing to the alternative get_sequence_settings tool that overlaps heavily.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_sequence_review_reportInspect Sequence Review ReportARead-onlyIdempotent
Build one read-only sequence handoff report with timeline structure, primary-track gaps, disabled clips, muted tracks, marker timing, and offline-source evidence. Media paths are never returned; marker comments require an explicit opt-in. It does not prove rendered pixels, audio quality, caption correctness, rights, or editorial approval.
| Name | Required | Description | Default |
|---|---|---|---|
| max_markers | No | Maximum marker entries to return from the start of the sequence (default: 50, maximum: 200). | |
| sequence_id | No | Sequence name or ID. Uses the active sequence if omitted. | |
| primary_video_track | No | Video track used for gap inspection (default: 0). | |
| include_marker_comments | No | Include marker comments. Defaults to false because comments can contain private editorial notes. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive, and closed-world behavior. The description adds meaningful context beyond annotations: media paths are never returned, marker comments require explicit opt-in, and the report does not validate rendered pixels, audio, captions, rights, or editorial approval.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded, using three tight sentences: what the report contains, privacy/opt-in constraints, and validation limits. Every sentence adds useful information, and there is no redundant restatement of the tool name or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a report tool with an output schema, rich annotations, and fully documented parameters, the description covers the report's components, privacy behavior, and scope limitations. It is nearly complete, though it could better connect the tool to sibling alternatives for an agent choosing among inspection tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented in the schema. The description adds only a general privacy note that marker comments require explicit opt-in, which overlaps with the schema's explanation of include_marker_comments defaulting to false, without adding syntax or default details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific artifact, a read-only sequence handoff report, and enumerates the evidence it contains: timeline structure, primary-track gaps, disabled clips, muted tracks, marker timing, and offline-source evidence. This distinguishes it from generic timeline inspectors, but it does not explicitly name or compare against sibling tools like audit_timeline_health or get_timeline_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the 'handoff report' framing and reinforced by the disclaimer that it does not prove rendered pixels, audio quality, caption correctness, rights, or editorial approval. However, there is no explicit when-to-use guidance or routing to alternatives among the many sibling inspection tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_stabilizer_statusInspect Stabilizer StatusARead-onlyIdempotent
Read Warp Stabilizer presence, exposed status properties, and conservative analysis state for one clip or every video clip in the active sequence. Read-only: unknown or localized host values remain unknown rather than being reported as solved.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | No | Optional clip node ID. Omit to inspect every video clip in the active sequence. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world behavior, so the baseline is lower. The description still adds useful behavioral context: unknown or localized host values remain unknown rather than being reported as solved. That is a non-obvious reporting convention 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and scope, followed by the read-only behavioral caveat. Every sentence earns its place with no waste or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering safety, the description provides enough context: what is inspected, over what scope, and how unknown values are handled. It could be slightly richer by naming when to choose it over sibling tools, but it is complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single optional parameter node_id is fully documented in the schema. The description reinforces the same scope (one clip or every video clip), but adds no new syntax or format detail beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific read verb, the exact resource (Warp Stabilizer), and the exact fields inspected (presence, exposed status properties, conservative analysis state) plus scope (one clip or every video clip in the active sequence). It distinguishes itself from the sibling stabilize_clip by being explicitly read-only. An agent can tell what this tool reports 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear scope for the operation, but it does not explicitly say when to use this tool instead of alternatives such as stabilize_clip or other inspection tools. The usage context is implied by 'Read' and 'inspect' but no alternatives or exclusions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invert_selectionInvert SelectionA
Invert the current clip selection in the active sequence (selected become deselected and vice versa).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the mutation and non-idempotent nature are covered. The description adds the concrete toggle semantics (selected become deselected and vice versa), which is genuinely useful, but it does not mention prerequisites such as an open active sequence or what happens when nothing is selected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the key effect in a parenthetical and zero filler. Nothing could be removed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter selection toggle with an output schema and annotation coverage, the description is nearly complete. The only minor gap is the absence of prerequisites (an active sequence and an existing selection) or failure conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to document; the baseline of 4 applies. The description does not need to compensate for any schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (invert) and resource (current clip selection in the active sequence), and the parenthetical spells out the exact effect. It is inherently distinguishable from siblings like select_all_clips or deselect_all_clips, but it does not explicitly name or contrast with any of them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the operation itself — you call this when you want to swap selected and unselected clips — but there is no explicit when-to-use, when-not-to-use, or reference to alternatives such as set_clip_selection or select_all_clips.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_work_area_enabledIs Work Area EnabledA
Check whether the work area bar is enabled on the active sequence
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds real context beyond the annotations by identifying the boolean nature of the read and the 'active sequence' scope. However, the annotations declare readOnlyHint=false and idempotentHint=false for what the description plainly presents as a non-mutating state query, and the description does nothing to resolve that tension or state what happens when no sequence is active.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the resource and scope stated immediately. Zero filler, no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values are covered by the output schema, so the description need not explain them, and no parameters need documenting. The only gap is the unspecified behavior when there is no active sequence, which is minor for a one-bit query.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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; the baseline for a parameterless tool applies. No parameter semantics are needed or missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific check ('whether the work area bar is enabled') against a specific resource and scopes it to the 'active sequence'. This is clearly separable from the adjacent get_work_area (returns the range) and set_work_area (mutates it) siblings without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to call this versus get_work_area or get_sequence_in_out_points, and no preconditions (does an active sequence need to exist?). Usage is only implied by the name and the boolean framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lift_selectionLift SelectionA
EXPERIMENTAL (undocumented QE DOM: the sequence lift command, exposed as left() on 25.2). Lift (remove without closing the gap) the content between the sequence in/out points on every targeted, unlocked track, then verify the range is empty on those tracks and nothing else on them moved. Requires sequence in/out marks that do not span the whole sequence. Untargeted tracks are not verified; any that changed are listed in otherTracksChanged.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses the verification behavior ('then verify the range is empty on those tracks and nothing else on them moved') and the side-effect reporting mechanism ('Untargeted tracks are not verified; any that changed are listed in otherTracksChanged'). It also flags the EXPERIMENTAL/QE-DOM provenance. It does not mention undo/reversibility, which is the one behavioral trait an agent might still want.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The EXPERIMENTAL caveat is front-loaded and each remaining sentence (action, precondition, verification) carries distinct information with no filler. It runs slightly long for a zero-argument operation, keeping it out of the top band.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive-ish timeline mutation, the description covers purpose, preconditions, post-conditions, and side-effect reporting, and an output schema exists so return values need not be restated. The gap is the destructiveness/undo story relative to destructiveHint=false, which the description does not address.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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; the implicit inputs (sequence in/out points, targeted tracks) are state, not arguments. Baseline 4 applies for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Lift (remove without closing the gap)') and a precise resource ('the content between the sequence in/out points on every targeted, unlocked track'). It also implicitly distinguishes this from the sibling ripple_delete/remove_selected_clips by defining lift as removal that does NOT close the gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear preconditions for use ('Requires sequence in/out marks that do not span the whole sequence') and defines the operational scope (targeted, unlocked tracks). It does not name an explicit alternative tool (e.g., ripple_delete, extract_selection) or when to prefer this over them, so it falls 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.
link_selectionLink SelectionA
Link the currently selected video and audio clips in the active sequence
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds the useful scoping fact that the operation applies to the active sequence and to selected video+audio pairs, but it omits what happens if clips are already linked or if the selection is empty — the kind of behavioral edge case a mutation tool should mention.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the action verb front-loaded and no filler; every word carries information about scope (selected clips, active sequence).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the annotations carry the safety profile. For a zero-parameter mutation the only real gap is the absence of any note about preconditions (a valid selection) or the linked-already/no-selection cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 parameter syntax to document and the description correctly adds nothing spurious on this axis.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Link') and specific resources ('currently selected video and audio clips in the active sequence'), which is more than a restatement of the name/title. It does not, however, explicitly distinguish itself from close siblings like unlink_selection or get_clip_links, which an agent might confuse when deciding whether to link or merely inspect link state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrase 'currently selected clips' — the agent can infer a selection prerequisite — but there is no explicit when-to-use guidance, no statement of when NOT to use it, and no pointer to the inverse tool (unlink_selection) for the opposite operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_available_audio_effectsList Available Audio EffectsARead-onlyIdempotent
List all available audio effects in Premiere Pro. Uses QE DOM.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds a small implementation note ('Uses QE DOM'), but does not explain what that implies for reliability, compatibility, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no wasted words. The core purpose is front-loaded before the implementation detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. For a zero-parameter listing tool, the description is nearly complete; only usage guidance relative to sibling tools is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The description correctly does not try to describe parameters, and schema coverage is 100% (trivially, with an empty object).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('audio effects in Premiere Pro'), which distinguishes it from the broader list_available_effects and the related list_available_audio_transitions. The scope is precise enough for an agent to identify it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no guidance on when to use this tool versus alternatives such as list_available_effects or apply_audio_effect. The agent must infer its purpose from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_available_audio_transitionsList Available Audio TransitionsARead-onlyIdempotent
EXPERIMENTAL (undocumented QE DOM): List audio transitions. Reports an unavailable or empty legacy catalog as an error rather than an assumed usable list.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, idempotent, non-destructive profile, but the description adds real behavioral value beyond them: it flags the tool as experimental, built on undocumented QE DOM, and — importantly — that an unavailable or empty catalog surfaces as an error rather than a silently empty list. That error-vs-empty distinction changes how an agent must handle the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the EXPERIMENTAL caveat, and both earn their place — one states purpose, the other states the failure semantics an agent must anticipate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with an output schema, the description need not explain return values, and it covers the experimental status and the critical error-on-empty behavior. Only the lack of routing guidance against sibling catalog tools keeps it from full marks.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds no parameter information, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List audio transitions") and the name plus description distinguish it from the video sibling list_available_transitions and from list_available_audio_effects. It does not explicitly name those siblings, but the audio-scoped resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to call this versus list_available_transitions or how to apply the result; it only warns that the catalog is legacy. The EXPERIMENTAL note implies caution but does not tell the agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_available_effectsList Available EffectsARead-onlyIdempotent
List available video effects in Premiere Pro. Uses the full QE catalog when exposed; otherwise returns a verified, explicitly partial set of common effects resolved by exact name.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context: it uses the full QE catalog when exposed and otherwise returns a verified, explicitly partial set resolved by exact name. That partial-result caveat is useful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and resource, followed by the important catalog-availability caveat. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, rich read-only annotations, and an output schema, the description covers the essential behavior including the fallback partial-set case. It could more explicitly route the agent away from sibling listing tools, but it is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so parameter semantics are not applicable. Baseline 4 is appropriate because there is nothing for the description to clarify beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'List available video effects in Premiere Pro.' The 'video' qualifier distinguishes it from sibling tools such as list_available_audio_effects and list_available_transitions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: list effects before applying or inspecting them. However, the description does not explicitly say when to use this versus list_clip_effects, list_available_audio_effects, or list_available_transitions, nor does it state any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_available_transitionsList Available TransitionsARead-onlyIdempotent
EXPERIMENTAL (undocumented QE DOM): List video transitions. Returns a built-in hint set on PPro 2026 where the registry list is empty even though by-name lookup works; the hint set is not exhaustive.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: it is experimental/undocumented, and on PPro 2026 the registry can be empty so a built-in non-exhaustive hint set is returned — an important caveat about result reliability.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the EXPERIMENTAL flag, and each clause carries information (resource, return caveat, non-exhaustiveness). Slightly dense but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return format needn't be explained, and the description already flags the key anomaly (empty registry, non-exhaustive hint set). Enough for an agent to call and interpret it; missing only explicit usage routing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource ('List video transitions') and qualifies it as an experimental QE DOM path. 'Video transitions' cleanly distinguishes it from the sibling list_available_audio_transitions and list_available_effects, so an agent can route without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied — you call this to discover transitions before applying one — but the description never states when to use it, when to prefer a sibling, or any prerequisite (e.g., active sequence/project). Adequate but with a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_clip_effectsList Clip EffectsARead-onlyIdempotent
List effects/components exposed by the clip's standard DOM collection, with properties and current values. Some hosts omit QE-applied effects from this collection; absence here does not prove an effect is absent. get_effect_properties uses the same collection. Inspect Premiere's Effect Controls UI when complete QE effect presence must be confirmed.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip to inspect |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), so the description's added value is the disclosure that the underlying DOM collection is incomplete — some hosts omit QE-applied effects — which prevents an agent from treating an empty result as proof of absence. That is genuine behavioral context beyond the annotations, though it does not address output shape or host-specific variance in more depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action before the caveats about collection incompleteness and the UI fallback. No filler, though the middle caveat sentence is somewhat dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the description covers purpose, limitation, and the fallback path. It is nearly complete for a simple read tool; only explicit guidance on when to prefer get_effect_properties over this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is a single parameter (node_id) fully documented in the schema. The description adds no format or constraint detail for node_id, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('List effects/components exposed by the clip's standard DOM collection') and immediately distinguishes itself from the closely-named sibling get_effect_properties by noting they draw on the same collection. An agent can tell what this returns (properties and current values) 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear usage condition and an escape hatch: absence in this list does not prove an effect is absent, and the Effect Controls UI should be consulted when complete QE effect presence must be confirmed. It also flags that get_effect_properties shares the same source, hinting the two are interchangeable in coverage. It stops short of an explicit 'use this vs. that' routing rule, so a 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_markersList MarkersARead-onlyIdempotent
List markers on the active sequence, or on a source project item that exposes a marker collection. A timeline-clip node_id returns a clean error instead of a raw TypeError.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | No | Optional clip node ID to list clip markers instead of sequence markers |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, closed-world behavior. The description adds the valid scopes and a concrete error behavior ('timeline-clip node_id returns a clean error instead of a raw TypeError'), which is useful beyond the annotations; remaining gaps are minor because an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and followed by a specific edge-case note. No filler; both sentences earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter surface, output schema, and rich annotations, the description supplies enough to invoke the tool and understand the main scope/error case. It is less complete on sibling differentiation among marker-list tools, but that is the main remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the one optional node_id parameter is already documented. The description's caveat about a timeline-clip node_id is relevant but also creates some ambiguity against the schema's 'Optional clip node ID to list clip markers' wording, so it does not clearly improve parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('markers'), and scopes it to the active sequence or a source project item with a marker collection. It is clear enough to act on, but it does not name or distinguish sibling tools such as get_clip_markers or get_sequence_markers_by_type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives implied usage: use for markers on the active sequence, or on a source project item that exposes a marker collection. It does not explicitly say when to choose it over get_clip_markers/get_sequence_markers_by_type or state exclusions, leaving alternative routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_project_itemsList Project ItemsBRead-onlyIdempotent
List all items in the project panel (clips, bins, sequences)
| Name | Required | Description | Default |
|---|---|---|---|
| bin_path | No | Optional bin path to list items from (e.g., 'Footage/Raw'). Lists root items if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds the scope of 'all items' and the categories returned, but does not discuss pagination, ordering, or nested bin behavior. With annotations carrying the behavioral burden, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It states the core action and resource immediately, and the parenthetical list is compact and informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, the output schema exists, annotations cover safety, and the schema covers the only parameter. The description states the scope clearly. It could be improved by noting whether nested bin contents are included or by naming a sibling alternative, but it is otherwise complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single optional bin_path parameter is fully documented in the schema, including root behavior when omitted. The description adds no parameter-specific meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'List all items in the project panel', with parenthetical examples of item types. It clearly identifies what is returned, but does not distinguish itself from similar siblings such as get_bin_contents or search_project_items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, prerequisites, or alternatives. The agent can infer it is a generic project panel listing tool, but there is no routing information relative to the many sibling tools that also retrieve project items.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sequence_checkpointsList Sequence CheckpointsARead-onlyIdempotent
List '[checkpoint]' sequences created by create_sequence_checkpoint, optionally only those cloned from one sequence, with their labels, timestamps, track and clip counts. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | No | Only list checkpoints of this sequence (ID or name). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the trailing 'Read-only' is a restatement rather than new information. The genuinely additive content is the enumeration of returned fields, but an output schema exists and the description doesn't go beyond it (no pagination, ordering, or empty-result behavior).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the optional filter clause is placed after the core purpose. Slightly dense, and the bracketed '[checkpoint]' token is an odd artifact, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter read tool with an output schema and full annotation coverage, the description supplies enough to call it correctly and understand the result shape. Only minor gaps remain (ordering, pagination, behavior with no checkpoints), which the output schema likely resolves.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter is fully documented there, so the baseline is 3. The phrase 'cloned from one sequence' adds a small nuance to sequence_id's semantics (matching on source lineage, not just existence), but the description does not clarify ID-vs-name handling or default behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (sequence checkpoints), names the creating sibling (create_sequence_checkpoint) so the agent can place it in the right workflow, and enumerates what each entry contains (labels, timestamps, track and clip counts). It is clearly distinguishable from the many other list_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context for when this applies: after checkpoints have been made by create_sequence_checkpoint, and optionally narrowed to checkpoints cloned from a single source sequence. It does not state exclusions or name a competing listing tool, but none exists among the siblings, so inference is low-risk.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sequencesList SequencesARead-onlyIdempotent
List all sequences in the project
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds only the project-wide scope, without details on ordering, pagination, or authentication, but it does not contradict 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It says exactly what the tool does and nothing more.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema and rich annotations, so return values and safety behavior need not be explained in the description. The description identifies the resource and scope, which is sufficient for a zero-parameter list tool, though it could route the agent more clearly among many sequence-related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema description coverage is 100%, so the baseline is 4. There are no parameter semantics for the description to add meaning to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (sequences) with scope (all sequences in the project). This distinguishes it from active-sequence tools like get_active_sequence and track-level tools like list_sequence_tracks, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit when-to-use, prerequisites, or alternatives. It does not mention sibling tools such as get_sequence_count or get_active_sequence, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sequence_tracksList Sequence TracksBRead-onlyIdempotent
List all tracks (video and audio) in a sequence
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | No | Sequence ID or name. Uses active sequence if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds the useful detail that both video and audio tracks are included, but it does not add further behavioral context such as ordering or pagination, and an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that states the action and scope with no filler. Every word earns its place, and it is appropriately sized for a simple list operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple read-only nature, the rich annotations, the fully documented single parameter, and the presence of an output schema, the description is nearly complete. It could be slightly stronger by clarifying the ordering or grouping of returned tracks, but no critical invocation detail is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one optional parameter, and schema description coverage is 100%. The schema already explains that sequence_id accepts an ID or name and falls back to the active sequence, so the description does not need to compensate; it adds nothing beyond the schema for this parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List all tracks (video and audio) in a sequence.' It clearly distinguishes the result type from tools that list sequences or return broader sequence structure, but it does not explicitly name sibling tools or contrast its scope with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as get_sequence_structure, get_track_info, or list_sequences. Usage is only implied by the tool name and description, with no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_stock_titlesList Stock TitlesARead-onlyIdempotent
List the Essential Graphics title templates that ship with the installed Premiere Pro (Basic Title, Lower Thirds, Credits, Social Media, and more), with each template's text fields in order and their default text. Reads the local .mogrt files only; does not contact Premiere. Use the names with add_title.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Optional category folder filter, for example Titles, Lower Thirds, Credits, or Social Media (case-insensitive). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, openWorldHint=false, idempotent, non-destructive), but the description adds genuinely useful behavior beyond them: it reads local .mogrt files only and does not contact Premiere, and it discloses the return shape (each template's text fields in order with default text). That is more than 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences with no filler: what is listed, what is returned, and the constraint/next step. Every sentence carries information an agent needs to select and use the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-param, read-only list tool with an output schema, the description covers purpose, scope, return content, and handoff to add_title. Nothing needed to call it correctly is missing, and return-value detail is properly delegated to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single optional 'category' parameter is fully documented in the schema, so the baseline is 3. The description's example names (Lower Thirds, Credits, Social Media) loosely echo category values but add no syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List the Essential Graphics title templates that ship with the installed Premiere Pro') and enumerates concrete examples (Basic Title, Lower Thirds, Credits, Social Media). It also distinguishes itself from importer siblings by noting it reads local .mogrt files only and does not contact Premiere, so an agent can tell it apart from import_mogrt or inspect_mogrt_library.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to the follow-up tool ('Use the names with add_title') and clarifies the no-Premiere-connection context. It lacks an explicit when-not-to-use clause against the many mogrt-related siblings (import_mogrt, inspect_mogrt_library, preview_mogrt_recipe), but the usage path is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lock_trackLock TrackB
Set a video track's lock state and read it back to verify the change.
| Name | Required | Description | Default |
|---|---|---|---|
| locked | Yes | True to lock, false to unlock | |
| track_index | Yes | Video track index (0-based) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, covering the safety profile. The description adds that the tool reads the state back to verify the change, which is useful behavioral context, but it does not explain what locking a track prevents or whether special permissions are needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence that states the action and the verification step without any filler. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter mutation tool with full schema coverage, complete annotations, and an output schema, the description supplies the core purpose and verification behavior. It is nearly complete, with the main omission being guidance on when to choose this tool over sibling track-state tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters, including that locked is a boolean and track_index is 0-based. The description adds no syntax, format, or constraint details beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Set') and resource ('a video track's lock state'), making the action clear. It implicitly separates lock state from sibling actions like mute_track or toggle_track_visibility, but it never explicitly names an alternative or states the distinguishing condition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use lock_track instead of related track tools such as mute_track, toggle_track_visibility, or rename_track. The read-back detail does not tell the agent which situations call for locking a track or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_media_watchManage Media WatchA
Start, inspect, rescan, or stop one session-scoped local media-folder monitor. It records bounded file-change signals and never imports media automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Watcher action. | |
| recursive | No | Monitor contained subdirectories; defaults to false. | |
| watch_path | No | Absolute contained directory to monitor; required for start. | |
| target_bin_id | No | Optional proposed Premiere destination-bin ID. | |
| allowed_extensions | No | File extensions eligible for proposals; required for start. | |
| approved_workspace_path | No | Absolute approved workspace root; required for start. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare it is non-read-only, non-idempotent, non-destructive, and closed-world. The description adds useful behavioral context beyond those hints: the monitor is session-scoped, records bounded file-change signals, and does not automatically import media.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences are tightly front-loaded: the first states the actions and scope, and the second adds the key behavioral limits. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists, return-value details are not needed in the description. The description covers purpose, session scope, and key non-import behavior, though it could say more about when to choose this monitor versus related import-preview workflows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters, including action, paths, extensions, and target bin. The description does not add syntax, format, or dependency details beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives specific verbs (Start, inspect, rescan, stop) and a specific resource (session-scoped local media-folder monitor). It also distinguishes the tool from import-oriented siblings by stating it never imports media automatically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The action list implies the main usage modes, but there is no explicit when-to-use guidance or comparison to alternatives such as preview_watched_media_import. The statement that it never imports media automatically helps distinguish scope but does not fully route the agent among alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_project_contextManage Project ContextADestructive
Capture, enrich, import revision-bound editorial evidence, inspect, or clear a durable local Premiere project-context index. Capture stores bounded active-sequence/source metadata; local enrichment and evidence import add caller-approved transcripts, speaker labels, shots, audio observations, notes, or opaque frame references without re-analyzing media. Never include secrets or unrelated customer data.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Capture active context, enrich it, import revision-bound editorial evidence, inspect status, or clear one local project index. | |
| records | No | For enrich, up to 512 transcript, shot, audio, or note records | |
| replace | No | For enrich, replace prior enrichments while retaining captured core records | |
| evidence | No | For import_evidence, up to 512 caller-approved records with strict source/timeline revision guards. The server does not read referenced frame files, invoke analysis, or contact a provider. | |
| project_id | No | Project context ID returned by capture; optional for status to list projects |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=false, so the safety profile is largely covered. The description adds useful behavioral context beyond annotations: it is a durable local index, enrichment and import do not re-analyze media, records are caller-approved, and it warns against including secrets or unrelated customer data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a short safety note, front-loaded with the action list and the core resource. It is dense but each sentence contributes: the first states scope, the second explains enrichment behavior and limits, and the third is a concise security caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five actions, nested record and evidence schemas, and an output schema, the description provides a solid high-level map of what the tool does and what data it handles. It omits some operational context (e.g., whether an active Premiere project must be open), but the output schema and rich input schema fill most gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters in detail. The description adds only marginal semantic value by mentioning the kinds of data (transcripts, speaker labels, shots, audio observations, notes, frame references) and that imports are caller-approved, but it does not explain parameter interactions or revision guards beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it manages a durable local Premiere project-context index and enumerates the five actions (capture, enrich, import_evidence, status, clear). This clearly distinguishes it from most siblings, though it does not explicitly name alternative tools like search_project_context or create_context_edit_plan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what each action does (e.g., capture stores metadata, enrich adds transcripts) but gives no explicit when-to-use guidance relative to alternative tools. There is no mention of prerequisites, ordering, or when to prefer this over sibling context tools such as search_project_context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_proxiesManage ProxiesA
Create, attach, or toggle proxies for a project item. Note: 'create' only requests a proxy encode from Adobe Media Encoder and returns an unverified handoff. Independently verify the AME queue or output file before calling this tool again with action 'attach' and proxy_path set to the output_path you passed here. There is no single-call create-and-attach in Premiere's ExtendScript API.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action to perform on proxies | |
| item_id | Yes | Node ID or name of the project item | |
| proxy_path | No | Path to an existing proxy file (required for 'attach') | |
| output_path | No | Full output path for the proxy to be rendered to (required for 'create') | |
| preset_path | No | Path to a proxy ingest preset (.epr) for 'create'. If omitted, the server lists Premiere's IngestPresets/Proxy presets and AME H.264 system presets, skips every preset whose output destination is Same as Project (Adobe's shipped proxy presets are), and uses the first remaining one. Fails with a clear error when none qualify. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say this is a non-read-only, non-idempotent, non-destructive write. The description adds the crucial trait they don't: 'create' is an asynchronous, unverified handoff to Adobe Media Encoder, requiring independent verification before proceeding. That is exactly the kind of cross-call, state-dependent behavior an agent must know and cannot get from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the three actions, then the two caveats that genuinely matter, in priority order. The middle sentence is long but every clause (verify AME queue, pass output_path as proxy_path) carries load. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, annotations carry the safety profile, and the schema fully documents all five parameters. The description still covers the one non-obvious thing the structured fields can't: the async handoff and required verification step. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes further by tying the parameters together across calls: output_path passed to 'create' becomes proxy_path for the follow-up 'attach'. That relational semantics is not obvious from the schema descriptions alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs (create, attach, toggle) and the resource (proxies for a project item), so the agent knows exactly what operation space this covers. It implicitly excludes the sibling tools has_proxy and detach_proxy, but never names them, so sibling 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear, actionable operational guidance: 'create' only kicks off an AME encode, you must verify the queue or output file, then call again with 'attach' and proxy_path. It also rules out the tempting alternative ('no single-call create-and-attach'). It stops short of explicit when-not guidance versus has_proxy/detach_proxy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
match_frameMatch FrameC
Get source media info for the frame at the current playhead on a specific track. Useful for match frame operations.
| Name | Required | Description | Default |
|---|---|---|---|
| track_type | No | Track type (default: video) | |
| track_index | No | Track index (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description frames the tool as a pure getter ('Get source media info'), while annotations declare readOnlyHint=false and idempotentHint=false, so an agent could wrongly assume it has no side effects and can be repeated freely. No state-changing behavior (e.g., what it does to the source monitor), permission needs, or repeat-call semantics are disclosed to resolve that tension.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the operation and its scope front-loaded; nothing is padded. The second sentence is nearly content-free, but the definition is still tight overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and both parameters are fully covered by the schema. What is missing for a tool with conflicting annotations is any disclosure of side effects or when to prefer it over source-monitor/clip-at-playhead siblings, leaving the definition minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both track_type (enum video/audio, default video) and track_index (default 0) are fully documented in the schema. The description only echoes 'on a specific track' and adds no syntax or semantics beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('Get source media info') plus a clear scope ('for the frame at the current playhead on a specific track'), so the operation is identifiable. However, it never distinguishes itself from near-neighbors such as get_clip_at_playhead, get_source_monitor_info, or open_in_source, and the trailing sentence 'Useful for match frame operations' merely restates the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Useful for match frame operations' is tautological and gives no condition for selecting this tool over the many playhead/source-monitor siblings. There is no statement of prerequisites (e.g., an active sequence and playhead position) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_clipMove ClipA
EXPERIMENTAL (undocumented QE DOM for track changes): Move a clip to a new position on the timeline; optional track moves use Premiere's QE API and may not work on every version.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip to move | |
| new_track_index | No | Optional new track index to move the clip to | |
| new_start_seconds | Yes | New start time in seconds |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a non-read-only, non-idempotent, non-destructive mutation, so the safety profile is covered. The description adds genuinely new behavioral context beyond that: it is built on undocumented QE DOM and may fail depending on the Premiere version. It stops short of saying whether the move preserves clip links or what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with the most important caveat ('EXPERIMENTAL') front-loaded before the functional statement. No padding, though the parenthetical could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the mutation/safety profile. The description supplies the experimental caveat that an agent needs before invoking it; only secondary details (link/ripple behavior on move) are absent and are not blocking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so node_id, new_start_seconds and new_track_index are already documented, setting the baseline at 3. The description earns an extra point by clarifying that the track-change path (new_track_index) is the fragile QE-API part, which is meaningful risk information not present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Move a clip to a new position on the timeline') and singles out the track-move variant as an optional, separate path. It does not explicitly contrast itself with the near-identical sibling move_clip_to_track, so an agent still has to infer which one to pick for track changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a real usage signal by labeling the tool EXPERIMENTAL and warning it may not work on every version, which tells an agent to prefer it cautiously. However, it never names an alternative (e.g., move_clip_to_track for pure track changes) or states when this tool should be chosen over set_clip_position/trim_clip, so the selection guidance is 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.
move_clip_to_trackMove Clip To TrackA
Move a clip to a different track of the same type, keeping its start, duration, and source in/out. EXPERIMENTAL: uses the undocumented QE DOM moveToTrack. Refuses without changing anything when the origin or destination track is locked or the destination range is occupied. Reads the timeline back: verified only when the clip is on the destination track with the same span and source range and is gone from the origin track; committed_unverified when the source range cannot be read; otherwise failure with Undo guidance.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| target_track_index | Yes | Target track index (0-based) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Exceptional disclosure beyond the annotations: flags the tool as EXPERIMENTAL built on the undocumented QE DOM moveToTrack, guarantees atomic refusal ('without changing anything'), and details the three post-move read-back outcomes (verified, committed_unverified, failure with Undo guidance). This is consistent with destructiveHint=false and far exceeds 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then constraints, then failure/verification semantics. The sentences are dense but each carries distinct information; the only mild drag is the packed final sentence covering three outcomes at once.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a non-idempotent mutation tool with an output schema, this covers what an agent needs: experimental status, atomicity, refusal conditions, and the verification states that map to the result. Nothing critical is missing, and return-value details are legitimately left to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters (node_id, target_track_index), so the schema already carries parameter meaning. The description adds only the implicit 'same type' constraint on the target track; it does not explain indexing, valid ranges, or the clip-identity assumption. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Move) plus resource (clip) with an explicit scope constraint: 'to a different track of the same type, keeping its start, duration, and source in/out.' That constraint plus the track-to-track framing distinguishes it from the family of positional edits like move_clip, set_clip_position, or overwrite_clip.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States operational preconditions clearly: it refuses when origin/destination track is locked or the destination range is occupied. That tells the agent when the call will not succeed, which is strong context, but it never names an alternative tool (e.g. move_clip, ripple_delete) or when to prefer this over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_items_to_binMove Items To BinC
Move multiple project items to a target bin at once.
| Name | Required | Description | Default |
|---|---|---|---|
| item_ids | Yes | Array of node IDs or names of items to move | |
| target_bin | Yes | Name or node ID of the target bin |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so safety is largely covered. The description adds nothing beyond that: it does not say whether items are removed from their original location, what happens if the bin doesn't exist, or what a partial failure means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the subject and scope front-loaded and no filler. It is efficient, though the extreme brevity borders on under-specification rather than pure conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the two params are covered by the schema. However, for a mutation tool the description is thin on behavioral context — bin semantics, existence requirements, and error handling are all unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so item_ids and target_bin are fully documented in the schema. The description adds no format, ordering, or capacity detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb (Move) and resource (project items) with a destination (target bin) and adds batch scope ('multiple...at once'). This implicitly separates it from the singular sibling move_item_to_bin, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool does but gives no when-to-use guidance, no prerequisites (e.g. whether the target bin must already exist), and no alternative routing such as move_item_to_bin for a single item.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_item_to_binMove Item To BinB
Move a project item to a different bin and confirm where it landed
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the item to move | |
| target_bin | Yes | Name or node ID of the target bin |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is covered structurally. The description adds the useful detail that the result confirms the destination ('confirm where it landed'), but says nothing about failure behavior for a missing bin or what a re-move does given non-idempotency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste; the action and its outcome confirmation are stated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and annotations cover the safety profile. Still missing is any mention of the plural sibling, precondition on the target bin, or behavior on invalid item IDs, which leaves the definition minimally viable for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with only two parameters, both fully described in the schema, so the baseline is 3. The description adds no syntax, format, or naming-convention detail beyond what item_id and target_bin already document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Move a project item') plus the destination ('to a different bin'), which is clear on its own. However, it does not distinguish itself from the sibling move_items_to_bin, leaving the singular-vs-batch distinction to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use context, no prerequisites (e.g., the target bin must already exist), and never names the batch alternative move_items_to_bin. An agent must guess at the routing between the two near-identical tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_playhead_to_editMove Playhead To EditC
Move the playhead to the next or previous edit point.
| Name | Required | Description | Default |
|---|---|---|---|
| direction | No | Direction (default: next) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, and the description adds nothing beyond them — no mention that this mutates the playhead position without editing content, nor any indication of what happens if no edit point exists in the requested direction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the action front-loaded and zero filler. It's appropriately sized for a one-parameter navigation tool, though it could carry a bit more routing information at the same length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-param navigation tool with an output schema and full schema coverage, the description is minimally adequate. It doesn't address behavior at sequence boundaries or clarify positioning relative to siblings, which would be useful given how many playhead/edit-point tools exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single 'direction' parameter is a documented enum with a stated default, so the schema fully carries parameter meaning. The description echoes 'next or previous' but adds no semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('move') and resource ('the playhead') with scope ('to the next or previous edit point'). This is clear enough to distinguish it from siblings like set_playhead_position or navigate_playhead, though it doesn't explicitly name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus adjacent sibling tools such as get_next_edit_point, navigate_playhead, or set_playhead_position. The agent must infer the appropriate context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
multiple_undoMultiple UndoA
EXPERIMENTAL (undocumented QE DOM: qe.project.undo / undoStackIndex). Undo several Premiere project actions through QE, checking each step against Premiere's undo-stack position (stackVerified; the timeline itself is not read back) and reporting how many were undone. Only actions Premiere records are undoable: QE edits such as razor, insert, lift and extract report undoSteps (and undoStackIndex) in their results; pass that undoSteps as count to reverse exactly that call. A marker receipt with undoTracked:false recorded no undo step: calling Undo for it would reverse an earlier action. Only CEP tool results carry undoSteps; UXP tools and workflows that send several commands are not counted. Always pass expected_undo_stack_index to check the stack position, but matching position alone does not prove which action is on top. Observed marker boundaries refuse the entire request before any step unless acknowledge_untracked_markers:true explicitly permits prior non-marker actions. The barrier persists through server/helper reloads while the CEP engine remains alive; it cannot account for marker writes before observation, after an engine reset, or through UXP, the manual UI, or other clients. Matching the QE index verifies stack position only.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of undo steps (default: 1) | |
| expected_undo_stack_index | Yes | Required safety guard: the undoStackIndex a tool result reported right after the call you want to reverse. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. The guard compares the position only; matching position cannot prove which action is on top. | |
| acknowledge_untracked_markers | No | Explicitly acknowledge that QE steps reverse or restore prior non-marker actions, because marker reversal is not verified. Default false; marker boundaries refuse the entire request before any step. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing that this is EXPERIMENTAL on an undocumented QE DOM, that the timeline is not read back (only stack position is verified), that the marker barrier persists through server/helper reloads, that acknowledge_untracked_markers is required to permit non-marker actions, and enumerates the conditions it cannot account for.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the EXPERIMENTAL warning, which is good, but it is a single dense paragraph that repeats the stack-position caveat (the header and the closing sentence both state that matching position verifies position only). The density is somewhat justified by the complexity, but the redundancy and lack of structuring cost it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive-capable, QE-dependent mutation tool, the description covers preconditions, safety guards, failure/refusal behavior, and explicit limitations. With an output schema present, return values need not be explained, so nothing an agent needs is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, but the description adds real meaning the schema lacks: it explains where 'count' comes from (the undoSteps reported by a prior QE tool result) and emphasizes that expected_undo_stack_index must always be passed. It adds interpretation beyond the raw field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (undo several Premiere project actions) and the mechanism used (QE DOM qe.project.undo / undoStackIndex), which distinguishes it from the single-step 'undo' sibling. An agent immediately knows this is a plural, QE-backed undo operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says what is undoable (only actions Premiere records: QE edits such as razor, insert, lift, extract that report undoSteps) and what is not (UXP tools, multi-command workflows, marker receipts with undoTracked:false). It also gives the exact usage contract: pass undoSteps as count and always pass expected_undo_stack_index.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mute_trackMute TrackB
Mute or unmute an audio track
| Name | Required | Description | Default |
|---|---|---|---|
| muted | Yes | True to mute, false to unmute | |
| track_index | Yes | Audio track index (0-based) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (destructiveHint=false, openWorldHint=false, readOnlyHint=false), and the description adds nothing beyond them — no note on whether the change is reversible, which sequence it applies to, or whether an undo step is created. For a state-mutating tool the description carries no extra behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single six-word sentence with zero waste and the action front-loaded. It is appropriately sized for a trivial toggle operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the annotations plus full parameter coverage supply the rest. For a simple two-parameter toggle, the description is complete enough to invoke correctly, though a note on required context (active sequence) would close the last gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are fully documented in the schema (muted as a boolean toggle, track_index as 0-based). The description's 'mute or unmute' merely echoes the boolean and says nothing about track_index, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (mute/unmute) and resource (audio track), which is enough to distinguish it from sibling track tools like lock_track, rename_track, and toggle_track_visibility. It stops short of naming those siblings or stating the scope of the track being acted on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no context for when to use this versus other track-state tools, nor any prerequisites (e.g., needing an active sequence or a valid track index). The two-mode behavior is expressed only via the parameter, not in prose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nest_clipsNest ClipsC
Unavailable on the legacy CEP backend: Premiere's documented createSubsequence API only creates a separate sequence and cannot safely replace the selected timeline clips with a nested-sequence reference.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the nested sequence |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds one genuinely new behavioral fact – a backend availability constraint – but says nothing about what happens on a supported backend, whether the operation is reversible, or what state it mutates. A mostly-negative availability note is thin behavioral coverage for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single efficient sentence with no filler, but it is not front-loaded for selection purposes – the leading clause is an availability disclaimer rather than the tool's function, which is the information an agent needs first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a timeline-mutating tool with three siblings in the nesting/subsequence family, the description omits the core operation, target of mutation, and supported-backend behavior, leaving the definition incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter ('name') with 100% schema description coverage, so the schema already carries the semantics; baseline is 3. The description adds no meaning about the name value beyond confirming naming is part of creating a nested sequence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never states what nest_clips does; it only declares the tool 'Unavailable on the legacy CEP backend.' An agent can infer a fragment of intent from 'replace the selected timeline clips with a nested-sequence reference,' but the sentence is framed as an unavailability notice rather than a purpose statement, and it does not clearly distinguish this tool from siblings such as create_subsequence or unnest_sequence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one environmental exclusion (legacy CEP backend) but no positive guidance on when to use this tool, no prerequisites, and no alternative to reach for when the backend is unavailable. The sibling set contains obvious alternatives (create_subsequence, unnest_sequence), none of which are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
normalize_loudness_fileNormalize Loudness FileA
Create a new loudness-normalized media derivative with FFmpeg, then remeasure that exact output using EBU R128. Never overwrites the input or an existing output file.
| Name | Required | Description | Default |
|---|---|---|---|
| input_path | Yes | Existing local audio or video file | |
| output_path | Yes | New output path; must not already exist | |
| target_lufs | No | Integrated loudness target from -70 through -5 LUFS (default: -16) | |
| tolerance_lu | No | Post-render integrated-loudness tolerance (default: 1 LU) | |
| max_true_peak_dbfs | No | True-peak ceiling from -9 through 0 dBFS (default: -1.5) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, so the safety profile is partly given. The description adds real context beyond that: the input and any existing output are never overwritten, and it performs post-render remeasurement of the exact output. It does not state processing time, disk cost, or whether a failed measurement leaves the file behind.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and followed by the non-destructive guarantee. No filler, every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present to cover return values and 100% schema coverage of all five parameters, the description supplies exactly the missing behavioral context: what it produces, how it verifies, and its non-overwrite guarantee. Nothing needed to call it correctly is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents input_path, output_path, target_lufs, tolerance_lu, and max_true_peak_dbfs with ranges and defaults. The description adds no parameter-level meaning on top of that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Create) and a precise resource (loudness-normalized media derivative), names the engine (FFmpeg) and the standard (EBU R128), and adds the remeasurement step. An agent can distinguish this from analyze_loudness (measurement only) without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the description: call this when you need an actual normalized output file produced and verified. However, it never states when to prefer this over siblings like analyze_loudness or adjust_audio_levels, nor names any alternative or exclusion condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_in_sourceOpen In SourceA
Open a project item in the Source Monitor for preview and trimming, and confirm it is the clip now showing.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item to open |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose that this is a non-read-only, non-destructive, non-idempotent, non-open-world operation. The description adds some behavioral context by noting that it confirms the item is showing after opening, but it omits side effects such as whether it replaces the current Source Monitor clip or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states the action, destination, and outcome without filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with an output schema and annotations covering safety and mutation semantics, the description conveys purpose and post-condition adequately. It could mention whether an existing Source Monitor clip is replaced, but the core information needed to invoke it is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents item_id as a node ID or name. The description restates 'project item' but adds no syntax, format, or alternate identifier details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Open) and resource (project item), plus the destination (Source Monitor) and purpose (preview and trimming). This clearly distinguishes it from siblings like open_project, get_clip_at_position, and other source-monitor tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use: previewing and trimming a project item in the Source Monitor. It does not name alternatives or when-not-to-use conditions, such as routing to insert_from_source for timeline placement, 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.
open_projectOpen ProjectA
Open a Premiere Pro project file and make it the active project, verifying it is open. Other open projects stay open.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Full file path to the .prproj file |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly=false, destructive=false, idempotent=false), so the description's job is lighter. It usefully adds two behavioral facts beyond annotations: the operation verifies the project is open, and other open projects are left open (i.e., it is additive, not exclusive). It does not explain failure behavior when the path is invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence delivering action, target, resulting state, and side-effect scope with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation tool with full annotations and an output schema (so return values need not be described), the description covers action, result state, and side-effect scope. It stops short of addressing error/edge cases such as a missing or locked project file.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter with 100% schema description coverage ('Full file path to the .prproj file'), so the schema already carries the semantics. The description reinforces the .prproj file type but adds no new meaning such as path format or relative-path support.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Open) and resource (Premiere Pro project file), plus the resulting state change (becomes the active project). It is easily distinguished from siblings like close_project, create_project, and open_in_source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (loading a .prproj as the active project) but never explicitly names alternatives such as open_in_source or close_project, nor states prerequisites or when-not-to-use conditions. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
overwrite_clipOverwrite ClipB
Overwrite a project item onto validated timeline tracks and verify a new source placement at the requested time
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item to add | |
| track_index | No | Video track index (0-based, default: 0) | |
| start_seconds | No | Start time in seconds on the timeline (default: 0) | |
| audio_track_index | No | Audio track index (0-based, default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false. The description adds that tracks are 'validated' and that a 'new source placement' is verified, which is useful but does not explain what gets overwritten, permission requirements, or the effect on existing timeline content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It communicates the core operation and an additional verification step efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic mutation and schema/output details are otherwise available. However, for a timeline-overwrite tool with many similar siblings, it lacks guidance on when to use it and what side effects to expect on existing clips.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameter details are already documented. The description only vaguely maps to the schema via 'validated timeline tracks' and 'requested time', without adding syntax or default behavior beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Overwrite a project item onto validated timeline tracks' clarifies the operation and target. However, it does not distinguish this from siblings like overwrite_from_source, insert_from_source, or add_to_timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use guidance or comparison to alternatives is given. The verb 'Overwrite' implies a timeline-editing action, but the description does not explain when to choose this tool over add_to_timeline, replace_clip, or overwrite_from_source.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
overwrite_from_sourceOverwrite From SourceB
Overwrite the clip from the Source Monitor at the playhead position (overwrite edit — replaces existing clips) and verify a new placement on the requested tracks.
| Name | Required | Description | Default |
|---|---|---|---|
| audio_track_index | No | Target audio track index (default: 0) | |
| video_track_index | No | Target video track index (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is largely covered. The description adds useful beyond-schema context (existing clips get replaced, and a placement verification occurs), but it omits undoability, required permissions, and does not resolve the tension between 'replaces existing clips' and destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence whose parenthetical is the highest-value clause. Nothing is wasted, though the trailing 'and verify a new placement' clause is slightly buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return/verification details need not be spelled out, and annotations carry the read/write profile. The definition is complete enough to invoke correctly, with only the alternative-selection guidance and destructiveness clarification missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with only two optional parameters, both documented in the schema itself (audio/video track index with defaults). The description's phrase 'requested tracks' loosely maps to those parameters but adds no format or default details, so it sits at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource+location: 'Overwrite the clip from the Source Monitor at the playhead position,' plus the parenthetical clarifies the edit semantics ('replaces existing clips'). An agent can tell this is an overwrite-style timeline edit. However, it never differentiates from close siblings like overwrite_clip or insert_from_source, so it stops short of full sibling disambiguation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to choose this tool versus insert_from_source (which would ripple rather than replace) or overwrite_clip. The parenthetical describes the mechanism, not the selection criteria, so the agent must infer the when-to-use case from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
paste_clip_attributesPaste Clip AttributesA
Paste Attributes for one timeline clip: copy the source clip's effect stack (Motion, Opacity, other intrinsic components, and every applied effect) onto a target clip of the same track type, including keyframes. Components are matched by match name and occurrence; a missing non-intrinsic effect is applied through the experimental legacy QE DOM (disable with apply_missing_effects=false). Every written parameter and keyframe value is read back and reported per property as verified, committed_unverified, or failed, with an overall status. Not copied, and listed in notCopied with a reason: parameters whose values ExtendScript cannot read as numbers, booleans, strings, or numeric arrays; Opacity > Blend Mode when it differs (legacy cross-clip enum writes can corrupt it; use set_blend_mode and verify); and keyframe interpolation (no getter exists, so pasted keys use Premiere's default interpolation). MASKS ARE NOT COPIED: neither ExtendScript, QE, nor documented Premiere UXP exposes mask shapes, paths, feather, expansion, or mask keyframes, and masks are invisible to this bridge, so recreate or paste masks manually in Effect Controls. Time Remapping is excluded unless named in components.
| Name | Required | Description | Default |
|---|---|---|---|
| components | No | Optional component display names or match names to copy (for example ['Motion', 'Opacity', 'Gaussian Blur']). Omit to copy every source component except Time Remapping. | |
| copy_keyframes | No | Copy keyframes of animated source properties (default true). Key times keep their offset from each clip's in point. When false, animated source properties are reported in notCopied and left unchanged on the target. | |
| source_node_id | Yes | Node ID of the source timeline clip in the active sequence whose attributes are copied | |
| target_node_id | Yes | Node ID of the target timeline clip in the active sequence that receives the attributes; must be on the same track type (video or audio) as the source | |
| apply_missing_effects | No | Apply source effects that the target lacks through the experimental legacy QE DOM before copying values (default true). When false, missing effects are reported in notCopied. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnly=false, idempotent=false, destructive=false) by disclosing what is silently omitted (masks, keyframe interpolation, unreadable parameter types), the experimental QE DOM write path, and a per-property verification/committed_unverified/failed reporting model. This is exactly the destructive/mutation context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the most important constraints (same track type, keyframes, verification), but it is one very dense block sentence-chain that is hard to scan. Every clause carries information, so it earns its length, though structure could be improved with breaks.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the mutation complexity, a 5-parameter schema, an output schema, and the risky QE DOM fallback, the description covers the critical gaps: what is copied, what is not, why, and how results are verified. An agent can call this correctly without further probing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real semantics: components defaults to 'every source component except Time Remapping,' copy_keyframes changes reporting behavior, and apply_missing_effects controls the QE DOM path. It clarifies defaults and cross-parameter interaction beyond the schema wording.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+scope: copying a source clip's effect stack onto a target clip of the same track type, including keyframes. It clearly distinguishes itself from siblings like copy_effects_between_clips and copy_effect_values by describing whole-stack paste semantics and matching rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly covers when-not behavior (masks cannot be copied, Time Remapping excluded unless named, blend mode should be handled via set_blend_mode) and how to disable the QE DOM path with apply_missing_effects=false. It does not explicitly compare itself against the closest sibling copy tools, but the exclusions and alternatives are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingPingA
Health check — verify the CEP plugin is running and connected to Premiere Pro. Call this before other tools to confirm connectivity.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
A connectivity probe is inherently read-only and idempotent, yet the annotations declare readOnlyHint=false and idempotentHint=false; the description does not reconcile this tension. It does usefully tell the agent to run it as a gating step, but adds little else beyond the schema and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, with the purpose front-loaded and the usage instruction immediately after. No filler and nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-argument probe with an output schema and annotations, the description covers what an agent needs to call it correctly. The only gap is that it does not clarify how it relates to the sibling connection-verification tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for the description to disambiguate. It correctly avoids inventing parameter detail that does not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and object: a health check that verifies the CEP plugin is running and connected to Premiere Pro. It is clear what the tool does, but it never distinguishes itself from the closely related sibling verify_premiere_connection, which an agent could reasonably pick instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit sequencing guidance: 'Call this before other tools to confirm connectivity.' That is a clear when-to-use statement, but it names no alternative or precondition, so the overlap with verify_premiere_connection is left unresolved.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_active_speaker_reframePlan Active Speaker ReframeARead-onlyIdempotent
Plan an active-speaker vertical reframe (Motion Scale/Position keyframes that follow whoever is talking) or a static stacked/split layout from a word timeline and static speaker regions. Returns framings, switches, keyframes, and apply routes. Local-only; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| layout | No | auto (default) picks active_speaker for 3+ speakers or a region wider than 0.6, stacked for exactly 2 speakers. | |
| headroom | No | Fraction of the crop height reserved above the region top; defaults to 0.12. | |
| frame_rate | No | Sequence frame rate used to snap times to frames; defaults to 30. | |
| ease_frames | No | Frames to ease each switch with bezier keyframes; 0 (default) emits hold keyframes (hard cuts). | |
| source_frame | Yes | Source clip frame size in pixels, e.g. 1920x1080 or 3840x2160. | |
| target_frame | No | Target sequence frame size in pixels; defaults to 1080x1920. | |
| word_timeline | Yes | Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them. | |
| speaker_regions | Yes | Normalized (0..1) face/body rectangle of every speaker that appears, measured in the source frame. | |
| min_hold_seconds | No | Never switch faster than this; shorter turns are absorbed. Defaults to 1.5. | |
| switch_lead_seconds | No | Switch this long before the speaker starts; defaults to 0.15. | |
| base_video_track_index | No | Video track holding the source clip in the target sequence; defaults to 0. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint/idempotent/destructiveHint=false, so 'Local-only; never changes Premiere' reinforces rather than establishes safety. The genuinely additive disclosure is that it 'Returns framings, switches, keyframes, and apply routes' — telling the agent this planner hands off to a separate apply step, which is non-obvious workflow 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler: the first front-loads the purpose and both output modes, the second covers the return and the local-only constraint. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, nested-object planning tool with an output schema, the description covers the essential framing: inputs (word timeline, speaker regions), outputs (framings, switches, keyframes, apply routes), and safety. Nothing critical is missing, though it could have noted that a word timeline bound to a transcript revision is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 11 parameters, including the layout enum semantics, defaults, and bounds, so the schema already carries the parameter burden. The description only gestures at the layout alternatives ('active-speaker ... or a static stacked/split') without adding syntax, constraints, or default behavior beyond what the schema documents. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource ('Plan an active-speaker vertical reframe') and clarifies the mechanism (Motion Scale/Position keyframes that follow whoever is talking), distinguishing it from the plain 'auto_reframe_sequence' sibling. It also names the alternate output mode (static stacked/split layout) up front, so an agent can tell immediately what family of tool this is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the required source material ('from a word timeline and static speaker regions') and the non-destructive posture, which implies a plan-then-apply workflow. However it never explicitly says when to pick this over siblings like auto_reframe_sequence or plan_speaker_checkerboard, and the active_speaker vs stacked/split choice is left to the layout enum rather than routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_beat_montagePlan Beat MontageARead-onlyIdempotent
Plan a beat-synced montage: carve a detect_beats grid into shots every N beats (merging short and splitting long spans), assign clips in order, and emit add_to_timeline_batch chunks, trim ranges, and cut markers. Local-only and deterministic; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| clips | Yes | Source clips available for the montage, in the caller's preferred order. | |
| order | No | Clip assignment order; defaults to as_given. round_robin interleaves priority groups. | |
| frame_rate | No | Sequence frame rate used to snap shot boundaries; defaults to 30. | |
| allow_reuse | No | When true, cycle through clips again once they run out (continuing from where each stopped); otherwise the montage stops. | |
| beat_seconds | Yes | Strictly ascending beat times in sequence seconds, such as beatTimesSeconds from detect_beats. | |
| max_shot_seconds | No | Longer spans split at intermediate beats; defaults to 6. | |
| min_shot_seconds | No | Shorter spans merge with the next beats; defaults to 0.4. | |
| start_beat_index | No | Index of the first beat to cut on; defaults to 0. | |
| audio_track_index | No | Target audio track for linked audio; defaults to 0. | |
| cut_every_n_beats | No | Beats per shot; defaults to 2. | |
| video_track_index | No | Target video track for every placement; defaults to 0. | |
| total_duration_seconds | No | Optional cap on montage length measured from the first cut. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description still adds value by declaring 'Local-only and deterministic' and describing the shape of what it produces (chunks, trim ranges, cut markers), which the annotations do not convey. It stops short of noting any limits on the beat grid or reuse behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two clauses, no filler, with the core operation front-loaded before the emission and safety details. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 12 parameters, full schema coverage, an output schema, and annotations all present, the description gives an agent enough to call it correctly: inputs come from detect_beats, output feeds add_to_timeline_batch, nothing is mutated. It could be stronger by noting determinism guarantees or ordering defaults, but no critical gap remains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with per-field defaults, so the schema carries the parameter burden. The description maps behavior to parameters at a high level ('every N beats', 'merging short and splitting long spans', 'assign clips in order'), which helps conceptually but adds no syntax or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Plan') and resource ('beat-synced montage'), then enumerates the exact operations: carving a detect_beats grid, assigning clips, and emitting add_to_timeline_batch chunks, trim ranges, and cut markers. It names the sibling tools it consumes and feeds, so an agent can distinguish it from detect_beats or add_to_timeline_batch without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly routes the agent: it consumes 'a detect_beats grid' and emits 'add_to_timeline_batch chunks', telling the caller where this sits in the pipeline. It lacks an explicit when-not or a stated prerequisite on when to prefer this over manual timeline assembly, but the workflow context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_chapter_markersPlan Chapter MarkersARead-onlyIdempotent
Plan YouTube-style chapters from a word-timed transcript using local TextTiling-lite topic-shift detection, titling each chapter from its distinctive tokens. Returns chapters, a youtube_timestamps block and add_marker-ready Chapter markers. Local-only plan; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| frame_rate | No | Frame rate used to snap start/end frames; defaults to 30. | |
| stop_words | No | Extra stop words removed before similarity and titling. | |
| block_words | No | Approximate words compared on each side of a sentence gap; defaults to 60. | |
| title_words | No | Maximum words in each generated chapter name; defaults to 4. | |
| max_chapters | No | Maximum number of chapters; deepest topic valleys win. Defaults to 12. | |
| word_timeline | Yes | Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them. | |
| min_chapter_seconds | No | Minimum chapter duration in seconds; defaults to 90. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description's 'Local-only plan; never changes Premiere' largely restates readOnlyHint, though it usefully confirms the call has no Premiere side effects. It does not disclose failure modes (e.g., transcript revision mismatch, word-ordering violations) that the schema hints at but does not fully explain behaviorally.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and output, ending with the key non-mutation guarantee. No filler; every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not enumerate return values, yet it still names the three outputs (chapters, youtube_timestamps, add_marker-ready markers), which is helpful. Given 7 params (1 required), nested objects, and full schema coverage, the definition is adequate; the only real gap is behavioral detail on input validation failures.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description gestures at titling via 'distinctive tokens' (mapping loosely to stop_words/title_words) and at transcript input via 'word-timed transcript', but adds no syntax, format, or default-value guidance beyond what the schema already documents for all 7 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Plan), resource (YouTube-style chapters), the input required (word-timed transcript), and the method (local TextTiling-lite topic-shift detection). It also names the downstream artifact ('add_marker-ready Chapter markers'), which separates it from siblings like add_markers_batch that actually write markers. An agent can pick this over the many other plan_* tools without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the trigger condition clear (you must have a word-timed transcript), and 'Local-only plan; never changes Premiere' tells the agent this is a dry-run/preview step whose output feeds add_marker or add_markers_batch. It does not explicitly state exclusions (e.g., when to prefer plan_beat_montage or a different chaptering approach), 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.
plan_client_notes_checklistPlan Client Notes ChecklistARead-onlyIdempotent
Turn pasted client or reviewer feedback into a prioritized checklist: finds timecodes and ranges, classifies each note (audio, color, graphics, text, timing, cut, legal, delivery), infers must/should/nice priority, separates approvals and questions, and emits an add_markers_batch payload. Local-only and deterministic; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | Yes | Free-text feedback (email, chat, review-tool export). One note per line works best; bullets, 'Name:' prefixes, mm:ss, hh:mm:ss, hh:mm:ss:ff, 1m23s, and ranges like 1:23-1:30 are understood. | |
| max_items | No | Maximum checklist items to produce (default 200). | |
| frame_rate | No | Sequence frame rate used to snap marker times and read ff fields; defaults to 30. | |
| timecode_style | No | How a three-part a:b:c value is read: auto (default), clock (hh:mm:ss), or frames (mm:ss:ff). | |
| marker_color_mode | No | Marker color by priority (default: must=red, should=orange, nice=green), by category, or one fixed color. | |
| fixed_marker_color | No | Color index used when marker_color_mode is fixed (default 3 = orange). | |
| marker_name_prefix | No | Optional prefix for every marker name, such as a round label like 'R2'. | |
| sequence_duration_seconds | No | Optional sequence duration; notes past it are kept in the checklist but get no marker. | |
| include_approvals_as_markers | No | Also create markers for approval notes (default false). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful traits beyond that: it is 'local-only and deterministic' and 'never changes Premiere', confirming no side effects on the project. It omits any note on failure modes for unparseable notes, keeping it at 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first clause, followed by a dense but information-bearing enumeration of classifications and the output contract. Every element maps to real behavior with no filler, though the long single sentence is heavy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described; the description still names the produced artifact (add_markers_batch payload) to link it to the sibling that applies it. Combined with the classification taxonomy, priority model, and side-effect guarantees, an agent has everything needed to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description nevertheless adds meaning above the schema by hinting at behaviors tied to parameters: timecode and range extraction (timecode_style/frame_rate), priority inference (marker_color_mode priority), and separating approvals (include_approvals_as_markers). It never names the parameters directly, so it stays below 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a precise verb and resource transformation ('turn pasted client or reviewer feedback into a prioritized checklist') and enumerates the sub-operations (timecode extraction, classification, priority inference, approvals/questions separation, payload emission). This clearly distinguishes it from sibling planning tools like plan_chapter_markers or plan_beat_montage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It establishes the input context ('pasted client or reviewer feedback') and the downstream handoff ('emits an add_markers_batch payload'), which implies when to reach for it and what consumes its output. It does not explicitly name an alternative tool or state when not to use it, so it stops short of the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_cross_app_workflowPlan Cross App WorkflowARead-onlyIdempotent
Plan an After Effects MOGRT or rendered-file handoff to Premiere using existing tools. Returns ordered dependencies, separate approvals, required evidence, and manual render stops. Local-only planning; never executes steps, issues approval tokens, or claims host readiness.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow | Yes | Supported After Effects to Premiere handoff to plan. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely non-obvious context beyond that: the output is non-executing, issues no approval tokens, and makes no host-readiness claims — key boundaries for a planning tool in a pipeline of apply/preview siblings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both front-loaded: the first states the action and return shape, the second states the hard limits. No filler, no restatement of the tool title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, yet the description still usefully summarizes them (ordered dependencies, separate approvals, required evidence, manual render stops). Combined with the explicit non-execution boundaries, an agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
A single required enum parameter with 100% schema description coverage, so the schema fully documents the input. The description's phrase 'MOGRT or rendered-file handoff' loosely mirrors the two enum values but adds no format or selection guidance. Baseline 3 for a fully documented single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (plan) and a precisely scoped resource (After Effects MOGRT or rendered-file handoff to Premiere), and the schema enumerates the two supported handoffs. An agent can distinguish it from sibling apply/preview handoff tools without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly bounds usage: 'Local-only planning; never executes steps, issues approval tokens, or claims host readiness,' which tells the agent clearly when not to rely on it for execution. It notes it uses existing tools but never names a specific alternative like apply_mogrt_premiere_handoff, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_emphasis_zoom_keyframesPlan Emphasis Zoom KeyframesARead-onlyIdempotent
Plan CapCut-style punch-in zoom keyframes (Motion Scale + subject-anchored Position) from a word timeline or supplied trigger times, with cooldown, easing, and hold controls. Local-only and deterministic; returns a keyframe plan for automate_effect_parameters_uxp or add_keyframe and never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| frame | No | Sequence frame size in pixels; defaults to 1080x1920. | |
| trigger | No | Trigger mode. Defaults to sentence_start with word_timeline and supplied with trigger_seconds. | |
| alternate | No | When true, triggers alternate between a punch-in that stays zoomed and a punch-out back to base instead of every trigger zooming and returning. | |
| max_zooms | No | Maximum accepted zoom events; defaults to 120. | |
| base_scale | No | Resting Motion Scale percent; defaults to 100. | |
| frame_rate | No | Sequence frame rate used to snap keyframe times; defaults to 30. | |
| zoom_scale | No | Peak Motion Scale percent for each punch-in; defaults to 112 and must exceed base_scale. | |
| hold_seconds | No | Seconds to hold the zoomed scale before easing out; defaults to 1.2. | |
| subject_point | No | Normalized (0..1) subject location the zoom should stay anchored on; defaults to x 0.5, y 0.4 for talking heads. | |
| word_timeline | No | Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them. | |
| ease_in_frames | No | Frames to ramp from base to zoom (0 = instant cut zoom); defaults to 3. | |
| emphasis_words | No | Words or short phrases that trigger a zoom in emphasis_words mode (case and punctuation insensitive). | |
| ease_out_frames | No | Frames to ramp back to base (0 = instant); defaults to 6. | |
| every_n_seconds | No | Trigger interval for every_n_seconds mode, measured from the start of the word timeline. | |
| trigger_seconds | No | Clip-relative trigger times in seconds; use instead of word_timeline (exactly one is required). | |
| cooldown_seconds | No | Minimum spacing between accepted triggers; closer triggers are dropped with a warning. Defaults to 2.5. | |
| clip_start_seconds | No | Timeline offset of the clip; added to produce timeline_seconds on every keyframe. Defaults to 0. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds that the tool is local-only and deterministic and that it never changes Premiere, which reinforces the read-only behavior. It stops short of describing rate limits, auth needs, or output structure, but the output schema handles the latter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tightly written sentences that front-load the core purpose and then add the key behavioral constraint. Every clause contributes useful information—effect style, input sources, controls, output destination, and side-effect guarantee—with no filler. It is appropriately sized for a 17-parameter planning tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema (100% coverage, nested objects) and the existence of an output schema, the description only needs to orient the agent, which it does completely. It covers purpose, input modes, output destination, and the no-side-effect guarantee. Annotations carry the safety profile, so no critical information is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 17 parameters in detail; per the rubric, that establishes a baseline of 3. The description mentions cooldown, easing, hold controls, and subject-anchored Position, but these map directly to already-described schema fields rather than adding new semantic guidance. It does not provide syntax or interaction rules beyond what the schema supplies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific planning verb and resource: 'Plan CapCut-style punch-in zoom keyframes (Motion Scale + subject-anchored Position).' It distinguishes the tool from mutators like add_keyframe by clarifying that it only produces a plan and never changes Premiere. The input modes (word timeline or supplied trigger times) and downstream consumers (automate_effect_parameters_uxp or add_keyframe) make the role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It specifies the two input contexts—a word timeline or supplied trigger times—and names the downstream tools that consume the plan, giving clear usage context. However, it does not explicitly say when to prefer this planner over calling add_keyframe directly or over other planning siblings. The guidance is clear enough for selection but lacks explicit exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_filler_word_removalPlan Filler Word RemovalARead-onlyIdempotent
Plan word-level filler removal (um, uh, you know...) from a revision-bound word timeline. Returns frame-snapped removal and keep ranges plus apply routes. Local-only; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| frame_rate | No | Timebase used to snap ranges to whole frames; defaults to 30. | |
| filler_words | No | Filler words or multi-word phrases to remove (matched as consecutive normalized tokens). Defaults to: um, uh, er, ah, hmm, you know, i mean, sort of, kind of. 'like' is only removed when listed explicitly. | |
| max_removals | No | Maximum merged removals to return; defaults to 256. | |
| handle_frames | No | Frames of handle left inside each removal so cuts are not tight; defaults to 1. | |
| word_timeline | Yes | Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them. | |
| min_confidence | No | Optional: only remove fillers whose every word carries a confidence at or above this value. | |
| merge_gap_seconds | No | Removals separated by less than this are merged into one cut; defaults to 0.15. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the bar is lower. The description still adds real value: it clarifies that the tool only plans and is 'local-only; never changes Premiere', and that output is 'frame-snapped removal and keep ranges plus apply routes' — concrete behavioral context beyond the hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight, front-loaded sentences with no filler; purpose, output shape, and safety each get one clause. Nothing is padded, though the output/safety sentences could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with a nested transcript object and a declared output schema, the description covers purpose, output nature (ranges + apply routes), and the non-mutating guarantee. The main gap is the absence of sibling-oriented guidance on when to choose this planner over related planners, but the core calling context is complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including defaults, ranges, and the filler-word matching rules, so the schema carries the parameter burden. The description adds only the notion of frame-snapping and a few sample fillers that the schema already documents; baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Plan word-level filler removal' with parenthetical examples (um, uh, you know...), scoped to a 'revision-bound word timeline'. An agent immediately knows what is produced. It does not explicitly distinguish itself from close siblings like plan_word_mute_ranges or plan_pause_tightening, so it stays 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does but gives no explicit when-to-use or when-not guidance, and never names the alternative tools an agent should weigh it against (e.g. plan_word_mute_ranges for muting vs this for cutting). Usage must be inferred from the name and input requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_multicam_angle_switchesPlan Multicam Angle SwitchesARead-onlyIdempotent
Plan active-speaker camera switching for stacked, synced camera tracks: from speaker segments and a camera-to-speaker map it produces an angle cut list with minimum holds, crosstalk cover shots, optional lead-in cuts and periodic cutaways, plus razor times, per-camera enable/disable ranges, and markers. Local-only and deterministic; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| cameras | Yes | Camera angles. A camera with one speaker is a single, two or more is a two_shot, none is a wide cover unless role says otherwise. | |
| frame_rate | No | Sequence frame rate for snapping cut points; defaults to 30. | |
| marker_color | No | Marker color index for the cut markers (default 6 = blue). | |
| start_seconds | No | Plan start in sequence seconds (default 0). | |
| cutaway_seconds | No | Length of each cutaway (default 2.5; must be at least min_hold_seconds). | |
| cover_on_overlap | No | Cut to a two_shot or wide camera when speakers overlap (default true). | |
| min_hold_seconds | No | Minimum time an angle stays on air; shorter changes are absorbed (default 2). | |
| speaker_segments | Yes | Who is speaking when, in sequence seconds (from a transcript, diarization, or plan_speaker_checkerboard turns). Overlaps are allowed. | |
| lead_switch_seconds | No | Cut to the incoming speaker this many seconds before they start, when the outgoing hold allows (default 0). | |
| overlap_min_seconds | No | Minimum crosstalk length before the cover shot is used (default 0.6). | |
| cutaway_every_seconds | No | Insert a cover cutaway during monologues longer than this many seconds (default: none). | |
| total_duration_seconds | No | Plan end in sequence seconds (default: last segment end). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds genuinely useful non-schema behavior: local-only execution, determinism, and that it never modifies Premiere — clarifying this is a planning artifact, not an applied edit. It stops short of timing or size-limit caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the action and its inputs before listing outputs, then closes with the key safety/determinism note. Everything earns its place, though the output enumeration is long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be spelled out, and the description still summarizes them plus the read-only/local-only behavior. For a 12-parameter planning tool this is close to complete; only explicit sibling routing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema carries the parameter definitions and the baseline is 3. The description connects several parameters to their outcomes (minimum holds, crosstalk cover shots, lead-in cuts, periodic cutaways), which adds framing, but it does not define any parameter's units or defaults itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Plan active-speaker camera switching for stacked, synced camera tracks.' It enumerates exactly what is produced (angle cut list, razor times, enable/disable ranges, markers), which clearly distinguishes it from adjacent planning tools like plan_speaker_checkerboard and plan_active_speaker_reframe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the precondition (speaker segments plus a camera-to-speaker map) and scope, but never states when to prefer this over sibling planning tools or when it is inappropriate. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_pause_tighteningPlan Pause TighteningARead-onlyIdempotent
Plan shortening (not deleting) of inter-word pauses longer than max_pause_seconds down to a target, respecting sentence boundaries. Returns centered removal ranges, keep ranges, savings and apply routes. Local-only; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| max_edits | No | Maximum pauses to tighten (longest first when capped); defaults to 256. | |
| frame_rate | No | Timebase used to snap ranges to whole frames; defaults to 30. | |
| word_timeline | Yes | Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them. | |
| max_pause_seconds | No | Pauses longer than this are tightened; defaults to 1.0. | |
| target_pause_seconds | No | Pause length kept after tightening (split evenly around the cut); defaults to 0.35 and must not exceed max_pause_seconds. | |
| sentence_pause_seconds | No | Pause length kept after sentence-ending punctuation; defaults to 0.6. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnlyHint=true, destructiveHint=false and idempotentHint=true, so the safety profile is largely covered. The description adds value beyond that: it says the tool is local-only, never mutates Premiere, and returns removal ranges, keep ranges, savings and apply routes, giving the agent a sense of what the plan output contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no padding; the core action is front-loaded and the return/safety notes follow in order of importance. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations and an output schema present, the description need not explain return shapes in depth. It covers the mutation scope, the local-only guarantee and the planning output, leaving only the sibling routing question open.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters are already documented with defaults, bounds and constraints (e.g. target must not exceed max_pause_seconds). The description references max_pause_seconds and the target but adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (plan) plus a precise resource (shortening of inter-word pauses longer than max_pause_seconds down to a target), and clarifies it is not deletion. This distinguishes it from nearby siblings like plan_filler_word_removal and plan_word_mute_ranges without needing to open their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (planning pause tightening) but never states when to prefer this over alternatives such as detect_silence, plan_silence_review_markers, or plan_filler_word_removal. Usage is inferable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_platform_delivery_matrixPlan Platform Delivery MatrixARead-onlyIdempotent
Plan multi-ratio delivery of one source sequence to TikTok, Reels, Shorts, YouTube, LinkedIn, X, and Facebook from a local spec table: sequence settings, reframe scale math, duration and file-size fit, caption safe zones, and ordered apply routes. Local-only; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | Source sequence characteristics. | |
| targets | Yes | Unique platform ids to plan for. | |
| strategy | No | Reframe strategy when the aspect ratio changes; defaults to auto_reframe. | |
| export_preset_hint | No | Optional export preset name to echo into the export step. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed world, so the safety profile is covered. The description adds genuine value beyond that: it explicitly reinforces local-only behavior and itemizes the computations the planner performs, giving the agent a concrete picture of scope and side-effect freedom.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single front-loaded sentence with no filler, and the most important constraint (local-only, no Premiere changes) is stated last but compactly. It is dense with enumerated lists, which slightly reduces scannability but wastes nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, and the description covers the tool's scope, inputs and non-mutating nature adequately for a 4-parameter planner. It could be stronger by noting how the plan relates to downstream apply/export tools, but nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so source fields, target enum, strategy enum and preset hint are all documented in the schema. The description gestures at these inputs (sequence settings, reframe scale math, fit checks) but adds no syntactic or default detail beyond what the schema already supplies, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Plan), a specific resource (multi-ratio delivery of one source sequence), and enumerates the exact platforms plus the artifacts produced (reframe scale math, duration/file-size fit, caption safe zones, ordered apply routes). This clearly separates it from siblings like validate_platform_publish_package or verify_delivery_conformance, which are validation rather than planning.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Local-only; never changes Premiere' tells the agent this is a non-mutating planning step, which is the key routing signal versus mutating tools (export_sequence, apply_edit_plan). It does not, however, explicitly name an alternative or state the precondition that a plan precedes an apply/export step, so it stops short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_reaction_captionsPlan Reaction CaptionsARead-onlyIdempotent
Plan stacked, speaker-colored reaction captions from a word timeline and an explicit speaker palette. Flash-length words merge, overlaps stack, and unknown speakers stay uncolored. Local-only; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| frame_rate | No | Sequence frame rate used to snap times to frames; defaults to 30. | |
| shot_changes | No | Optional labeled cut points. A matching speaker's caption will not start before they appear on screen when a readable hold remains. | |
| max_cue_chars | No | Longest caption text before a cue is split at a word boundary; defaults to 84 (two 42-character lines). | |
| word_timeline | Yes | Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them. | |
| max_cue_seconds | No | Longest time one caption stays up before it is split; defaults to 6. | |
| speaker_palette | Yes | Known speakers and their exact #RRGGBB colors. Missing labels are returned as uncertain and never receive a guessed color. | |
| min_hold_seconds | No | Minimum duration kept after clamping a cue to a shot change; defaults to 0.35. | |
| merge_gap_seconds | No | Same-speaker words closer than this become one cue; defaults to 0.12 so a short pause can start a new line. | |
| combine_gap_seconds | No | Maximum gap when combining a flash cue with the next same-speaker cue; defaults to 0.8. | |
| min_solo_cue_seconds | No | Cues shorter than this merge with the next same-speaker cue; defaults to 0.45. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds genuine behavioral detail beyond that: flash-length words merge, overlaps stack, and unknown speakers stay uncolored (no guessed colors). 'Never changes Premiere' largely restates readOnlyHint but usefully reinforces that planning is side-effect free.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two/three tight sentences: the core operation first, then the key merge/stack/coloring rules, then the safety note. Every sentence carries information and nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter planning tool with rich annotations and an output schema that covers the return value, the description supplies enough behavioral context (merge, stacking, uncolored unknown speakers) to call it correctly. It stops short of explaining the transcript-revision dependency or ties to the palette-to-word label matching rules, but these are mostly in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 10 parameters, so the schema already documents frame_rate, gaps, cue limits, and hold behavior with defaults. The description names none of these parameters and adds no syntax or format meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('plan') and resource ('stacked, speaker-colored reaction captions') plus the two required inputs, distinguishing it from the write-oriented siblings (build_caption_artifact, create_caption_track) and from planning siblings like plan_speaker_checkerboard. An agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage by naming the required inputs (a word timeline and speaker palette), which suggests when the tool applies, but it never states when to prefer this over build_caption_artifact or create_caption_track, nor any prerequisite such as needing a transcript revision from get_clip_transcript_uxp. Usage context is inferable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_short_export_folderPlan Short Export FolderARead-onlyIdempotent
Plan a series-named export folder inside an approved Shorts root and remind the caller to create it when missing. Local-only; never writes files or changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Channel brand kit. cafe must not reuse watch_club fonts, name cards, or speaker colors. | |
| title | Yes | Short title used as the file stem. | |
| extension | No | File extension without a dot; defaults to mp4. | |
| export_root | Yes | Absolute Shorts export root, for example the ALL Shorts or Cafe Exports folder. | |
| series_name | Yes | Anime or series folder name to create under export_root when missing. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so 'Local-only; never writes files or changes Premiere' largely restates the structured safety profile. The one genuine addition is the promise to 'remind the caller to create it when missing', hinting the response reports folder absence, but no further behavior (validation of the root, error cases) is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, then the safety clause. No padding, though the second sentence is close to a restatement of the readOnly annotations and earns less of its place than the first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-format explanation is unnecessary, and all five parameters are documented in the schema. The definition is adequate for a local planning tool, though it omits what qualifies as an 'approved' root and the folder-naming convention it will generate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each of the five parameters already carries its own description (including the brand enum constraint), so the schema does the heavy lifting. The description adds no syntax, format, or naming-convention detail beyond what the schema already states; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: it names the artifact it plans (a series-named export folder) and its scope (an approved Shorts root). The 'plan' family of siblings (plan_beat_montage, plan_chapter_markers) makes the intent distinguishable, though the description doesn't explicitly contrast itself against those planners.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'remind the caller to create it when missing' implies the tool is a pre-flight planning step whose output feeds a later folder creation, but no explicit when-to-use/when-not or named alternative is given. Usage must be inferred from the verb 'plan'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_short_subscribe_ctaPlan Short Subscribe CtaARead-onlyIdempotent
Plan a brief subscribe overlay about two-thirds through a Short, after an optional hook, in a platform-safe lower-third. Local-only; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| copy | No | Optional overlay text. Defaults to a brand-appropriate subscribe line. | |
| brand | No | Channel brand kit. cafe must not reuse watch_club fonts, name cards, or speaker colors. | |
| at_ratio | No | Placement as a fraction of duration; defaults to 2/3. | |
| platform | No | Safe-zone profile; defaults to youtube_shorts. | |
| frame_rate | No | Sequence frame rate used to snap times to frames; defaults to 30. | |
| hold_seconds | No | How long the prompt stays on screen; defaults to 2. | |
| duration_seconds | Yes | Finished Short duration in seconds. | |
| hook_end_seconds | No | If the hook ends later than the default placement, the CTA starts after the hook. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is largely pre-covered. 'Local-only; never changes Premiere' usefully reinforces that this is a planning step with no side effects, but it adds little behavioral detail beyond the annotations and doesn't address return shape or whether plans can be reapplied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and placement, with the non-destructive constraint as a trailing qualifier. No filler, every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and full schema description coverage, the description needn't explain return values; it correctly covers the what, the default placement, and the local-only constraint. It stops just short of routing guidance among the large plan_* family, so it is strong but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 8 parameters, including enums for brand and platform and bounded ranges, so the schema carries the semantics. The description only echoes the default placement (two-thirds) and safety framing, adding no parameter detail the schema lacks. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Plan a brief subscribe overlay ... in a platform-safe lower-third') and pins the timing ('about two-thirds through a Short, after an optional hook'), which is enough to distinguish it from the many other plan_* siblings. An agent can tell this plans a CTA placement rather than mutating the timeline.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage via 'after an optional hook' and 'platform-safe lower-third', which tells the agent the intended editorial context, but it never states when to prefer this over siblings like add_text_overlay or plan_reaction_captions, nor any prerequisites. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_shot_matchPlan Shot MatchA
Compare two bounded local-media frame samples and return measured waveform/parade/saturation deltas plus coarse correction directions. Read-only planning only; it does not grade Premiere or claim that primaries alone can match the shots.
| Name | Required | Description | Default |
|---|---|---|---|
| target_media_path | Yes | Existing local target video file | |
| target_time_seconds | No | Target source time from 0 through 86400 seconds (default: 0) | |
| reference_media_path | Yes | Existing local reference video file | |
| reference_time_seconds | No | Reference source time from 0 through 86400 seconds (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'Read-only planning only; it does not grade Premiere or claim that primaries alone can match the shots.' This adds critical behavioral context: it's a non-destructive, advisory tool. However, annotations include readOnlyHint: false, which seems contradictory—the tool is described as read-only but annotation says not read-only. This inconsistency undermines transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and followed by an important scope disclaimer. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (comparison analysis), the description covers the essential what and the read-only caveat. With an output schema present, it needn't explain return values. The only gap is that it doesn't clarify the contradiction with annotations or provide more operational context, but it's largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are fully documented in the schema. The description mentions 'bounded local-media frame samples' but adds no parameter-specific details beyond what the schema provides. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resources: 'Compare two bounded local-media frame samples and return measured waveform/parade/saturation deltas plus coarse correction directions.' This clearly distinguishes it from siblings like match_frame or color_correct by emphasizing measurement and planning rather than execution. It doesn't explicitly name sibling alternatives, so it falls short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for shot matching analysis but doesn't specify when to use this tool instead of alternatives like match_frame or color_correct. No explicit when-not-to-use conditions or prerequisites are stated, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_silence_review_markersPlan Silence Review MarkersARead-onlyIdempotent
Create a bounded, non-mutating review plan that maps FFmpeg-detected source-media silences onto one known 1x timeline placement. It clips candidates to the supplied source in/out span, redacts the source path, and never adds markers, cuts clips, or changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| media_path | Yes | Absolute path to the local source media file to analyse. | |
| max_candidates | No | Maximum candidate ranges to return (default: 50, maximum: 200). | |
| source_in_seconds | No | Source-media in point used by the placement (default: 0). | |
| noise_threshold_db | No | Level at or below which audio counts as silence, in dBFS (default: -30). | |
| source_out_seconds | No | Exclusive source-media out point used by the placement. Defaults to the detected media duration when available. | |
| min_duration_seconds | No | Shortest run of silence to consider (default: 1.5). | |
| timeline_start_seconds | Yes | Timeline time where this 1x source placement begins. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, but the description adds real context beyond them: candidates are clipped to the supplied source in/out span, the source path is redacted, and the plan is bounded. These are non-obvious behavioral traits (privacy handling, scoping) that an agent would not learn from the annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler; the core purpose is front-loaded in the first clause, and the non-mutation guarantees are stated second where they belong. Every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and all seven parameters are documented in the schema. The safety profile and scoping behavior are covered, leaving only the explicit when-to-use guidance as a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds meaning by explaining that source_in/out are used to clip candidates and that the result is tied to a single 1x timeline placement, which clarifies the effect of those parameters beyond their schema wording.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create a bounded, non-mutating review plan') plus the precise resource and operation: mapping FFmpeg-detected silences onto a known 1x timeline placement. An agent can distinguish this from detection siblings (detect_silence) and marker-writing siblings (add_markers_batch) without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'never adds markers, cuts clips, or changes Premiere' implicitly routes the agent away from the mutation siblings and toward a planning step, which is useful implied guidance. However, no alternative is named explicitly and there is no stated precondition or 'use this instead of X when Y' instruction, so the agent must infer when to prefer this over detect_silence, plan_pause_tightening, or add_markers_batch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_speaker_checkerboardPlan Speaker CheckerboardARead-onlyIdempotent
Plan a speaker checkerboard (each speaker's turns on their own video/audio track) from a caller-supplied word timeline. Returns frame-snapped segments, split points, track assignments, and the add_track/razor_all_tracks/move_clip_to_track routes. Local-only; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| frame_rate | No | Sequence frame rate used to snap times to frames; defaults to 30. | |
| handle_frames | No | Frames to pad each segment outward, clamped so adjacent turns never overlap; defaults to 2. | |
| speaker_order | No | Optional speaker labels fixing track slot order; unlisted speakers append in first-appearance order. | |
| word_timeline | Yes | Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them. | |
| min_turn_seconds | No | Interior turns shorter than this are absorbed into the surrounding speaker; defaults to 0.8. | |
| merge_gap_seconds | No | Same-speaker words separated by at most this gap merge into one turn; defaults to 0.5. | |
| track_per_speaker | No | true (default) assigns one track per speaker; false alternates consecutive segments between two tracks. | |
| base_audio_track_index | No | Audio track holding the source clip; defaults to 0. | |
| base_video_track_index | No | Video track holding the source clip; defaults to 0. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description reinforces 'never changes Premiere' while adding value beyond the annotations: it discloses the return payload (frame-snapped segments, split points, track assignments) and the downstream route names (add_track/razor_all_tracks/move_clip_to_track). It does not discuss limits or failure modes, but the annotation bar is already met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences: purpose first, then output/routes, then the safety constraint last. No filler, and the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 9-parameter, nested-object tool this is largely complete: it names the input source, the transformation, the outputs, and the safety profile. Since an output schema exists, return-value detail is redundant rather than missing, and the only small gap is explicit routing away from sibling planners.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with 9 well-documented parameters including nested word_timeline entries, so the schema carries parameter meaning. The description only references the 'word timeline' input and 'frame-snapped' behavior, adding little beyond the structured fields — the baseline 3 for full coverage is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Plan) and resource (speaker checkerboard), then parenthetically defines the concept (each speaker's turns on their own video/audio track) so the agent need not infer it. Clearly distinguishable from siblings like plan_multicam_angle_switches and plan_active_speaker_reframe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Specifies the input precondition (a caller-supplied word timeline) and notes it is local-only, giving clear usage context. However, it never states when to prefer this over adjacent planning tools such as plan_multicam_angle_switches or plan_active_speaker_reframe, so alternative selection 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.
plan_word_mute_rangesPlan Word Mute RangesARead-onlyIdempotent
Plan mute or bleep ranges for listed words/phrases in a word timeline. Returns redacted, frame-snapped mute ranges, ready-to-apply audio keyframes and (for bleep) tone placements. Local-only; never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | mute ducks the dialogue only; bleep also emits tone placements. Defaults to mute. | |
| words | Yes | Exact words or phrases to mute, matched as consecutive normalized tokens. | |
| frame_rate | No | Timebase used to snap ranges to whole frames; defaults to 30. | |
| mute_level_db | No | Level inside each range for add_audio_keyframes; defaults to -60. | |
| word_timeline | Yes | Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them. | |
| padding_seconds | No | Seconds added before and after each flagged word; defaults to 0.04. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description meaningfully adds that it does not touch Premiere and that output is frame-snapped/redacted. It stops short of describing determinism or error behavior, but adds real context beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the purpose, then output, then the safety constraint. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich output schema and full annotation coverage, the description needn't explain return values, and it still outlines them briefly. It is complete enough for correct invocation, though it could tie into the apply-step sibling for a fully rounded picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters including the mode enum and nested word_timeline are already documented. The description only echoes the mute-vs-bleep distinction without adding syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (plan) and resource (mute/bleep ranges for listed words in a word timeline). The 'plan' framing clearly distinguishes it from execution siblings like mute_track and add_audio_keyframes, which actually apply changes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Makes the workflow context clear: it is a planning step whose output is 'ready-to-apply' keyframes, and it is 'local-only; never changes Premiere'. However it does not explicitly name the sibling to call afterward (e.g. add_audio_keyframes) or any when-not condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
play_source_monitorPlay Source MonitorA
Request playback of the clip in the Source Monitor. Fails when no clip is loaded. The legacy API does not provide a same-call position readback, so movement is not reported as verified.
| Name | Required | Description | Default |
|---|---|---|---|
| speed | No | Playback speed (1.0 = normal, 2.0 = 2x, -1.0 = reverse). Default: 1.0 |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare non-readOnly and non-idempotent but say nothing about failure modes or verification. The description adds two genuinely useful behavioral facts beyond the annotations: the no-clip-loaded failure condition and the caveat that movement is not verified because the legacy API offers no same-call position readback. It stops short of describing blocking/async behavior or how to confirm playback afterwards.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, then failure condition, then the verification caveat. Each sentence carries information; the final one is dense but justifies itself by flagging an important limitation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and it correctly focuses on the action, the failure precondition, and the verification gap. It could additionally note blocking/async behavior or point to get_source_monitor_position/stop_playback, but nothing essential for calling it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter and schema description coverage is 100%, so the schema already fully documents 'speed' including its default and reverse semantics. The description adds no parameter-level meaning beyond that, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Request playback') and a specific resource/target ('the clip in the Source Monitor'), so it is distinguishable from the surrounding timeline/transport tools. It does not explicitly name sibling alternatives such as play_timeline or stop_playback, but the resource scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives one concrete precondition - 'Fails when no clip is loaded' - which tells the agent when the call will fail. However, it never routes the agent relative to alternatives (play_timeline for the timeline, stop_playback to halt), 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.
play_timelinePlay TimelineA
Request playback of the active sequence timeline through QE. The legacy API does not provide a same-call playhead readback, so movement is not reported as verified.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-idempotent, non-destructive operation. The description adds genuinely useful behavior the annotations cannot convey: that no same-call playhead readback exists, so playback movement is not confirmed. It stops short of saying whether the call blocks or returns immediately, but the verification caveat is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the action first and the caveat second; nothing is redundant and no padding is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and there are no parameters to document. The description covers purpose and the key verification limitation, though it could point at the companion tool (e.g. get_playhead_position) for confirming that playback actually advanced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no argument semantics to clarify; the description correctly avoids inventing any. Baseline for a parameterless tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Request playback of the active sequence timeline', which clearly separates it from stop_playback or get_playhead_position. It does not name a sibling explicitly, but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this tool versus alternatives such as stop_playback or navigate_playhead, nor any prerequisite or sequencing guidance. The note about verification is about expectations, not about when or when-not to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_after_effects_renderPreview After Effects RenderARead-onlyIdempotent
Preview a bounded queue-only After Effects render request for one named composition and existing workspace output directory. It does not contact Adobe, enqueue, or render.
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | Yes | New workspace-contained output file path whose parent already exists. | |
| composition_name | Yes | Exact existing After Effects composition name. | |
| output_module_template | Yes | Exact After Effects output-module template name. | |
| approved_workspace_path | Yes | Absolute operator-approved workspace root. | |
| render_settings_template | Yes | Exact After Effects render-settings template name. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: no Adobe contact, no queueing, no rendering, confirming this is a pure dry-run against provided paths.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The positive scope statement comes first and the negative capability statement second, which is exactly the right front-loading for a preview tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not describe return values, and the 100% schema coverage handles parameters. What remains is sufficient for a read-only preview, though it does not explain why a preview would fail or what it validates against.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five required parameters are fully documented in the schema, making 3 the baseline. The description reinforces the composition and workspace-directory constraints but adds no format, syntax, or validation detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Preview) and resource (a bounded queue-only After Effects render request) with scope narrowed to one named composition and an existing workspace output directory. It is clearly distinguishable from enqueue_after_effects_render, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The negation 'does not contact Adobe, enqueue, or render' implicitly tells the agent this is a validation-only step before a real enqueue, which is useful directional guidance. However, no alternative tool is named and no explicit when-to-use condition or precondition is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_after_effects_render_handoffPreview After Effects Render HandoffARead-onlyIdempotent
Preview import of one completed After Effects single-file render into an existing Premiere bin. Reads both connected hosts and binds approval to file metadata and project/bin identity. Does not render, import, or edit a timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | Yes | Existing completed .mov, .mp4, .mxf, .avi or .wav render; image sequences are not supported. | |
| target_bin_id | Yes | Exact node ID of an existing destination bin, never a name. | |
| ae_project_path | Yes | Exact open, saved After Effects project path. | |
| queue_item_index | Yes | One-based AE render queue item index, as returned by enqueue_after_effects_render. | |
| premiere_project_path | Yes | Exact open, saved Premiere project path. It may be outside approved_workspace_path: it is only compared with the project Premiere has open. | |
| approved_workspace_path | Yes | Existing absolute workspace containing both saved projects and the rendered media. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description adds substantive context beyond that – it reads both connected hosts, binds approval to file metadata plus project/bin identity, and enumerates the operations it does NOT perform. It stops short of explaining what an approval result or invalidation looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the operation and scope, followed by the binding behavior and then the explicit non-goals. Nothing is padding and each sentence adds a distinct fact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations cover the safety profile. The description supplies scope, host-read requirement, and negative constraints, giving an agent enough to invoke it correctly; only the meaning of 'binds approval' and the relationship to the apply tool remain implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all six parameters documented in their own descriptions, including the constraints that matter (one-based queue index, exact bin node ID, existing open projects). The description adds only the general 'single-file render' framing and does not supplement parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (preview import) plus resource scope (one completed single-file After Effects render into an existing Premiere bin), which concretely distinguishes it from the sibling apply_after_effects_render_handoff and from preview_mogrt_premiere_handoff. The file-type and single-item scope further sharpen what is being previewed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the dry-run step preceding an apply/handoff, and it explicitly excludes rendering, importing, and timeline editing. But it never names the alternative tool or states the condition that selects preview over apply, so the agent must infer the workflow position.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_brand_spotPreview Brand SpotARead-onlyIdempotent
Preview a brand-spot assembly from existing project items with an optional workspace-contained MOGRT overlay. Preview is local-only; it does not read or import the MOGRT file.
| Name | Required | Description | Default |
|---|---|---|---|
| mogrt_path | No | Optional absolute .mogrt path, which must be inside approved_workspace_path. | |
| sequence_id | Yes | Exact ID of an existing empty destination sequence. It must be active at apply time. | |
| motion_style | No | Scale-motion style for product and brand spots; defaults to alternate. | |
| asset_item_ids | Yes | Exact existing project-item node IDs in playback order; external media paths are deliberately not imported by this workflow. | |
| transition_name | No | Transition name; defaults to Cross Dissolve. Use none to disable transitions. | |
| audio_track_index | No | Empty destination audio track index, default 0. | |
| title_track_index | No | Empty title-overlay video track index, default 1 and distinct from video_track_index. | |
| video_track_index | No | Empty destination video track index, default 0. | |
| title_start_seconds | No | MOGRT start time in seconds, default 0.4. | |
| clip_duration_seconds | No | Planned spacing between asset starts; defaults to 5 seconds for a motion demo and 4 seconds for spots. | |
| approved_workspace_path | No | Operator-approved root containing mogrt_path; required whenever mogrt_path is supplied. | |
| transition_duration_seconds | No | Transition duration, default 0.75 seconds for demos and 0.5 seconds for spots. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint=true, idempotentHint=true, destructiveHint=false), but the description adds a genuinely non-obvious trait: the supplied mogrt_path is not read or imported during preview, which matters because that parameter otherwise looks like a real file dependency. It stops short of describing what the preview returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with zero filler. The core action leads and the surprising caveat (local-only, MOGRT not read) follows immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full schema coverage, and complete annotations, the description only needs to supply the behavioral surprise, which it does. Slightly incomplete on routing among the many preview_* siblings, but nothing needed to invoke the tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with all 12 parameters documented in the schema, so the baseline is 3. The description only echoes the workspace-containment constraint on mogrt_path and adds no new syntax, defaults, or ordering semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (preview) and resource (brand-spot assembly) plus its input basis (existing project items) and the optional MOGRT overlay. It is clearly distinct from most siblings, though it never names the closest ones (preview_product_spot, preview_motion_graphics_demo) to explain which preview variant applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (dry-run an assembly before applying) and gives one important boundary: preview is local-only and does not read or import the MOGRT file. However, it never states when to choose this over preview_product_spot, preview_motion_graphics_demo, or apply_spot_workflow_plan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_editorial_planPreview Editorial PlanARead-onlyIdempotent
Revalidate an exact server-issued editorial plan against the saved project-context revisions and return an opaque confirmation token. This tool is read-only and cannot apply the plan.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | Yes | Unchanged plan returned by create_editorial_plan from this running server instance. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: the plan must be an exact server-issued artifact, validation is against saved project-context revisions, and the result is an opaque confirmation token.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences front-load the core action and then state the read-only limitation. There is no filler, and the constraint that matters most, 'cannot apply the plan,' appears early.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter preview/validation tool with a complete input schema, rich annotations, and an output schema, the description supplies enough context to call it correctly and understand that it cannot apply changes. The main remaining gap is explicit routing guidance relative to sibling preview/apply tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the sole parameter is documented in the schema as the unchanged plan returned by create_editorial_plan from this running server instance. The description adds 'exact server-issued' emphasis but largely reinforces rather than extends the schema semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb, 'Revalidate,' and a specific resource, 'exact server-issued editorial plan,' and states the output artifact, an 'opaque confirmation token.' It also distinguishes itself from apply/create siblings by emphasizing 'cannot apply the plan' and by requiring a plan already issued by create_editorial_plan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as a validation/preview step by saying it revalidates a server-issued plan and cannot apply it, but it never states when this tool should be used instead of preview_edit_plan, apply_edit_plan, or create_editorial_plan. The guidance is 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.
preview_edit_planPreview Edit PlanA
Inspect sequence, project item, clip and requested track targets before previewing a compound timeline edit without changing Premiere. Returns a single-use confirmation token bound to stable project, sequence and target identities; it expires after 30 minutes and is required by apply_edit_plan.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | Yes | An edit plan: { sequence_id?, operations: [...] } with up to 100 insert_clip and remove_clip operations. Operations run in order, and each one's times refer to the timeline as the operations before it left it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is partly covered. The description adds important behavioral context beyond that: the token is single-use, bound to stable project/sequence/target identities, expires in 30 minutes, and is required by apply_edit_plan. It does not describe validation failure modes, but the output schema can cover return details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the tool's scope and non-destructive constraint, followed by the token lifecycle and dependency on apply_edit_plan. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested 100-operation plan and an output schema, the description covers purpose, preconditions, and token lifecycle sufficiently. It could mention whether operation ordering or validation errors are surfaced, but given the rich schema and annotations, the definition is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including detailed nested descriptions for operations, fields, and defaults. The description only summarizes the affected entities (sequence, project item, clip, track targets) and adds no syntax, constraints, or examples beyond what the schema already provides. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Inspect), the resources (sequence, project item, clip, requested track targets), and the scope (previewing a compound timeline edit without changing Premiere). It also explicitly distinguishes itself from apply_edit_plan by noting the returned token is required by that tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly establishes when to use the tool: before applying a compound edit and specifically because apply_edit_plan requires the returned token. It does not name any alternative or explicitly state when not to use it, but the sequencing constraint is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_mogrt_batchPreview Mogrt BatchARead-onlyIdempotent
Preview up to 20 bounded MOGRT recipe exports from a workspace-contained JSON or CSV data file. It does not contact Adobe or create any compositions or files.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_kit | No | Optional validated brand-kit values applied to every batch recipe. | |
| data_file_path | Yes | Existing workspace-contained .json or .csv file with recipe rows. | |
| output_directory | Yes | Existing workspace-contained directory for every batch artifact. | |
| approved_workspace_path | Yes | Absolute operator-approved workspace root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description still adds real context the annotations do not: no Adobe contact occurs, no compositions or files are created, and the batch is capped at 20 rows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The capability and its scope come first, followed by the non-effects clause, which is exactly the ordering an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and annotations cover the safety profile. The remaining gap is the absence of any pointer to preview_mogrt_recipe or create_mogrt_batch, which matters given how crowded the MOGRT sibling set is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes slightly beyond the schema by disclosing the 20-item bound and reinforcing that both the data file and workspace are workspace-contained, which constrains how the three required path parameters should be supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (preview), resource (MOGRT recipe exports), and scope (batch, up to 20, from a JSON/CSV data file). It is clearly distinguishable from create_mogrt_batch, though it never names preview_mogrt_recipe to clarify the single-vs-batch boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'from a workspace-contained JSON or CSV data file' — an agent can infer this is for reviewing a multi-row batch before exporting. However there is no explicit when-to-use / when-not, and no routing against the closely related preview_mogrt_recipe or create_mogrt_batch siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_mogrt_library_publishPreview Mogrt Library PublishARead-onlyIdempotent
Preview a no-overwrite publish of a validated MOGRT into a workspace-contained, versioned local library. The library root must already exist; no file or directory is created during preview.
| Name | Required | Description | Default |
|---|---|---|---|
| mogrt_path | Yes | Existing workspace-contained MOGRT artifact. | |
| template_name | Yes | Safe immutable library template name. | |
| library_directory | Yes | Existing workspace-contained local library root. | |
| approved_workspace_path | Yes | Absolute operator-approved workspace root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description usefully adds that no file or directory is created during preview and that the publish is no-overwrite, which is real 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the dry-run nature and the no-side-effect guarantee front-loaded. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values need not be described, and annotations cover the safety profile; the description covers scope, preconditions, and side-effect behavior. Slightly thin on explicit routing to the non-preview publish tool, which is the only real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters (mogrt_path, template_name, library_directory, approved_workspace_path). The description reinforces that the library root must exist but adds no parameter-level syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb plus resource ('Preview a no-overwrite publish of a validated MOGRT into a ... library') and clearly frames it as the dry-run counterpart to publish_mogrt_to_library. An agent can distinguish it from the sibling publish 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear preconditions ('validated MOGRT', 'library root must already exist') but never explicitly names the alternative (publish_mogrt_to_library) or states when-not to use it. Usage is strongly implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_mogrt_premiere_handoffPreview Mogrt Premiere HandoffARead-onlyIdempotent
Preview a contained MOGRT import into one explicitly named disposable Premiere verification sequence and empty video track. It does not contact Premiere or alter a sequence.
| Name | Required | Description | Default |
|---|---|---|---|
| mogrt_path | Yes | Existing workspace-contained MOGRT artifact. | |
| sequence_id | Yes | Exact Premiere sequence identifier to recheck before import. | |
| start_seconds | No | Insertion start time in seconds; defaults to 0. | |
| audio_track_index | No | Audio track index passed to Premiere; defaults to 0. | |
| video_track_index | No | Empty video track index for the imported MOGRT; defaults to 0. | |
| approved_workspace_path | Yes | Absolute operator-approved workspace root. | |
| disposable_sequence_name | Yes | Must begin with 'MOGRT Verify - '. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description still adds real behavioral context the annotations do not: that the operation never contacts Premiere and never mutates a sequence, which is exactly the distinction an agent needs when choosing between preview and apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The positive action is front-loaded and the non-mutation guarantee is placed second, which is the right ordering for an agent scanning for safety constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, idempotent preview tool with full schema coverage and an output schema, the description supplies everything needed to select and invoke it correctly, including the non-contact guarantee. It could be marginally stronger by naming the apply counterpart, but nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and an output schema exists, so the schema already documents all seven parameters, including the 'MOGRT Verify - ' naming rule and the empty-track index. The description echoes the disposable-sequence and empty-track intent but adds no format or syntax detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Preview) plus the exact resource and target (a contained MOGRT import into a named disposable Premiere verification sequence and empty video track). The word 'preview' plus the 'does not contact Premiere' clause cleanly separates it from the sibling apply_mogrt_premiere_handoff.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly signals when this is the right choice: a dry-run verification that neither contacts Premiere nor alters a sequence, implying the apply tool is used after verification passes. It stops short of naming the alternative tool explicitly, so it falls just short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_mogrt_recipePreview Mogrt RecipeARead-onlyIdempotent
Preview a bounded After Effects MOGRT recipe from the supported title, callout, quote, social, and media-placeholder template library. It validates one existing workspace output directory but does not contact Adobe or write any files.
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | Composition width from 320 to 7680 pixels; defaults to 1920. | |
| height | No | Composition height from 240 to 4320 pixels; defaults to 1080. | |
| recipe | No | Supported authored template recipe; defaults to lower_third. | |
| headline | Yes | Primary headline text, at most 160 characters. Required for text recipes; optional caption for media_placeholder. | |
| subtitle | No | Optional secondary lower-third text, at most 160 characters. | |
| brand_kit | No | Optional approved local brand kit. It can constrain naming, request an installed font, place a workspace-contained PNG/JPEG logo, and enforce a safe margin. | |
| frame_rate | No | Composition frame rate; defaults to 30. | |
| text_color | No | Optional text color as #RRGGBB; defaults to #FFFFFF. | |
| accent_color | No | Optional accent fill color as #RRGGBB; defaults to #2563EB. | |
| template_name | Yes | Safe template file stem; the generated artifact is template_name.mogrt. | |
| text_controls | No | full (default) also exposes per-text-layer Font Size, Fill Color, Stroke Color, Stroke Width, Position, Scale, Rotation, Anchor Point, and Opacity controls; text_only exposes only the text strings. | |
| duration_seconds | No | Composition duration between 2 and 30 seconds; defaults to 5. | |
| output_directory | Yes | Existing absolute output directory inside approved_workspace_path; this workflow never creates directories. | |
| placeholder_media_path | No | Required for media_placeholder: absolute workspace-contained PNG, JPEG, MOV, or MP4 placed as the swappable Essential Graphics media slot. | |
| approved_workspace_path | Yes | Absolute operator-approved workspace root containing the saved AE project and output directory. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the bar is low; the description still adds real value by stating it does not contact Adobe and does not write files, and that it validates exactly one existing workspace output directory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with what is previewed and immediately followed by the key constraint (no Adobe contact, no writes). No padding or repetition of structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, nested, enum-heavy tool with an output schema, the description covers the core intent and the safety-relevant behavior. It stops short of clarifying the preview-versus-commit boundary relative to create_mogrt_recipe, but the return format is handled by the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across 15 parameters with enums and a nested brand_kit object, so the schema already carries the semantic load. The description only adds the general template-library framing and no per-parameter detail beyond the schema, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Preview), resource (After Effects MOGRT recipe), and scope (bounded, drawn from the supported template library), which distinguishes it from create_mogrt_recipe and verify_mogrt_artifact. It does not name those siblings directly, so the differentiation is inferential rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes the preview context and notes it validates one existing output directory rather than writing files, implying a dry-run check. However it never states when to choose this over sibling preview/create/verify MOGRT tools, leaving usage to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_motion_graphics_demoPreview Motion Graphics DemoARead-onlyIdempotent
Preview a contained motion-graphics demo assembly from existing project items. It never creates demo assets, imports files, creates a sequence, or changes Premiere; apply requires an exact confirmation token.
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | Yes | Exact ID of an existing empty destination sequence. It must be active at apply time. | |
| asset_item_ids | Yes | Exact existing project-item node IDs in playback order; external media paths are deliberately not imported by this workflow. | |
| transition_name | No | Transition name; defaults to Cross Dissolve. Use none to disable transitions. | |
| audio_track_index | No | Empty destination audio track index, default 0. | |
| video_track_index | No | Empty destination video track index, default 0. | |
| clip_duration_seconds | No | Planned spacing between asset starts; defaults to 5 seconds for a motion demo and 4 seconds for spots. | |
| transition_duration_seconds | No | Transition duration, default 0.75 seconds for demos and 0.5 seconds for spots. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and closed-world scope. The description adds value beyond them by enumerating what is NOT done (no asset creation, no import, no sequence creation, no Premiere mutation) and by noting the separate confirmation-token requirement at apply time.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. The purpose comes first, the negative scope and the apply-gate warning follow, in that priority order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 well-documented params, an output schema and rich annotations, the description needs only to frame intent and constraints, which it does. A little more on the preview→apply handoff would make it fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with per-parameter descriptions covering the destination sequence, playback-order item IDs, transition defaults, track indices and durations. The description adds no parameter detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: previewing a contained motion-graphics demo assembly built from existing project items. It also clarifies scope by negation ('never creates demo assets, imports files, creates a sequence'), which separates it from build/apply siblings. It stops short of naming the specific apply counterpart it precedes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing clause 'apply requires an exact confirmation token' implies this is the dry-run step of a preview→apply workflow, letting an agent infer when to use it. However, no sibling is named and there is no explicit 'use before X / not for Y' routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_product_spotPreview Product SpotARead-onlyIdempotent
Preview a product-spot assembly from existing project items. The eventual apply is limited to explicit empty tracks, revalidates item IDs, and reports host readback without claiming visual delivery verification.
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | Yes | Exact ID of an existing empty destination sequence. It must be active at apply time. | |
| motion_style | No | Scale-motion style for product and brand spots; defaults to alternate. | |
| asset_item_ids | Yes | Exact existing project-item node IDs in playback order; external media paths are deliberately not imported by this workflow. | |
| transition_name | No | Transition name; defaults to Cross Dissolve. Use none to disable transitions. | |
| audio_track_index | No | Empty destination audio track index, default 0. | |
| video_track_index | No | Empty destination video track index, default 0. | |
| clip_duration_seconds | No | Planned spacing between asset starts; defaults to 5 seconds for a motion demo and 4 seconds for spots. | |
| transition_duration_seconds | No | Transition duration, default 0.75 seconds for demos and 0.5 seconds for spots. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: the eventual apply only touches explicit empty tracks, revalidates item IDs, and that this preview reports host readback without asserting visual delivery verification — a meaningful honesty caveat about what the preview does and does not prove.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the core purpose front-loaded and no filler. The second sentence packs several distinct caveats efficiently, though it mixes apply-stage behavior into a preview tool, slightly diluting focus.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a 100% covered schema, full annotations, and an output schema that removes any need to describe return values, the description only needs to supply the preview/apply relationship and its verification caveats — both of which it delivers. Only the sibling differentiation against preview_brand_spot is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every parameter (including the enum motion_style and defaulted track indices) is documented in the schema itself. The description's phrase 'from existing project items' loosely reinforces the asset_item_ids semantics but adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Preview') and resource ('a product-spot assembly from existing project items'), so the agent knows this is a read-only preview of a spot build. It does not explicitly differentiate itself from the near-identical sibling preview_brand_spot or from preview_motion_graphics_demo, which is the only real gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
By referencing 'the eventual apply' the description implies this is the preview step preceding an apply stage, which gives implicit usage context. However, it never names the apply sibling (e.g. apply_spot_workflow_plan) or states when to prefer this over preview_brand_spot, so the routing guidance 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.
preview_project_intakePreview Project IntakeARead-onlyIdempotent
Inspect a bounded Premiere project against an explicit facility intake template and return a path-redacted report plus a non-mutating organization proposal. It never changes Premiere or persists the template.
| Name | Required | Description | Default |
|---|---|---|---|
| template | Yes | Versioned facility policy. Unknown fields and unsafe matching expressions are rejected by the intake engine. | |
| max_items | No | Maximum project items to inspect; defaults to 2000. Truncation returns an incomplete report. | |
| include_paths | No | Include observed media paths in findings. Defaults to false; hashes are returned instead. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds genuinely new behavioral context beyond those flags: output is path-redacted (hashes instead of paths by default), the proposal is non-mutating, and the template is never persisted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the inspection action and its outputs front-loaded and the non-mutation guarantee placed last. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return structure need not be explained, and annotations cover the safety profile. For this bounded, read-only inspection tool the description supplies the remaining essentials (redaction, non-persistence, bounded scope).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents template, max_items (including truncation behavior) and include_paths (default false, hashes returned). The description adds no parameter-level detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource ('Inspect a bounded Premiere project against an explicit facility intake template') and states the two outputs (a path-redacted report and a non-mutating organization proposal). This is clearly distinguishable from validation/preview siblings such as validate_project_for_export or preview_edit_plan, though it does not name any alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: calling this 'non-mutating' and saying it 'never changes Premiere' suggests it is the read-only preview step before an intake/organization action, but no when-to-use condition, prerequisite, or sibling alternative is stated. Adequate but with a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_watched_media_importPreview Watched Media ImportARead-onlyIdempotent
Compare the active watch baseline with a fresh contained scan and return a path-redacted import proposal. It never imports or changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| watch_id | Yes | ID returned when the session watch started. | |
| include_paths | No | Explicitly disclose contained paths for selected imports; defaults to false. | |
| known_media_path_hashes | No | Optional hashes already represented in the Premiere project. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the bar is low; the description still adds meaningful context by disclosing the baseline-vs-fresh-scan comparison and the path-redaction behavior, which is not captured 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loading the comparison action and immediately following with the safety guarantee. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape need not be described. Purpose, safety posture, and redaction are all covered; only the relationship to the subsequent actual-import step is left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents watch_id, include_paths, and known_media_path_hashes. The description's mention of a 'path-redacted' proposal adds light motivation for include_paths but no new syntax or semantics beyond the schema, so it sits at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Compare the active watch baseline with a fresh contained scan') plus an explicit statement of the non-effect ('It never imports or changes Premiere'), which cleanly separates it from the sibling manage_media_watch and any real import tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its place in the workflow (preview before committing) and states what it will not do, so an agent knows when to reach for it. It does not, however, explicitly name the follow-up import/apply tool an agent should call afterwards.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_workflow_recipePreview Workflow RecipeARead-onlyIdempotent
Validate and expand one declarative workflow recipe into guarded MCP routes. It does not invoke any route or change Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| recipe_id | Yes | Exact built-in or workspace recipe ID. | |
| recipe_file | No | Optional contained JSON file with closed-schema custom recipes. | |
| provided_inputs | No | Names of inputs already available to the caller; values are intentionally not persisted in the recipe preview. | |
| approved_workspace_path | No | Absolute approved workspace containing recipe_file; required with recipe_file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, closed-world, and non-destructive behavior. The description usefully reinforces this by stating it does not invoke any route or change Premiere, though it does not add deeper operational details like auth or persistence behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and immediately followed by the key non-effect guarantee. No wasted wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich output schema, full input schema coverage, and strong annotations, the description is complete enough for an agent to invoke it correctly. It covers purpose and side-effect boundaries; return values are covered by the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and all four parameters are documented in the schema. The description adds no parameter-level semantics, so the baseline 3 applies when schema carries the burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: validate and expand one declarative workflow recipe into guarded MCP routes. It also clarifies what it does not do, which distinguishes it from apply/invoke-style siblings, even without naming a specific alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'preview' and the no-side-effect note, but the description does not explicitly say when to use this versus search_workflow_recipes or apply_edit_plan. It provides minimum viable context, not routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_mogrt_to_libraryPublish Mogrt To LibraryA
Publish the exact previewed MOGRT as an immutable local-library version. Requires explicit confirmation and will fail instead of replacing an existing version.
| Name | Required | Description | Default |
|---|---|---|---|
| preview_token | Yes | One-time token returned by preview_mogrt_library_publish. | |
| confirm_publish | Yes | Must be true to copy the immutable library version. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, and the description adds valuable behavioral detail beyond them: it requires explicit confirmation and will fail rather than replace an existing version. This clarifies the non-destructive but irreversible publish behavior, though it does not cover permissions or response details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and immediately followed by the most important behavioral constraints. Every clause earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation with full schema coverage, an output schema, and clear annotations, the description provides everything an agent needs: the source token requirement, explicit confirmation requirement, immutability, and failure mode. No critical invocation or safety context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented in the schema. The description reinforces that the preview_token corresponds to the exact previewed MOGRT and that confirmation is mandatory, but it does not add syntax or format detail beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (publish) and resource (exact previewed MOGRT as an immutable local-library version), making the operation and scope immediately clear. It distinguishes this from sibling tools like preview_mogrt_library_publish and import_mogrt_from_library by emphasizing the immutable local-library publish action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear prerequisites: the MOGRT must be exactly previewed, and explicit confirmation is required. It also states an important usage boundary — the tool will fail instead of replacing an existing version — though it does not explicitly name alternative tools for that case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rank_short_form_candidatesRank Short Form CandidatesARead-onlyIdempotent
Rank long-video transcript windows as short-form clip candidates using explainable local heuristics (hook, completeness, density, supplied evidence peaks, keywords, duration fit, speaker consistency) with overlap suppression. Local-only plan; not a virality prediction and never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| keywords | No | Topic keywords or short phrases whose presence is rewarded. | |
| frame_rate | No | Frame rate used to snap start/end frames; defaults to 30. | |
| hook_words | No | Extra single-word hook tokens added to the built-in lexicon. | |
| max_seconds | No | Longest allowed candidate duration in seconds; defaults to 60. | |
| min_seconds | No | Shortest allowed candidate duration in seconds; defaults to 15. | |
| motion_peaks | No | Optional source-time motion peaks from local analysis (for example detect_motion_peaks). | |
| word_timeline | Yes | Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them. | |
| marker_seconds | No | Optional source-time editor-flagged moments (markers). | |
| max_candidates | No | Maximum candidates returned after overlap suppression; defaults to 8. | |
| laughter_seconds | No | Optional source-time laughter moments supplied by the caller. | |
| audio_energy_peaks | No | Optional source-time audio energy peaks from local analysis (for example detect_audio_transients). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false. The description adds valuable context beyond that: it explains the ranking criteria, states it is a local-only plan, explicitly says it is not a virality prediction, and confirms it never changes Premiere. It does not cover error behavior or rate limits, but the safety profile is well reinforced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences that front-load the core action and follow with scope clarifications. The parenthetical heuristic list is dense but useful, and the second sentence removes ambiguity without redundancy. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter tool with nested objects and an output schema, the description is fairly complete: it states the operation, local-only nature, non-destructive behavior, and that it is not a virality prediction. Return values are left to the output schema, which is acceptable. It does not mention key prerequisites like attaching the transcript revision, but the schema covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 11 parameters with types, ranges, and defaults. The description mentions concepts like evidence peaks, keywords, duration fit, and speaker consistency but adds no syntax, format, or usage directives beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Rank') and resource ('long-video transcript windows as short-form clip candidates'), and clarifies it uses local heuristics. It does not distinguish this tool from sibling planning tools like analyze_dialogue_edit_candidates or plan_beat_montage, so no sibling differentiation is provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context ('Local-only plan; not a virality prediction and never changes Premiere'), which implies when to use it but offers no explicit alternatives or when-not-to-use conditions. Usage is left to inference rather than stated against sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
razor_all_tracksRazor All TracksA
Razor (split) all clips at the playhead position across all tracks, or at a specific time.
| Name | Required | Description | Default |
|---|---|---|---|
| track_type | No | Which track types to razor (default: both) | |
| time_seconds | No | Time to razor at in seconds (uses playhead position if omitted) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds the default-targeting behavior (playhead if no time given, all tracks by default), which is useful, but says nothing about undo, resulting edit points, or any permission/state requirements for a mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the core operation front-loaded and the optional time argument trailing as a clause. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with a full schema and an output schema, the description covers what the tool does and how targeting defaults work. The main omission is guidance on how this interacts with the many adjacent edit operations (e.g., split_clip), which is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (track_type, time_seconds) are already fully documented, including the playhead default and enum values. The description restates the same default semantics without adding format or edge-case detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Razor (split)'), the resource ('all clips'), and the scope ('across all tracks'), making the operation clear. It implicitly distinguishes itself from the single-clip sibling split_clip via the 'all tracks' scope, but never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives one concrete usage condition ('at the playhead position ... or at a specific time'), which tells the agent the two ways to invoke it, but provides no when-not guidance, prerequisites, or explicit routing away from similar tools such as split_clip or ripple_delete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_sequence_captionsRead Sequence CaptionsARead-onlyIdempotent
Diagnose whether the active Premiere scripting host can enumerate caption tracks. It never treats an empty result as proof that the sequence has no captions, because most CEP builds expose caption creation but not caption reads.
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | No | Sequence ID or name. Defaults to the active sequence. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior. The description adds a non-obvious behavioral caveat: empty results are not proof that the sequence has no captions because most CEP builds expose caption creation but not caption reads. This is valuable diagnostic 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero filler. The first sentence front-loads the diagnostic purpose, and the second sentence adds a critical caveat about interpreting empty results, which earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema available, return values need not be explained, and annotations cover safety traits. The description sufficiently covers the diagnostic intent and the key behavioral caveat, though it stops short of explicit usage routing among sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single sequence_id parameter is fully documented in the schema as an ID or name defaulting to the active sequence. The description adds no parameter semantics beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific diagnostic verb and target: checking whether the active Premiere scripting host can enumerate caption tracks. It implicitly distinguishes from caption creation by noting most CEP builds expose creation but not reads. However, the stated purpose is more diagnostic than the tool name 'read_sequence_captions' might imply.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use or when-not-to-use guidance and names no alternatives among the many caption-related siblings. It implies the tool is for diagnosing caption enumeration capability, but does not tell the agent when to choose it over create_caption_track or other caption tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_video_scopesRead Video ScopesB
Read waveform percentiles, RGB parade percentiles, saturation, and near-black/near-white RGB occupancy from one bounded decoded local-media frame. Read-only; this is a sampled analytical proxy, not Premiere's rendered scopes.
| Name | Required | Description | Default |
|---|---|---|---|
| media_path | Yes | Existing local video file | |
| time_seconds | No | Source-relative frame time from 0 through 86400 seconds (default: 0) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly asserts 'Read-only', but the annotations set readOnlyHint=false, a direct conflict between the two channels, so this is scored 1 per the contradiction rule. Non-contradictory context (bounded single frame, sampled proxy vs rendered scopes, no mutating side effects implied) is genuinely useful but is undercut by the mismatch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences with zero filler; the returned metrics lead and the caveat about not being rendered scopes follows. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-value shape need not be described, and the description covers the analytical scope and its fidelity caveat well. The missing piece is any usage boundary or note that the sampled proxy may diverge from Premiere's rendered scopes in specific cases, plus the unresolved read-only conflict.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with media_path ('Existing local video file') and time_seconds ('Source-relative frame time from 0 through 86400 seconds') fully documented in the schema. The description adds only the notion of sampling a single bounded frame, which implies single-frame semantics but gives no additional formatting or range detail. Baseline 3 applies when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and a precise set of resources it returns: waveform percentiles, RGB parade percentiles, saturation, and near-black/near-white occupancy from one decoded frame. It also explicitly distinguishes itself from 'Premiere's rendered scopes,' so an agent knows this is a sampled proxy rather than a native scopes read, though no sibling tool is named by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the phrase 'one bounded decoded local-media frame' plus 'sampled analytical proxy' tells the agent this is for quick per-frame analysis, not frame-accurate scope rendering. There is no explicit when-to-use/when-not, no prerequisites, and no alternative tool named (e.g., analyze_video_qc, get_graphics_white_luminance).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
redoRedoA
EXPERIMENTAL (undocumented QE DOM: qe.project.redo / undoStackIndex). Redo the most recently undone Premiere project action(s) through QE, checked step by step against Premiere's undo-stack position (stackVerified; the timeline itself is not read back). To restore a tool call undone with undo, pass the same count. Observed marker boundaries refuse before any step; acknowledge_untracked_markers:true permits prior non-marker actions, without proving marker reversal.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of redo steps (default: 1) | |
| expected_undo_stack_index | Yes | Required safety guard: the undoStackIndexAfter reported by the undo you want to redo. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. The guard compares the position only; matching position cannot prove which action is on top. | |
| acknowledge_untracked_markers | No | Explicitly acknowledge that QE steps reverse or restore prior non-marker actions, because marker reversal is not verified. Default false; marker boundaries refuse the entire request before any step. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations by disclosing EXPERIMENTAL status, undocumented QE DOM reliance, step-by-step undo-stack verification, and the crucial limitation that the timeline itself is not read back and a matching stack position 'cannot prove which action is on top.' This is rich behavioral context an agent cannot get from 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the EXPERIMENTAL caveat and packs a lot of precise meaning into a small space. The heavy parentheticals and semicolon clauses make it dense, but every sentence carries operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-risk experimental mutation tool, the description covers the QE dependency, the verification model, the guard semantics, and the marker-reversal caveat, and an output schema exists so return values need not be explained. Nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds semantic meaning: 'count' should match the count used in the paired undo call, and 'expected_undo_stack_index' is a safety guard that refuses without change. This adds context beyond the field-level schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Redo') and resource (most recently undone Premiere project action(s)), and explicitly grounds it in the QE DOM (qe.project.redo / undoStackIndex). It visibly distinguishes itself from the sibling 'undo' by describing the restore-the-undone-action relationship.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear usage condition and names the alternative: 'To restore a tool call undone with undo, pass the same count.' It also states when the operation refuses (marker boundaries) and how acknowledge_untracked_markers changes behavior, though it does not spell out explicit when-not scenarios beyond those refusals.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refresh_mediaRefresh MediaA
Refresh a project item to pick up changes to the source file. The interpreted frame rate is read before and after; if the refresh leaves an implausible rate (seen on stills, e.g. 29.97 becoming 2.75e-8), the previous rate is restored and read back. Reports frameRateBefore, frameRateAfter and repaired.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the item to refresh |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), but the description goes well beyond them: it explains that the interpreted frame rate is sampled before and after, that an implausible result (with a concrete example, 29.97 -> 2.75e-8) triggers restoration of the previous rate, and what is reported back. This is exactly the kind of side-effect disclosure the annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the primary action, then the behavioral detail, then the return fields. Three sentences with no filler, though the technical frame-rate explanation is dense and only relevant to a subset of calls.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation whose annotations cover safety and whose output schema covers the return shape, the description supplies everything else an agent needs: the trigger condition, the repair logic, and the observed edge case. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema description coverage, the schema already documents item_id fully. The description adds no syntax, format, or constraint detail about the identifier, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Refresh a project item') and immediately scopes it ('to pick up changes to the source file'), so the agent knows exactly what the tool does. It does not, however, name or distinguish itself from closely related siblings like relink_media or check_offline_media, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the phrase 'pick up changes to the source file', which tells the agent the situation that warrants a refresh. There is no explicit when-not guidance and no named alternative (e.g. relink_media for moving media), so it is adequate but incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
relink_mediaRelink MediaA
Legacy CEP relink can block Premiere indefinitely, even for an existing file on Premiere 26.5.2. Prefer relink_offline_media_uxp, which checks capability and reads the result back. This CEP route refuses by default; allow_unsafe_cep_relink must be explicitly true to attempt it, and its result is never reported as verified.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the item to relink | |
| new_path | Yes | New file path for the media | |
| allow_unsafe_cep_relink | No | Explicitly permit the legacy CEP changeMediaPath call. It can wedge Premiere even when the target file exists; prefer relink_offline_media_uxp. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing the operational hazard (can block/wedge Premiere indefinitely, even for an existing file on 26.5.2), the fail-safe default (refuses unless opted in) and the trust limitation (result is never reported as verified). Annotations only say readOnly=false, destructive=false, idempotent=false; the description supplies the real risk profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences ordered as hazard, recommended alternative, then default behavior and caveat; no filler. Slightly dense in the opening clause but every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary. The description supplies the safety posture, default refusal, override flag and the verification gap, which is everything an agent needs to call this hazardous legacy route correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so item_id, new_path and allow_unsafe_cep_relink are already documented in the schema. The description reinforces the semantics of the safety flag (must be explicitly true, default refusal), but adds no syntax or format detail beyond what the schema already carries.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the operation as the legacy CEP relink route and immediately contrasts it with the preferred relink_offline_media_uxp, so an agent can separate the two without opening a schema. The core verb/resource is implicit ('Legacy CEP relink...') rather than stated in a leading 'Relinks item_id to new_path' clause, which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-not guidance: prefer relink_offline_media_uxp because it checks capability and reads the result back. It further states this route refuses by default and only proceeds when allow_unsafe_cep_relink is explicitly true, giving a clear conditional path for both the normal and override cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_all_effectsRemove All EffectsADestructive
Remove every effect from a clip, keeping its built-in components (Opacity, Motion, Volume, Channel Volume, Panner), and verify the result. EXPERIMENTAL: when Premiere has no Component.remove() (25.2), it removes through the undocumented QE DOM's targeted qeClip.getComponentAt(i).remove(). Every matching component's removal path is checked before any is removed; it returns a capability error, with nothing changed, when neither path is available.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=false, but the description goes far beyond them: it discloses exactly which components survive, that removal paths are validated before any mutation occurs (atomicity), and that a capability error leaves state unchanged when neither removal path exists. Those are precisely the behavioral traits an agent cannot infer from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and scope, followed by failure semantics. The parenthetical QE DOM implementation detail (qeClip.getComponentAt(i).remove()) is borderline noise, but it directly explains the capability-error behavior, so it mostly earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers mutation semantics, preservation rules, and failure mode for this destructive operation. The one gap is routing guidance versus sibling removal tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (node_id) and schema description coverage is 100%, so the schema already carries the semantics. The description adds no node_id-specific detail, but the baseline for a fully documented single-parameter schema is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb+resource+scope: 'Remove every effect from a clip, keeping its built-in components (Opacity, Motion, Volume, Channel Volume, Panner)'. The scope clause ('every' vs. a single effect) lets an agent distinguish it from remove_effect and remove_effect_by_name in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It describes the internal fallback path (Component.remove() vs. QE DOM) and the capability-error condition, which is useful context for when the call will succeed. But it never states when to prefer this tool over remove_effect, remove_effect_by_name, or copy_effects_between_clips, which are the obvious alternatives in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_effectRemove EffectADestructive
Remove one effect from a clip by its index or name (the last instance when names repeat) and verify the clip's components afterwards. Built-in components (Opacity, Motion, Volume, Channel Volume, Panner) cannot be removed. EXPERIMENTAL: when Premiere has no Component.remove() (25.2), it removes through the undocumented QE DOM's targeted qeClip.getComponentAt(i).remove(). Every matching component's removal path is checked before any is removed; it returns a capability error, with nothing changed, when neither path is available.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| effect_name | No | Name of the effect to remove (alternative to effect_index) | |
| effect_index | No | Index of the effect to remove (0-based). Use get_clip_properties to see effects list. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the destructiveHint/idempotentHint annotations: it discloses the experimental QE DOM fallback path used on Premiere 25.2, the pre-flight check of every matching component's removal path, and the all-or-nothing failure mode (capability error with nothing changed). This is exactly the transactional context an agent needs before mutating a timeline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then the constraints, then the fallback mechanics. Three sentences are dense but each earns its place; the QE DOM sentence is long but carries the rollback guarantee.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with annotations and an output schema already present, the description covers everything the agent must know: addressing, built-in exclusions, post-verification, and the no-op-on-failure contract. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds genuine semantics by clarifying that a name match resolves to the last instance when names repeat, which the schema does not state. It adds nothing further for node_id or effect_index.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (remove) plus resource (one effect from a clip) and the two addressing modes (index or name). It also disambiguates from siblings like remove_all_effects and remove_effect_by_name by scoping itself to a single effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear exclusion rule (built-in components such as Opacity, Motion, Volume cannot be removed) and notes that removal is verified afterwards, which tells the agent when the call will fail. It stops short of naming the alternative sibling tools for bulk or name-based removal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_effect_by_nameRemove Effect By NameADestructive
Remove all instances of a specific effect from a clip by display name and verify the clip's components afterwards. EXPERIMENTAL: when Premiere has no Component.remove() (25.2), it removes through the undocumented QE DOM's targeted qeClip.getComponentAt(i).remove(). Every matching component's removal path is checked before any is removed; it returns a capability error, with nothing changed, when neither path is available.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| effect_name | Yes | Display name of the effect to remove |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only say destructive/not idempotent; the description adds substantial behavior: every matching component's removal path is validated before any removal occurs, the operation is effectively all-or-nothing, and it returns a capability error with nothing changed when neither path exists. This is exactly the kind of beyond-annotation context that matters for an experimental mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action in the first clause; the parenthetical version number (25.2) and QE DOM internals are dense but do carry real routing/behavioral weight. Slightly verbose, but no sentence is pure filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering the destructive profile, the description is nearly complete for correct invocation. The one open gap is what happens when no component matches the name (silent no-op vs error), which an agent would want to know.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters fully documented, so the schema already carries the load. The description reinforces that effect_name is a display name but adds no format, matching, or case-sensitivity detail beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (remove), resource (all instances of a specific effect), and scope qualifier (from a clip, by display name), which separates it from the broader remove_effect/remove_all_effects siblings by its name-targeted, all-instances semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the internal condition that switches between the Component.remove() path and the QE DOM fallback, but it gives no explicit when-to-use guidance versus remove_effect, remove_all_effects, or copy_effects_between_clips. Usage context is implied by the experimental note rather than stated as routing advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_from_timelineRemove From TimelineADestructive
Remove a clip from the timeline. By default its linked audio/video partners go with it, as with Premiere's Clear on a linked clip. With ripple: true the gap is closed through the same explicit, verified ripple delete as ripple_delete (Premiere's own ripple flag does nothing on current builds), shifting sync-locked tracks so audio stays in sync.
| Name | Required | Description | Default |
|---|---|---|---|
| ripple | No | Whether to ripple delete (close the gap). Default: false | |
| node_id | Yes | Node ID of the clip to remove | |
| include_linked | No | Also remove the clip's linked audio/video partners (default: true). A ripple removal always includes them, since closing the gap on one side only would desync the timeline. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, but the description adds real behavioral detail beyond them: linked audio/video partners are removed by default, ripple shifts sync-locked tracks to preserve sync, and the crucial caveat that Premiere's native ripple flag is non-functional on current builds is disclosed. This is exactly the extra context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with the core action front-loaded and the ripple caveat following. No waste, though the parenthetical about Premiere's builds is slightly verbose and could be compressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering the destructive profile and an output schema covering return values, the description need only carry behavior, which it does well. One minor gap is that it doesn't explicitly contrast with remove_selected_clips for the single-vs-multi selection case, but that is a small omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the 3-param baseline is 3, but the description goes further by explaining the interaction between ripple and include_linked (ripple always includes partners or the timeline would desync) and by characterizing what ripple: true actually does. That is meaningful semantics beyond the schema's terse field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Remove a clip from the timeline') and immediately differentiates itself from the sibling ripple_delete and by extension from bulk tools like remove_selected_clips by describing the linked-partner default. An agent can identify both the operation and its scope 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the two modes clearly: default removes linked partners like Premiere's Clear, and ripple: true closes the gap via the same verified path as ripple_delete. It gives the condition that selects each behavior, though it does not explicitly say when to prefer ripple_delete itself over this tool for a standalone ripple.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_keyframeRemove KeyframeADestructive
Remove the keyframe at a time from an effect property and read the remaining keys back. Refuses, changing nothing, when no key is within 0.01s of that time.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| effect_name | Yes | Display name of the effect | |
| time_seconds | Yes | Seconds from the clip's start on the timeline (0 is the clip's first frame) of the keyframe to remove | |
| property_name | Yes | Display name of the property |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag this as a destructive, non-idempotent mutation, so the bar is lower. The description adds genuinely useful behavior beyond them: the read-back of remaining keys and the precise refusal rule ('changing nothing' when no key is within 0.01s), which tells the agent the call can silently no-op.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loading the action and then the failure/refusal condition. Every clause carries information; nothing is padded or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and it still notes the read-back behavior. It covers the mutation, its side effect, and the tolerance edge case; only the relationship to remove_keyframe_range is left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents node_id, effect_name, property_name, and time_seconds. The description's phrase 'at a time from an effect property' loosely echoes those params but adds no format or semantics beyond what the schema already supplies; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (remove), resource (keyframe), and locus (an effect property at a given time), which is concrete enough for an agent to understand the operation. It does not, however, distinguish itself from the sibling remove_keyframe_range, which an agent must infer from the singular 'the keyframe at a time'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the operation itself, and the no-op tolerance is stated, but no alternatives are named. There is no guidance on choosing this tool over remove_keyframe_range for a span of keys, which is the most likely sibling confusion given the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_keyframe_rangeRemove Keyframe RangeADestructive
Remove every keyframe in a time range (inclusive) from an effect property and read the remaining keys back. Refuses, changing nothing, when the range holds no key.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| effect_name | Yes | Display name of the effect | |
| end_seconds | Yes | End of the range, in seconds from the clip's start; must not be before start_seconds | |
| property_name | Yes | Display name of the property | |
| start_seconds | Yes | Start of the range: seconds from the clip's start on the timeline (0 is the clip's first frame) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=false, so the mutation risk is covered. The description adds genuinely useful behavior beyond that: the range is inclusive, the call reads remaining keys back, and an empty range is a no-op refusal that changes nothing — an important atomicity guarantee for an agent reasoning about partial failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with zero filler: the action and scope come first, the failure/no-op condition second. Nothing can be cut without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering the safety profile and an output schema covering the returned keys, the description only needs to explain the mutation semantics — which it does, including the empty-range case. It could mention that other keyframes outside the range are untouched, but that is a minor omission for a 5-parameter, fully-documented tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the schema. The description contributes only the word 'inclusive' for the boundary semantics, which is a real but small addition over start_seconds/end_seconds definitions. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (remove), a precisely scoped resource (every keyframe in an inclusive time range on an effect property), and distinguishes itself from the single-key siblings remove_keyframe and add_keyframe. No ambiguity about what gets affected.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The inclusive range and the empty-range refusal imply when the tool is appropriate, but it never names remove_keyframe (single key) or get_keyframes as the alternatives, nor states the conditions that select this bulk variant over them. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_selected_clipsRemove Selected ClipsBDestructive
Remove all currently selected clips from the timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| ripple | No | If true, close the gap after removing (ripple delete). Default: false |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false. The description adds that removal applies to all currently selected clips on the timeline, which clarifies the scope of destruction, but it does not discuss undo, permanence, or linked-clip behavior beyond what annotations and schema provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It states the action and scope immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with full schema coverage, rich annotations, and an output schema, the description is nearly complete. It covers the action and scope, though it leaves the selection precondition and sibling-route distinctions implicit rather than stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the single ripple parameter is fully documented in the schema. The description adds no parameter-level meaning, so the baseline of 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Remove), resource (clips), and scope (currently selected, from the timeline). It is clear what the tool does, but it does not differentiate itself from sibling tools like ripple_delete, lift_selection, or extract_selection that also operate on selections.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, no when-not-to-use guidance, and no alternatives. The only implied context is that clips must be selected, which is not a substitute for real usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_binRename BinB
Rename a bin (folder) in the project panel
| Name | Required | Description | Default |
|---|---|---|---|
| bin_id | Yes | Name or node ID of the bin to rename | |
| new_name | Yes | New name for the bin |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds only that the change happens in the project panel; it says nothing about permissions, name-collision behavior, or what happens to existing bin references. Some added context, but thin against annotated fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the object clarified early. No wasted words, though it is arguably too terse to be maximally useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the tool is a simple 2-parameter mutation. Still, the description leaves the agent without sibling routing or mutation side-effect context, which is a noticeable gap for a write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both bin_id and new_name are already documented in the schema, and the description adds no syntax, format, or uniqueness constraints. Baseline 3 is appropriate when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (rename) and resource (bin), and helpfully glosses 'bin' as '(folder) in the project panel' so the agent knows the domain object. It does not, however, distinguish itself from siblings like rename_project_item, rename_clip, rename_track, or batch_rename_clips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no indication of when to use this instead of rename_project_item or the other rename tools, no prerequisites, and no note on whether the bin must be selected or open. Usage must be fully inferred from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_clipRename ClipA
Rename a clip on the timeline and verify the new name.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| new_name | Yes | New name for the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare that this is a non-readonly, non-destructive, non-idempotent operation. The description adds a useful behavioral detail beyond the annotations: it verifies the new name after renaming, giving the agent a post-condition to rely on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It conveys the action, target, and verification behavior efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple two-parameter schema, full schema coverage, existing output schema, and annotations covering safety and idempotency, the description provides what an agent needs for correct selection and invocation. Return values are covered by the output schema and need not be repeated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for both parameters, so the baseline is 3. The description does not add any syntax, format, or constraint details beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Rename a clip on the timeline.' It distinguishes the target from siblings like rename_bin, rename_track, and rename_project_item by explicitly scoping the operation to a timeline clip.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by saying 'a clip on the timeline,' which suggests a single-clip operation rather than batch processing. However, it does not explicitly compare against alternatives such as batch_rename_clips or state when this tool is preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_project_itemRename Project ItemC
Rename a project item in the project panel.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| new_name | Yes | New name for the item |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare that this is a non-read-only, non-destructive, non-idempotent operation. The description adds no behavioral context beyond the bare action, such as whether renaming can fail on name conflicts, whether it is undoable, or what side effects it has.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is appropriately concise, though brevity here contributes to the missing routing and behavioral context noted elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple rename operation with full schema coverage and an output schema, the description covers the core purpose. It is incomplete for an environment with many similar rename tools because it provides no alternative disambiguation or usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already documents item_id and new_name clearly. The description adds no parameter-level detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Rename) and resource (project item in the project panel), so the core action is clear. However, it does not distinguish this tool from close siblings like rename_bin, rename_clip, or rename_track, so an agent must infer the correct target type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no alternatives. With numerous rename-related siblings, it provides no routing signal beyond the tool name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_trackRename TrackB
Rename a video or audio track.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | New track name | |
| track_type | Yes | Track type | |
| track_index | Yes | Track index (0-based) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the safety profile is covered. The description adds no behavioral context beyond the action itself, such as whether renaming affects linked items or what happens on invalid track indices.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with no wasted words. The verb and resource are immediately clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, the schema is fully documented, annotations cover the safety profile, and an output schema exists. The description is therefore largely complete, though it still lacks any routing guidance relative to sibling rename tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema documents all three parameters including the video/audio enum and 0-based index. The description adds no parameter syntax or meaning beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (Rename) and resource (track) and scopes it to video or audio tracks. It does not explicitly distinguish this tool from siblings like rename_clip, rename_bin, or rename_project_item, but the track focus is reasonably clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as rename_clip or batch_rename_clips. The description also omits any prerequisites, such as needing a valid track index and track type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replace_clipReplace ClipA
Replace one timeline clip with a different project item on the same track, keeping the exact timeline start and end. The replacement plays from its own In mark for the original clip's duration; neighbouring clips do not ripple, and a linked partner clip on another track is left in place. Refuses without changing anything when the track is locked. Reads the track back: verified when the new clip covers the same span, committed_unverified when the span holds but the source In point cannot be confirmed, otherwise failure with Undo guidance.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip to replace | |
| new_item_id | Yes | Node ID or name of the new project item to replace with |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only declaring mutation/safety flags, the description carries the behavioral burden well: it explains the replacement plays from its own In mark for the original duration, that neighbouring clips do not ripple, that a linked partner on another track is left in place, and that a locked track causes a no-op refusal. It also discloses the three readback outcomes (verified, committed_unverified, failure with Undo guidance), which is exactly the kind of post-condition detail annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action is front-loaded in sentence one, and the following sentences each add distinct information (ripple/link behaviour, locked-track refusal, verification states). The third sentence is dense with implementation vocabulary, but nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema plus annotations, and the description still covers the mutation semantics, side-effect boundaries, failure mode, and verification outcomes an agent needs to call and interpret it correctly. Nothing material is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both parameters, so node_id and new_item_id are already documented in the schema. The description adds useful semantics about what the new item's In point means during playback, but it does not clarify formats or how 'name' lookup works for new_item_id. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a precise verb+resource ('Replace one timeline clip with a different project item on the same track') and immediately scopes it with the constraint that exact timeline start and end are preserved. It is clearly distinguished from generic overwrite/split tools, but it never mentions the sibling 'replace_clip_media', which is the most likely confusion candidate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through stated preconditions — it refuses when the track is locked, and it preserves neighbours and linked partner clips — so the agent can infer when it is appropriate. However, there is no explicit 'use this instead of X' guidance, and the distinction from replace_clip_media 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.
replace_clip_mediaReplace Clip MediaB
Unavailable by design: the legacy ExtendScript overwrite route cannot prove that replacing media preserves the original clip's trim, position, linked audio, or adjacent clips, so this tool performs no mutation.
| Name | Required | Description | Default |
|---|---|---|---|
| new_item_id | Yes | Node ID or name of the new source project item | |
| clip_node_id | Yes | Node ID of the timeline clip to replace media on |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says the tool 'performs no mutation', which contradicts the annotation readOnlyHint=false. The annotation indicates the tool is not read-only, while the description claims it cannot mutate state at all. Although the description adds useful rationale about trim, position, linked audio, and adjacent clips, the contradiction with structured annotations is serious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded with the key status 'Unavailable by design' and follows immediately with the reason. There is no wasted text, and the most important information comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a disabled no-op tool with a simple two-parameter schema and an output schema, the description gives enough context to know not to call it and why. It does not specify what actually happens on invocation (error vs. empty response), which is a minor remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents both clip_node_id and new_item_id. The description adds no parameter-level meaning beyond the schema, which is the baseline when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as the media-replacement route and states that it is unavailable by design, with a specific reason. However, it does not differentiate this tool from siblings such as replace_clip or overwrite_clip, nor does it explicitly restate the intended operation beyond the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Unavailable by design' gives a clear, absolute when-not-to-use signal, which is strong guidance. It stops short of naming an alternative replacement tool or workflow, so it is not fully complete on the alternatives axis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reverse_clipReverse ClipA
Unavailable: Premiere does not expose a supported scripting API for reversing a timeline clip's playback direction.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| reverse | No | True to reverse, false for normal (default: true) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is not read-only, not idempotent, and not destructive. The description adds useful context that the operation is unsupported by Premiere's scripting API, but it does not state what actually happens if the tool is called, such as whether it errors, no-ops, or returns an error payload.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that begins with the most important information: "Unavailable." Every part of the sentence earns its place, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and annotations cover the safety profile, the description need not explain return values. It adequately communicates the tool's unavailability, but it omits what an agent should do instead and what invocation failure behavior to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so node_id and reverse are fully documented in the schema. The description adds no parameter-level meaning beyond that, which makes the baseline score of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific intended action, reversing a timeline clip's playback direction, and immediately qualifies it as unavailable because Premiere lacks a supported scripting API. This is clear and distinguishable from siblings, though it does not point to any alternative tool or workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word "Unavailable" gives the agent a strong signal not to invoke this tool for reversal. However, it does not name an alternative such as speed_change or set_clip_speed_qe, so the agent is left without a routing option when reverse capability is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ripple_deleteRipple DeleteADestructive
Remove a clip and close the gap it leaves, shifting later clips earlier on the clip's own track and on every sync-locked track so audio stays in sync. With the default scope the clip's linked audio/video partners are removed with it and their tracks close up too, even when not sync-locked; with scope 'own_track' the partners stay in place (reported as linkedPartnersKept). Premiere's QE rippleDelete() and the DOM's rippleEdit flag are both non-functional on 26.x, so this is done explicitly and verified. Refuses without changing anything if a clip on a participating track straddles the ripple point or sits inside the range being closed.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Which tracks shift: 'sync_locked' (default) shifts the clip's track plus every sync-locked track, matching Premiere's ripple behaviour; 'own_track' shifts only the clip's own track and WILL desync other tracks. | |
| dry_run | No | Validate and report the shift plan without changing the timeline (default: false) | |
| node_id | Yes | Node ID of the clip to ripple delete | |
| range_content | No | What to do about other clips on participating tracks that sit entirely inside the time range being closed (the usual case in a multicam-style sequence with aligned clips). With scope 'sync_locked' the clip's own linked audio/video partners are always removed with it, as in Premiere; with 'own_track' they are kept. 'refuse' (default) changes nothing and reports them; 'delete' also removes them, i.e. lifts that whole time segment out of every participating track and closes up. 'delete' is destructive across tracks -- the removed clips are listed in the result. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes far beyond annotations: explains the default partner-removal behavior, the own_track exception (reported as linkedPartnersKept), the non-functional Premiere QE/DOM APIs on 26.x and that this is done explicitly and verified, and the refusal condition for straddling/inside-range clips. This is rich behavioral disclosure for a destructive hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and then layers scope, partner behavior, and refusal conditions in dense but purposeful sentences. Most sentences earn their place, though the version-specific API note and the range_content detail push toward the verbose side.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers action, scope semantics, partner handling, refusal preconditions, and known API limitations. Output schema exists, so return-value explanation is not needed. Complete for a destructive timeline mutation with an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents parameters. The description adds meaningful context on default scope behavior, linked-partner handling, and the refusal precondition that ties parameters to outcomes. Slightly redundant with the schema but adds value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (remove a clip and close the gap) with the exact scope of behavior (later clips shift earlier on own track and sync-locked tracks). Distinguishes itself from siblings like remove_selected_clips, lift_selection, and extract_selection by naming the ripple semantics explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly explains the sync_locked vs own_track scope choice and the partner-handling behavior, which implicitly tells the agent which mode to pick. Does not explicitly name alternative tools (lift_selection, extract_selection, remove_selected_clips) as alternatives, which slightly limits routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
roll_editRoll EditA
Perform a verified roll edit at the outgoing cut of a clip using the public timeline DOM, moving both visible edges and their source in/out points and verifying all four. Linked audio/video partners get the same edit by default (include_linked); every clip is checked before any is changed. Requires readable finite media and ffprobe duration evidence for every edited source; refuses unknown duration, stills, and nonunit/reversed speed before mutation.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| include_linked | No | Also apply the edit to the clip's linked audio/video partners so picture and sound stay in sync (default: true). | |
| offset_seconds | Yes | Offset in seconds (positive = roll right, negative = roll left) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only supply the generic hint set; the description goes well beyond them with atomicity semantics ('every clip is checked before any is changed'), the verification contract ('verifying all four'), and the media preconditions and refusal cases. 'Before mutation' is consistent with readOnlyHint=false and destructiveHint=false, and the offset application is consistent with idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the operation and then the linked-partner and precondition clauses; each sentence carries distinct information. It is jargon-dense (public timeline DOM, nonunit speed) but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. Given the high-complexity, mutation-capable nature of the tool, the description covers the essential gaps: atomicity, linked-clip behavior, precondition evidence requirements, and refusal cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including a clear sign convention for offset_seconds and the default for include_linked, so the schema already carries the parameter burden. The description restates the include_linked default behavior but adds no format or range detail beyond it. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: a roll edit performed at the outgoing cut of a clip, with both visible edges and source in/out points moved and verified. That level of detail is materially distinguishable from a generic trim. However, it never names or contrasts with the nearby siblings slide_edit and slip_edit, leaving the agent to rely on prior editorial knowledge to disambiguate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear preconditions and refusals: requires readable finite media plus ffprobe duration evidence for every edited source, and refuses unknown duration, stills, and nonunit/reversed speed before mutating. That is strong when-to-use context, but it never names an alternative tool (slide_edit, slip_edit, trim_clip) or the condition that would select one over the other.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_projectSave ProjectA
Save the current Premiere Pro project to its existing path. Fails when the project has never been saved (use save_project_as) or when Premiere writes no non-empty file. Fresh disk metadata verifies a save; unchanged or unreadable metadata reports committed_unverified.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the non-read-only, non-idempotent, non-destructive profile, and the description adds failure modes and verification semantics beyond that: fresh disk metadata confirms a save while unchanged/unreadable metadata yields committed_unverified. This is substantive behavioral context an agent cannot get from the annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the action, followed by failure conditions and then verification semantics. Every sentence carries distinct information with no redundancy or padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be enumerated, and the description still surfaces the key failure paths and the committed_unverified status. Nothing needed to invoke this zero-param tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explain and the baseline for a parameterless tool applies. No competing syntax or format details are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Save) and resource (current Premiere Pro project) scoped to its existing path, and explicitly names the sibling save_project_as as the alternative for the unsaved case. An agent can distinguish it from session peers without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the explicit condition under which it applies (existing path) and the conditions under which it fails (never-saved project → use save_project_as; no non-empty file written). This is a clear when/when-not with a named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_project_asSave Project AsA
Save the current project to a new .prproj path. Premiere then has the NEW copy open and closes the original, so later edits go to the copy; the result reports both paths. Fails when Premiere writes no file or leaves a pre-existing path unchanged. Use open_project to return to the original.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Full file path to save the project to (e.g., '/Users/me/projects/MyProject.prproj') |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses the critical side effect that the new copy becomes the active project and the original is closed, that the result reports both paths, and two explicit failure conditions (no file written, pre-existing path left unchanged).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, purpose front-loaded, with every clause carrying either a side effect, a failure mode, or a routing hint. No padding or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety and an output schema covering returns, the description still adds the non-obvious active-project switch and error conditions an agent needs before invoking it. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single path parameter is already fully documented. The description adds no format or syntax detail beyond the schema, matching the baseline-3 case where the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Save) and resource (the current project) with a clear destination (.prproj path), and the side-effect explanation (new copy opens, original closes) distinguishes it from the plain save_project sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for the operation and names open_project as the way to return to the original, but it never contrasts save_project_as with the sibling save_project, leaving the when-to-use-which decision partly to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scene_edit_detectionScene Edit DetectionA
Perform Premiere's scene edit detection on the selected clips in the active sequence (it analyses the footage and can take minutes on long clips). CreateMarkers (default) puts Segmentation markers on the selected clips' source project items (shared by every sequence that uses them), removes duplicates this run created (markers that were already there are never deleted), and reports each detected cut in source and timeline seconds; it is verified only when at least one new marker was added. ApplyCuts razors the selected clips and verifies the clip count grew. EXPERIMENTAL QE: CreateMarkers records an observed marker boundary for guarded Undo/Redo; crossing it is refused by default, and unreadable history records unknown protection. This boundary does not verify native marker reversal.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Create markers (default) or apply cuts to the selected clips | |
| sensitivity | No | Scene-detection sensitivity (default: MediumSensitivity) | |
| apply_cuts_to_linked_audio | No | When applying cuts, also cut linked audio (default: false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes far beyond the annotations: warns the analysis can take minutes on long clips, explains that markers land on source project items shared by every sequence using them, that duplicates from this run are removed while pre-existing markers are never deleted, gives explicit verification criteria, and documents the EXPERIMENTAL QE undo/redo boundary behavior including the 'unreadable history records unknown protection' edge case.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose and the timing caveat before mode details, and each sentence carries distinct information (defaults, dedupe rules, verification, QE caveats). It is dense and slightly long, but very little is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present it correctly avoids describing return values, and it still covers the mutation semantics, verification conditions, side effects on shared project items, and the experimental undo-protection behavior. Nothing an agent needs to invoke this safely on a sequence is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents action, sensitivity, and apply_cuts_to_linked_audio. The description restates the default for action (CreateMarkers) and the semantics of that mode but adds no format or syntax detail for sensitivity or apply_cuts_to_linked_audio, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource ('Perform Premiere's scene edit detection on the selected clips in the active sequence') and enumerates both modes (CreateMarkers, ApplyCuts) with their distinct effects. An agent can distinguish this from generic marker or edit tools 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly explains what each action does and when verification succeeds, which implies the two use cases, but it never names or contrasts the close siblings detect_scene_edits or detect_source_scene_changes, nor does it state when NOT to use this tool. Usage is implied rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_project_contextSearch Project ContextARead-onlyIdempotent
Search a durable Premiere project-context index for relevant sources, timeline placements, transcript passages, shots, audio observations, and notes. Returns bounded evidence with stable IDs and revisions; it never changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| kinds | No | Optional context-kind filter | |
| query | Yes | Natural-language or keyword query matched against indexed evidence | |
| project_id | Yes | Project context ID returned by manage_project_context capture | |
| max_results | No | Maximum 50; default 12 | |
| sequence_id | No | Optional exact sequence ID filter |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so 'never changes Premiere' largely restates structured data. The description does add genuine behavioral context beyond the annotations: results are 'bounded evidence with stable IDs and revisions', which tells the agent the output is size-limited and referenceable. That is useful but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, and the primary action is front-loaded. The 'never changes Premiere' clause is somewhat redundant with the annotations, keeping it just short of a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present the description need not explain return values, and annotations cover the safety profile, so the remaining burden is small. It adequately covers what is searched and the bounded/ID-bearing nature of results, though it omits the prerequisite relationship with the context-capture tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema documents all five parameters (kinds, query, project_id, max_results, sequence_id) including defaults and bounds, so the description adds no parameter-level meaning beyond it. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (durable Premiere project-context index) and enumerates the indexed evidence types, so the agent knows exactly what is being searched. It does not explicitly distinguish itself from the sibling manage_project_context (the capture side), 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'durable ... index' and the query parameter, but there is no explicit when-to-use statement, no exclusion, and no pointer to the capture tool that produces the project_id this tool requires. The agent must infer that it should call manage_project_context first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_project_itemsSearch Project ItemsBRead-onlyIdempotent
Search for project items by name, media file extension, offline status, or color label. Returns matching items with full details.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search query (matched against item name, case-insensitive substring match) | |
| extension | No | Filter by file extension (e.g., 'mp4', 'wav', 'png'). Without dot. | |
| item_type | No | Filter by item type (default: all) | |
| color_label | No | Filter by color label index (0-15) | |
| max_results | No | Maximum results to return (default: 100) | |
| offline_only | No | If true, only return offline/missing items |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so safety behavior is covered structurally. The description adds only that matching items are returned 'with full details,' which is thin; it says nothing about the default 100-result cap, truncation behavior, or result ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the tool's purpose and return behavior front-loaded. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not explain return values, and all parameters are optional and fully documented in the schema. The only shortfall is the unmentioned default capability/limit of max_results, which an agent might want to know before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters including defaults and the enum for item_type. The description restates the filter dimensions but adds no syntax or interpretation beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('search') and resource ('project items') and enumerates the filterable dimensions (name, extension, offline status, color label). It is clear what the tool does, but it does not differentiate itself from nearby siblings such as find_project_item_by_name, list_project_items, or select_clips_by_pattern, so an agent could still hesitate between them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and never names an alternative. With many overlapping sibling tools (find_project_item_by_name, list_project_items, search_project_context, select_clips_by_name), the absence of routing guidance is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_workflow_recipesSearch Workflow RecipesARead-onlyIdempotent
Search audited built-in and explicitly supplied workspace-local workflow recipes. Recipes are declarative previews and cannot execute arbitrary tools or scripts.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Optional case-insensitive title, description, tag, or ID query. | |
| recipe_file | No | Optional contained JSON file with closed-schema custom recipes. | |
| approved_workspace_path | No | Absolute approved workspace containing recipe_file; required with recipe_file. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is partly covered. The description nonetheless adds meaningful context beyond them: recipes are 'audited' and are 'declarative previews' that 'cannot execute arbitrary tools or scripts' – worth stating explicitly for an agent deciding whether a recipe is safe to invoke.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, and the what-it-searches scope is front-loaded before the safety caveat. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich annotation set, 100% schema coverage, and an output schema present, the description only needs to add safety/scope context, which it does. The one gap is not clarifying how the built-in vs. recipe_file search paths behave, though the schema largely covers this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so query, recipe_file, and approved_workspace_path are already documented in the schema. The description adds only a weak hint that recipes may be 'explicitly supplied' locally, which loosely maps to recipe_file, but supplies no format or relationship detail beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('search') and resource ('workflow recipes'), and scopes it to 'audited built-in and explicitly supplied workspace-local' sources, which tells the agent what corpus is searched. It does not, however, distinguish itself from the close sibling preview_workflow_recipe, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never states when to use this tool versus alternatives such as preview_workflow_recipe or plan_cross_app_workflow. Usage is only implied ('search' = discovery), with no exclusions or preconditions, so an agent must infer the routing itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_all_clipsSelect All ClipsB
Select all clips in the active sequence, or all clips on a specific track.
| Name | Required | Description | Default |
|---|---|---|---|
| track_type | No | Track type (default: both) | |
| track_index | No | Specific track index (optional, selects all tracks if omitted) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, so the safety profile is covered. The description adds scope but omits the behavior a selection tool most needs to disclose: whether this replaces the current selection or adds to it, and what happens to selection on tracks excluded by track_index.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence covering both modes with no filler. Nothing is wasted and the primary case (whole sequence) comes first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and both params are fully described in the schema. What is missing is the semantic context for a crowded selection tool family: selection replacement semantics and how this differs from its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both parameters and the enum are already documented in the schema, including the 'both' default. The description only loosely maps 'specific track' to track_index and adds no new format or interaction detail, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (select) and resource (all clips) with two clear scopes: the active sequence or a specific track. It does not distinguish itself from nearby siblings like select_clips_in_range, select_clips_by_pattern, or select_clips_by_name, which an agent could easily confuse with a plain 'select all'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a use case (bulk selection) but never states when to prefer it over the many other selection tools, nor any prerequisites such as an active sequence being open. With roughly a dozen selection-related siblings, this is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_clips_by_colorSelect Clips By ColorB
Select all clips whose source project item has a specific color label.
| Name | Required | Description | Default |
|---|---|---|---|
| color_index | Yes | Label color index (0=Violet, 1=Iris, 2=Caribbean, 3=Lavender, 4=Cerulean, 5=Forest, 6=Rose, 7=Mango, 8=Purple, 9=Blue, 10=Teal, 11=Magenta, 12=Tan, 13=Green, 14=Brown, 15=Yellow) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the agent knows this changes state but destroys nothing. The description adds no behavioral context beyond that, notably whether the selection replaces or extends the current selection — the key semantic for a select tool, especially with idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the action and never wastes a word. Appropriately sized for a one-parameter filter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the single parameter is fully documented in the schema. The remaining gap is selection semantics — replace vs. additive, and behavior on no match — which is not covered anywhere given idempotentHint=false.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the color_index parameter is fully documented in the schema with an explicit index-to-color mapping, so the description correctly need not repeat it. The phrase 'specific color label' mirrors the parameter but adds no format or range detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (select) and resource (clips) filtered by a named attribute (color label on source project item), which distinguishes it from generic selection tools. However it does not explicitly differentiate from the nearby siblings select_clips_by_name and select_clips_by_pattern, which follow the same pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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, and no routing to alternatives such as select_clips_by_name, select_clips_by_pattern, or select_all_clips. The agent must infer the choice between the family of selection tools entirely on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_clips_by_nameSelect Clips By NameA
Select all clips in the active sequence that match a name (substring match). Optionally filter by track type and index.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Clip name to search for (case-insensitive substring match) | |
| track_type | No | Track type to search (default: both) | |
| track_index | No | Specific track index to search (optional, searches all if omitted) | |
| add_to_selection | No | If true, add to existing selection instead of replacing it (default: false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=false, so the safety profile is covered. The description adds the substring-match rule and that selection targets the active sequence, but omits whether an active sequence is required and how it interacts with existing selection beyond the add_to_selection param.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler, front-loading the core action and then the optional filters. Every clause carries meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the description covers the action, scope, and optional filters for a straightforward selection tool. Minor gap on active-sequence prerequisites, but nothing critical to invoking it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented, including the substring/case-insensitive match, track_type enum, optional track_index, and add_to_selection. The description restates the track filtering but adds no format or default details beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Select) and resource (clips), plus the matching rule (name, substring match) and scope (active sequence). This makes it distinguishable from siblings like select_clips_by_pattern or select_clips_by_color, though it never names an alternative directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the 'by name' selector and 'active sequence' scope, but there is no explicit when-to-use guidance, no exclusions, and no reference to the competing selection tools. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_clips_by_patternSelect Clips By PatternA
Select every Nth clip (with an offset) among clips that match optional name, duration, time-range, track, and enabled filters, then read back the selection count. Covers 'select every other clip on V1' and similar repetitive selections without changing the timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | Zero-based index of the first candidate to select (default 0). Must be below every_nth. | |
| every_nth | No | Select one clip out of every N candidates (default 1 = all candidates). | |
| name_regex | No | Case-insensitive ECMAScript 3 compatible regular expression the clip name must match. | |
| track_type | No | Track type to scan (default video). | |
| count_scope | No | Whether the Nth count restarts on each track (default) or runs across all scanned tracks in timeline order. | |
| end_seconds | No | Only clips overlapping before this sequence time. | |
| track_index | No | Restrict to one track index. | |
| name_contains | No | Case-insensitive substring the clip name must contain. | |
| start_seconds | No | Only clips overlapping at or after this sequence time. | |
| add_to_selection | No | Keep the existing selection instead of replacing it (default false). | |
| include_disabled | No | Include disabled clips as candidates (default true). | |
| max_duration_seconds | No | Maximum clip duration. | |
| min_duration_seconds | No | Minimum clip duration. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations carry the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false); the description usefully clarifies that the mutation is only to selection state and that the timeline is untouched, resolving the apparent tension with readOnlyHint=false. It also mentions reading back the selection count, which is a behavioral detail beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core selection behavior, then the practical example. Efficient, though the first sentence is dense with a long filter enumeration that slightly slows parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the return count needn't be explained, and annotations plus 100% schema coverage handle most details. The description's remaining gap is the replace-vs-append default of selection, which is left to the schema's add_to_selection parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 13 parameters, so the schema already documents offset, every_nth, filters, and defaults. The description only summarizes categories (name, duration, time-range, track, enabled) without adding syntax or semantics beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (select), a precise resource (every Nth clip), and the pattern mechanism including offset, plus the filter dimensions. It clearly differentiates by mechanism from siblings like select_clips_by_name or select_clips_in_range, but never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a concrete use case ('select every other clip on V1') and notes it doesn't change the timeline, which implies when it applies. However, it never states when NOT to use it or which sibling to prefer for plain name-based or range-based selection, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_clips_in_rangeSelect Clips In RangeB
Select all clips that overlap a time range in the active sequence.
| Name | Required | Description | Default |
|---|---|---|---|
| track_type | No | Track type (default: both) | |
| end_seconds | Yes | End of selection range in seconds | |
| track_index | No | Specific track index (optional) | |
| start_seconds | Yes | Start of selection range in seconds |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the agent knows this mutates selection state without deletion. The description adds the overlap criterion and active-sequence scope, but does not disclose whether the selection replaces or adds to existing selection—a core behavioral question for a selection tool that annotations do not answer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler or redundancy. Every word contributes to specifying the operation and its scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety profile, while the schema fully documents parameters, so the description carries a lighter burden. Still, for a selection tool in a large sibling set, it omits disambiguation from other selection commands and the important replace-versus-add selection behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents start_seconds, end_seconds, track_type, and track_index in detail. The description only gestures at a 'time range' and says nothing about track filtering, so it adds no meaning beyond the schema and the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Select'), resource ('clips'), and selection criterion ('overlap a time range in the active sequence'), which distinguishes it implicitly from siblings like select_clips_by_pattern or select_all_clips. However, it does not explicitly name or contrast with those sibling tools, so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use guidance, no conditions for choosing this over alternatives such as select_clips_by_pattern, select_clips_by_color, or select_all_clips, and no exclusions. The only contextual clue is 'in the active sequence,' which implies a prerequisite but is not framed as guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_disabled_clipsSelect Disabled ClipsB
Select all disabled clips in the active sequence.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and idempotentHint=false, so the agent knows selection state changes, but the description adds nothing beyond that — notably it does not say whether this replaces the current selection, adds to it, or operates only within the active sequence's targeted tracks. For a selection tool where replace-vs-add semantics matter, that is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, appropriately sized for a no-parameter tool. It is efficient but so thin that conciseness shades into under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the zero-parameter schema keeps the call signature trivial. What is missing is the selection semantic (replace vs. additive) and the interaction with existing selection state, which the agent cannot recover from annotations alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for the description to clarify beyond the target set, which it does state.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Select') and resource ('disabled clips') with a scope qualifier ('in the active sequence'), which cleanly distinguishes it from select_all_clips, select_clips_by_color, select_clips_by_name, and select_clips_in_range. It stops short of naming those siblings explicitly, but the 'disabled' filter is a strong discriminator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of the natural follow-up (enable_disable_clip / batch_enable_disable) on the selected set, and no stated preconditions such as requiring an active sequence. The agent must infer the workflow entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_itemSelect ItemB
Select a project item in the Project panel
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item to select |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the agent knows this is a state-changing but non-destructive, non-idempotent operation. The description adds only the location ('Project panel') and says nothing about what the selection changes (e.g., replaces vs. adds to current selection, UI focus behavior).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no wasted words. It is appropriately sized for a simple one-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover safety traits, so the description need not explain return values. However, for a selection tool, it omits whether the selection replaces or adds to existing selections and how it interacts with related selection siblings, leaving a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the single item_id parameter is fully documented in the schema. The description adds no further meaning, which matches the baseline of 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Select') and resource ('project item') with a location ('Project panel'), making the basic action clear. It does not explicitly distinguish itself from sibling selection tools like set_clip_selection or select_clips_by_pattern, but the 'project item' target provides some differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No instructions on when to use this tool versus alternatives, no prerequisites, and no context about side effects. The usage is only implied by the name and one-line description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_active_sequenceSet Active SequenceC
Set the active sequence by name or ID
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | Yes | Sequence name or ID to make active |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full profile (not read-only, not idempotent, not destructive, closed-world), so the bar is lower, but the description adds no context beyond them: it does not say whether this alters editor UI state, whether it persists with the project, or what happens if the name is ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no filler. It is efficient, though it is so terse that it barely differentiates itself from the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the tool is simple with one well-documented parameter. Still, for a state-changing operation an agent would benefit from knowing the sequence must pre-exist and what side effects 'active' has; the description is minimally viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter is fully documented in the schema; the description's 'by name or ID' merely echoes that. Baseline 3 applies since the schema carries the semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Set the active sequence'), which is distinguishable from siblings like set_sequence_settings or set_sequence_frame_rate. It does not explicitly contrast with the read counterpart get_active_sequence, but the direction of the operation is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. the sequence must already exist in the project), and no mention of what 'active' affects for downstream calls. The agent must infer all context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_all_tracks_targetedSet All Tracks TargetedA
Set all tracks targeted or untargeted. Useful before insert/overwrite edits. Reads back every affected track and reports verified only when all match the requested state.
| Name | Required | Description | Default |
|---|---|---|---|
| targeted | Yes | Whether to target (true) or untarget (false) all tracks | |
| track_type | No | Which track type(s) to affect (default: both) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations establish it as a non-read-only, non-destructive mutation, so the baseline is lowered. The description still adds meaningful behavior beyond that: it reads back every affected track and only reports 'verified' when all match the requested state, which tells the agent to expect post-write verification semantics it could not get from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded, followed by use context and verification behavior. No filler, no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter mutation with full schema coverage, a sibling set, and an existing output schema, the description covers purpose, workflow context, and verification behavior adequately. It only lacks explicit sibling disambiguation, which is a minor gap given the name already says 'all'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters documented including the enum for track_type, so the schema does the heavy lifting. The description adds no semantics beyond the schema, which yields the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Set all tracks targeted or untargeted'), scoping the operation to the entire track set. It is clear on its own, but it never names the obvious sibling set_target_track (single-track targeting) to differentiate itself, leaving the agent to infer the distinction from the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Useful before insert/overwrite edits' gives a concrete workflow context for when to reach for this tool. It stops short of naming alternatives or stating when-not to use it, so the routing guidance is contextual rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_anti_alias_qualitySet Anti Alias QualityA
Set the anti-alias quality on a clip's Motion effect (useful for scaled/rotated clips).
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes | Enable (true) or disable (false) anti-aliasing | |
| node_id | Yes | Node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=false, so the safety profile is covered. The description adds that the setting lives on a clip's Motion effect, but says nothing about persistence, permissions, or whether it applies per-clip vs. per-effect-instance, so it adds only modest behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, front-loaded with the verb and resource, with the qualifier in a parenthetical. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a complete schema, an output schema, and annotations covering safety, the description's remaining burden is small and it covers the essential scope. It is slightly thin on how this relates to the Motion effect's other properties, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both node_id and enabled are already documented; the baseline is 3. Note a minor tension: the description says 'quality' while the actual parameter is a boolean enable/disable, so the description does slightly mislead about the value space without fully clarifying it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Set the anti-alias quality') and narrows the target to the clip's Motion effect, which is a real distinction from generic clip setters like set_clip_properties. It does not explicitly contrast itself with nearby siblings such as set_frame_blend or set_time_interpolation, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical 'useful for scaled/rotated clips' implies a usage context, but there is no explicit when-to-use/when-not, no prerequisite, and no named alternative. Usage must be inferred from the hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_blend_modeSet Blend ModeA
Set a video clip's blend mode through its Opacity effect and read the stored mode back. Premiere stores the mode as an index into its modes in alphabetical order, with Subtract and Divide last (mapped on Premiere 25.2.3 by rendering every index over a known background).
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the video clip | |
| blend_mode | Yes | Blend mode name |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, idempotentHint=false), the description discloses meaningful mechanism: the mode is applied via the clip's Opacity effect and read back from stored state, and Premiere encodes it as an alphabetical index with Subtract/Divide appended. That index-ordering caveat is real behavioral context an agent could not infer. It still omits reversibility/permission details, so it is not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the purpose front-loaded before the technical addendum. The version-specific parenthetical ("mapped on Premiere 25.2.3 by rendering every index over a known background") is niche detail that borders on trivia but does document a real caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and both parameters are fully schema-documented. The description adds the mechanism and index caveat, giving an agent enough to call it correctly, though prerequisites (e.g. the clip needing an Opacity effect) remain unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a full enum, so the baseline is 3; the description earns above that by explaining why the enum maps to backend indices (alphabetical ordering, Subtract/Divide last), which clarifies the blend_mode parameter's semantics. node_id is left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Set a video clip's blend mode") plus the implementation path ("through its Opacity effect"), so an agent knows exactly what changes. It does not explicitly distinguish itself from near neighbors like set_clip_opacity or set_frame_blend, which share the same territory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to reach for this tool versus set_clip_opacity, set_frame_blend, or manual effect manipulation, and gives no prerequisites or exclusions. Usage is only implied by the phrase "Set a video clip's blend mode."
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_anchor_pointSet Clip Anchor PointB
Set the Anchor Point property on a video clip's Motion effect.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | Anchor point X in pixels | |
| y | Yes | Anchor point Y in pixels | |
| node_id | Yes | Node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the mutation profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds that the change targets the Anchor Point on the Motion effect, which is useful context beyond annotations. However, it omits behavioral details like what happens if the Motion effect is missing or whether the change is reversible, so it only partially compensates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that states the action and target without any filler. Every word earns its place, making it highly efficient for an agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple property setter with an output schema and annotations covering safety, the description is minimally adequate. It names the property and effect but omits prerequisites (e.g., requiring a Motion effect to exist) and usage context relative to other clip property setters. The structured fields fill some gaps, but the description could do more to complete the picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains node_id, x, and y. The description adds no extra parameter semantics—it repeats the target property but does not clarify coordinate systems, units (beyond 'pixels' in schema), or motion effect interaction. Baseline 3 is appropriate when the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Set the Anchor Point property on a video clip's Motion effect.' It clearly identifies the exact property being modified, distinguishing it from sibling setters like set_clip_position or set_clip_scale. However, it does not explicitly name or contrast with those siblings, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites (e.g., the clip must have a Motion effect), and no exclusions. The description merely states what it does, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_durationSet Clip DurationA
Set one timeline clip's visible duration by moving only its timeline end (TrackItem.end) while keeping its start fixed. Pass exactly one of duration_seconds or end_seconds. Works for extending still images past their import length. Refuses to overlap the next clip on the same track, rejects shortening that would strand effect keyframes unless keyframe_policy is preserve, reads start/end back, and restores the original end if Premiere clamps or ignores the write (for example when video media has no handle left). Linked audio/video partners get the same change by default (include_linked), applied as the same end offset so partners with a J/L cut keep their offset; every clip is checked before any is changed. Use this instead of speed changes, which Premiere does not expose to scripting.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the timeline clip (track item) to resize | |
| end_seconds | No | Target absolute timeline end (out-point) in seconds. Must be at least one frame after the clip's start. Specify exactly one of duration_seconds or end_seconds. | |
| include_linked | No | Also apply the edit to the clip's linked audio/video partners, as Premiere does with linked selection (default: true). | |
| keyframe_policy | No | When shortening, how to handle effect keyframes beyond the new visible length: reject (default) leaves the timeline unchanged; preserve keeps them and reports their count. | |
| duration_seconds | No | Target visible duration in seconds, measured from the clip's current timeline start. Specify exactly one of duration_seconds or end_seconds. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavior beyond the annotations: atomic pre-checking across all clips, refusal to overlap the next clip, keyframe-stranding rejection unless keyframe_policy=preserve, read-back verification, and restoration of the original end if Premiere clamps or ignores the write. It also discloses the linked-partner default and the same-end-offset rule that preserves J/L cuts. This is far richer than the readOnly/destructive/idempotent hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph, but front-loaded with the core action before the constraints and edge cases. Each clause carries real information (atomicity, clamp fallback, keyframe policy, linked offset). It is slightly overloaded and would read better split into behavior vs. constraints, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool with five parameters and an output schema; the description covers the failure modes, safety guarantees, and default behaviors an agent needs before invoking. Return values need not be explained since an output schema exists. Nothing material is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description nonetheless reinforces the mutual-exclusivity of duration_seconds/end_seconds and, more importantly, adds cross-parameter semantics absent from the schema: include_linked partners receive the change applied as the same end offset, preserving J/L cuts. That interaction knowledge justifies a step above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (set), resource (one timeline clip's visible duration), and implementation detail (moves only TrackItem.end while keeping start fixed). This immediately distinguishes it from siblings like set_clip_start_time, trim_clip, and move_clip. It also closes with a redirect for the adjacent use case (speed changes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to alternatives: 'Use this instead of speed changes, which Premiere does not expose to scripting.' It also states the exclusivity rule for duration_seconds vs end_seconds and the still-image extension use case. It does not, however, contrast with the other trimming siblings (trim_clip, set_clip_start_time), so routing is partially covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_opacitySet Clip OpacityA
Set the opacity of a video clip (0-100) using English or measured Spanish built-in names, then read it back.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| opacity | Yes | Opacity value (0 = transparent, 100 = fully opaque) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is known. The description adds that the tool reads the value back after setting, which is a useful behavioral detail, but it does not cover side effects, permissions, or why the operation is non-idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. However, the clause 'using English or measured Spanish built-in names' is ambiguous and slightly detracts from an otherwise efficient statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter mutation tool with full schema coverage, complete annotations, and an output schema, the description covers the core purpose and notes the read-back behavior. Usage guidance is absent, but the structured fields carry most of what an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents node_id and opacity fully. The description repeats the 0-100 range from the schema and adds the unclear phrase 'using English or measured Spanish built-in names,' which does not map to the documented numeric parameter and adds little usable meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Set the opacity of a video clip (0-100).' It distinguishes this tool from the many other set_clip_* tools by naming the exact property, opacity, so an agent can select it without opening sibling schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as set_clip_properties, set_clip_properties_batch, or other clip-property setters. It also omits prerequisites or conditions. Only the implied purpose suggests usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_panSet Clip PanB
Set and read back the pan (left/right balance) on an audio clip, including Channel Volume layouts.
| Name | Required | Description | Default |
|---|---|---|---|
| pan | Yes | Pan value (-100 = full left, 0 = center, 100 = full right) | |
| node_id | Yes | Node ID of the audio clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is covered. The description adds one piece of non-obvious behavior: the tool reads the pan value back after setting it. It says nothing about permissions, clip-linking side effects, or whether pan is a single value or keyframable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the verb and resource front-loaded. The trailing 'including Channel Volume layouts' clause is slightly redundant but not harmful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations covering safety, a 100%-covered schema, and an output schema handling the read-back, the description is adequate. It still omits when this tool is preferred over the volume/properties siblings, which is the main gap for a simple two-param setter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents pan's range semantics (-100 full left, 0 center, 100 full right) and node_id. The description adds no syntax or format detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: setting (and reading back) the pan balance on an audio clip. That is enough to separate it from set_clip_volume and adjust_audio_levels. The trailing 'including Channel Volume layouts' is vague and doesn't sharpen the purpose, keeping it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no routing to alternatives. An agent must infer on its own whether to use set_clip_pan, set_clip_properties, or set_project_item_audio_channel_mapping. No preconditions or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_positionSet Clip PositionB
Set the Position property on a video clip's Motion effect using English or measured Spanish built-in names, then read it back. Values are in pixels.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | X position in sequence pixels (converted to Premiere's normalized Position when the host stores it that way) | |
| y | Yes | Y position in sequence pixels (converted to Premiere's normalized Position when the host stores it that way) | |
| node_id | Yes | Node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false), so the mutation nature is covered. The description adds useful context by disclosing that the tool reads the value back after setting and that values are in pixels, but it omits auth requirements and what happens on failure or to unmentioned Position axes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the action front-loaded. The clause about 'English or measured Spanish built-in names' is somewhat cryptic and costs a little clarity, but the overall size is appropriate and wastes little space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. However, for a mutation tool with no when-to-use guidance and an unexplained naming convention, the description leaves gaps an agent would need to call it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so x, y and node_id are fully documented in the schema. The description's 'Values are in pixels' merely repeats the schema's 'X position in sequence pixels' and adds no syntax, range, or coordinate-origin detail beyond it, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Set the Position property on a video clip's Motion effect'), clearly distinguishing it from sibling setters like set_clip_scale, set_clip_rotation and set_clip_opacity. It does not explicitly name those siblings, but the resource is precise enough for an agent to route correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 alternatives named. An agent is left to infer that this is the tool for positioning versus set_clip_anchor_point or set_effect_property. The phrase 'using English or measured Spanish built-in names' hints at a naming convention but never explains what that means operationally.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_propertiesSet Clip PropertiesA
Set supported clip properties (opacity, scale, position, rotation) and read each requested value back. Clip speed is unsupported and fails before mutation; use set_clip_duration to change a clip's timeline length.
| Name | Required | Description | Default |
|---|---|---|---|
| scale | No | Scale percentage (0-10000; 100 = original size) | |
| speed | No | Unsupported by Premiere's documented scripting APIs. Supplying this returns an actionable error without mutating the clip; use set_clip_duration to change timeline length. | |
| node_id | Yes | Node ID of the clip | |
| opacity | No | Opacity value (0-100) | |
| rotation | No | Rotation in degrees | |
| position_x | No | Horizontal position in sequence pixels | |
| position_y | No | Vertical position in sequence pixels |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (non-readonly, non-destructive, non-idempotent), so the bar is lower. The description adds real behavioral context: it discloses a read-back of each requested value, and that speed 'fails before mutation' (i.e. no partial write), which is valuable for error/recovery reasoning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero padding, front-loaded with the supported capability before the unsupported case and its alternative. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the 7-param schema is fully documented. The only missing piece is disambiguation against the single-property setter siblings, which slightly limits completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the speed parameter's unsupported note is already in the schema, giving a baseline of 3. The description reinforces the supported-property set and the failure semantics for speed, adding marginal meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Set) plus the exact resource and enumerates the supported property set (opacity, scale, position, rotation). An agent immediately knows this is a multi-property mutation on a clip, distinct from single-property or duration tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly handles the speed edge case and routes to set_clip_duration. However, it never addresses the granular siblings set_clip_scale, set_clip_opacity, set_clip_rotation, and set_clip_position, so the agent cannot tell from the description whether to batch here or call those instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_properties_batchSet Clip Properties BatchA
Apply Motion/Opacity values to up to 16 clips after preflighting every target property. The handler reads each requested value back and never reports a partial batch as verified.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Each item changes one or more supported opacity, Motion scale, position, or rotation values. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), and the description adds real behavioral context: a preflight pass over every target property and read-back verification with no partial batch reported as verified. It does not clarify what happens on preflight failure (abort vs. skip), which is the one remaining behavior an agent would want.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both load-bearing: the first gives scope and the preflight behavior, the second gives the verification guarantee. The most decision-relevant facts come first with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape need not be explained, and the description covers the two non-obvious behaviors (preflight, verified read-back) plus batch size. Minor gaps: no statement of which property families are settable in prose and no failure-mode description for the preflight.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself is rich (per-field docs, min/max, the speed-unsupported warning, maxItems 16), so baseline 3 applies. The description's 'Motion/Opacity' phrasing actually under-describes the accepted set, since scale, position, and rotation are also valid.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Apply), the resource (Motion/Opacity values), and the batch scope (up to 16 clips), which cleanly separates it from the single-clip set_clip_properties and the narrower set_clip_scale/set_clip_opacity siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'up to 16 clips' bound and 'batch' framing imply when to prefer this over the singular setters, but no alternative is named and no precondition (e.g., clips must be selected or node IDs resolvable) is stated. Usage is inferable but not spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_rotationSet Clip RotationB
Set the Rotation property on a video clip's Motion effect using English or measured Spanish built-in names, then read it back.
| Name | Required | Description | Default |
|---|---|---|---|
| degrees | Yes | Rotation in degrees (0-360, can exceed for multiple rotations) | |
| node_id | Yes | Node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the behavior is largely covered structurally. The description usefully discloses that the value is read back after setting, but it does not explain the surprising idempotentHint=false, required permissions, or the dependency on a Motion effect existing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first. It is appropriately sized, though the middle 'English or measured Spanish built-in names' fragment is confusing filler that does not clearly earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and both parameters are documented in the schema. The only residual gap is the unexplained reference to a Motion effect and the non-idempotent annotation, which for a simple setter is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both node_id and degrees are already documented with type and range context. The description adds nothing about the parameters themselves, merely referencing the effect property naming, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Set) and resource (the Rotation property on a clip's Motion effect), which distinguishes it from siblings like set_clip_scale, set_clip_opacity, and set_clip_position. The core action is unambiguous, though the 'English or measured Spanish built-in names' clause is odd and slightly muddies the intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternative tool is named. Nothing tells the agent when rotation-setting is the right choice versus the many other clip-property tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_scaleSet Clip ScaleA
Scale a video clip evenly through its Motion effect using English or measured Spanish built-in names, and read the result back. With Uniform Scale off, both Scale (height) and Scale Width are set, so the picture is not stretched; use set_scale_width_height for different values.
| Name | Required | Description | Default |
|---|---|---|---|
| scale | Yes | Scale value (100 = original size, 200 = 2x, 50 = half) | |
| node_id | Yes | Node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare non-read-only, non-idempotent, non-destructive, and the description adds real value beyond them: the operation runs through the Motion effect, writes both Scale and Scale Width when Uniform Scale is off so the picture isn't stretched, and reads the result back. It doesn't mention permissions or reversibility, so not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the alternative, and the Uniform Scale caveat is useful. The 'English or measured Spanish built-in names' clause is unexplained filler that slightly dilutes an otherwise tight entry.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description covers the mechanism, the two-property side effect, and the alternative routing, which is sufficient for a 2-param idempotency-flagged mutation, though it omits any indication of failure conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both params (scale percentage semantics, node_id) fully documented in the schema, so baseline 3 applies. The description mentions Scale/Scale Width properties but maps them loosely rather than clarifying the two actual parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Scale a video clip') plus the mechanism (Motion effect) and names the sibling it differs from (set_scale_width_height). The odd phrase 'English or measured Spanish built-in names' is confusing and somewhat distracts, keeping it from a clean 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to an alternative: 'use set_scale_width_height for different values.' It also gives the condition under which both axes are set (Uniform Scale off). It stops short of stating when not to use this tool generally.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_selectionSet Clip SelectionB
Select or deselect a clip in the active sequence
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| selected | Yes | True to select, false to deselect |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false. The description adds no behavioral context beyond the basic action, such as whether selecting a clip clears an existing selection or how the active sequence context affects the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It is appropriately sized for a simple two-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, the input schema is fully documented, annotations cover safety hints, and an output schema exists. However, the description leaves meaningful gaps around selection semantics and alternatives in a crowded sibling set of selection commands.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both node_id and selected are fully documented in the schema. The description does not add meaning beyond the schema, which is acceptable but not additive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: select or deselect a clip in the active sequence. It is clear what the tool does, but it does not explicitly distinguish itself from many sibling selection tools such as select_all_clips, select_clips_by_name, or deselect_all_clips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus the many alternative selection tools. It does not clarify whether it adds to, replaces, or toggles the current selection, nor does it mention conditions such as single-clip versus multi-clip selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_speed_qeSet Clip Speed QeA
Unavailable: Premiere's documented ExtendScript and UXP APIs have no setter for a timeline clip's speed (only getters), and the undocumented QE setSpeed is deliberately not used. Always fails before mutation. To change how long a clip runs on the timeline, use set_clip_duration.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| reverse | No | Reverse playback direction (default: false) | |
| speed_percent | Yes | Speed as percentage (100 = normal, 200 = 2x, 50 = half speed) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false) describe a routine mutating tool but say nothing about it being non-functional. The description supplies the critical undisclosed behavior: no documented setter exists, the undocumented QE setSpeed is deliberately unused, and the call always fails before any mutation. That is high-value context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the blocking fact ('Unavailable') and then the remediation, with zero filler. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deliberately dead-end tool with an output schema and fully covered parameters, the description contains everything an agent needs: it cannot succeed, it will not mutate, and where to go instead. Nothing further is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so node_id, reverse, and speed_percent are already fully documented with units (100 = normal). The description adds no parameter-level meaning beyond noting that no mutation will occur regardless of arguments, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('set a timeline clip's speed') and immediately qualifies it with the decisive fact that the operation is unimplemented and always fails. It also names the correct sibling (set_clip_duration), so an agent can tell exactly what this tool is and is not without touching the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-not-to-use ('Unavailable... Always fails before mutation') plus the alternative and the condition that selects it ('To change how long a clip runs on the timeline, use set_clip_duration'). This is exactly the routing guidance the dimension asks for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_start_timeSet Clip Start TimeB
Set the start time (timecode offset) of a project item. This shifts where timecode begins for the source media.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| start_seconds | Yes | New start time in seconds |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so safety is covered. The description adds the useful effect note that timecode origin for the source media shifts, but says nothing about what happens to already-placed clips or whether media interpretation changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero waste, and the core action is front-loaded in the first clause. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values need not be described, and annotations cover the safety profile. However, for a mutation tool with an ambiguous sibling named set_start_time, the definition should have disambiguated scope and noted any side effects; that gap keeps it at the minimum-viable level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (item_id, start_seconds) are already documented, setting the baseline at 3. The description's 'timecode offset' phrasing adds slight meaning to start_seconds but no units, format, or reference-point detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Set the start time (timecode offset) of a project item', with a clarifying clause about shifting where timecode begins. Clear enough on its own, but it does not differentiate itself from the sibling set_start_time, which an agent could easily confuse with this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus alternatives such as set_start_time, set_zero_point, or set_item_in_out. The description gives no preconditions, no context, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clips_volumeSet Clips VolumeA
Set the volume (in dB) on every audio clip of a track, or on a list of clip indices. One round trip instead of one call per clip - essential for sequences with dozens of clips.
| Name | Required | Description | Default |
|---|---|---|---|
| volume_db | Yes | Volume in dB applied to every selected clip (0 = unity, max +15) | |
| track_index | Yes | Audio track index (0-based) | |
| clip_indices | No | Optional clip indices on that track. Omit to apply to all clips. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the safety profile is covered. The description adds useful scope and efficiency context, but it does not disclose side effects, undo behavior, or whether repeated calls with the same volume are idempotent, leaving gaps beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, and the batch scope is front-loaded. Every sentence earns its place by clarifying the target set and the efficiency rationale.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a batch mutation tool with full schema coverage, annotations covering safety, and an output schema available, the description provides enough scope and usage context. It could be slightly richer about return behavior or prerequisites, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains volume_db, track_index, and clip_indices. The description confirms the clip-selection behavior but adds no format, range, or edge-case detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Set the volume (in dB)' on clips. It clarifies the exact scope as 'every audio clip of a track, or on a list of clip indices,' which distinguishes it from the singular sibling set_clip_volume and from general mix tools like adjust_audio_levels.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for when to prefer this tool: 'One round trip instead of one call per clip - essential for sequences with dozens of clips.' This implies the batch scenario versus per-clip alternatives, but it does not explicitly name set_clip_volume as the single-clip alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_clip_volumeSet Clip VolumeA
Set an audio clip's Volume > Level in dB. Does not read or change Essential Sound Amplify automation.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the audio clip | |
| volume_db | Yes | Volume in dB (0 = unity, negative = quieter, positive = louder) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (not read-only, not destructive, non-idempotent, not open-world). The description adds a genuine scope boundary (does not touch Essential Sound Amplify automation), which is real value beyond structured data, but it discloses nothing about permissions, side effects, or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler. The core action comes first and the scope caveat follows, so every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema, a 100% coverage input schema, and annotations covering safety, the description needs only to establish purpose and scope, which it does. The remaining gap is no explicit differentiation from set_clips_volume for batch volume setting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (node_id, volume_db) are fully documented in the schema, including the dB convention. The description adds only the 'Volume > Level' UI-path phrasing and no additional parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Set an audio clip's Volume > Level in dB'), which is unambiguous and clearly distinguishable from the read counterpart get_clip_volume. It does not explicitly differentiate from the plural sibling set_clips_volume, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The exclusion 'Does not read or change Essential Sound Amplify automation' gives useful scope guidance, but there is no explicit when-to-use statement and no routing to alternatives such as set_clips_volume for multiple clips or adjust_audio_levels for other audio operations. 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.
set_color_labelSet Color LabelB
Set the color label on a project item or clip and read it back
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| color_index | Yes | Label color index (0=Violet, 1=Iris, 2=Caribbean, 3=Lavender, 4=Cerulean, 5=Forest, 6=Rose, 7=Mango, 8=Purple, 9=Blue, 10=Teal, 11=Magenta, 12=Tan, 13=Green, 14=Brown, 15=Yellow) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and idempotentHint=false, so the safety profile is covered. The description usefully adds that the new value is returned, but says nothing about failure modes for a nonexistent item, permission needs, or why repeated identical sets are treated as non-idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, and the mutation is front-loaded ahead of the read-back detail. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter setter with full schema coverage, annotations, and an output schema (so return values need no explanation), the definition is nearly sufficient. The remaining gap is routing guidance versus get_color_label and set_color_value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: item_id (node ID or name) and color_index with the full 0-15 color legend are already documented in the schema. The description adds no additional parameter semantics, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (set the color label) plus the affected object types (project item or clip), so the agent knows exactly what it mutates. It hints at read-back behavior that differentiates it loosely from get_color_label, but never names that sibling as an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool can substitute for a separate read by saying it 'reads it back,' but there is no explicit when-to-use guidance, no prerequisite (e.g. item selected/unlocked), and no stated relationship to get_color_label.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_color_valueSet Color ValueB
Set a color value on an effect property (e.g., tint color, fill color)
| Name | Required | Description | Default |
|---|---|---|---|
| red | Yes | Red (0-255) | |
| blue | Yes | Blue (0-255) | |
| alpha | Yes | Alpha (0-255) | |
| green | Yes | Green (0-255) | |
| node_id | Yes | Node ID of the clip | |
| property_name | Yes | Name of the color property | |
| component_name | Yes | Name of the component/effect |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare that this is a non-read-only, non-idempotent, non-destructive mutation, so the safety profile is covered. The description adds useful scope by clarifying that the value is set on an effect property, but it does not disclose what happens to existing values, whether the effect must already be applied, or any other behavioral detail 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler. It immediately states the action and scope, and every phrase earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema, annotations, and output schema together carry much of the burden, so the description need not explain return values or parameter formats. However, for a 7-parameter mutation tool, it still lacks prerequisite context and does not route the agent away from generic siblings like set_effect_property.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (node_id, component_name, property_name, alpha, red, green, blue) is already documented in the input schema. The description does not add syntax, format, or usage meaning beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Set) and resource (color value on an effect property) and gives concrete examples such as tint color and fill color. It is clear on its own but does not explicitly distinguish itself from sibling tools like set_effect_property or set_color_label.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does but gives no guidance on when to use it versus alternatives such as set_effect_property or set_color_label. There is no mention of prerequisites, such as the effect or property needing to exist, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_effect_propertySet Effect PropertyA
Set the value of a specific effect property on a clip. Accepts scalar, boolean, string, array-shaped vector values (for example Motion > Position as [x, y]), and MOGRT JSON objects or strings, and verifies the readback component by component.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Value to set. Use a number for scalar properties, an array of numbers for vector properties such as Motion > Position or Anchor Point ([x, y]), a boolean for checkbox properties, the exact JSON string reported for a MOGRT text or graphic parameter, or that same JSON object if the client parsed it. | |
| node_id | Yes | Node ID of the clip | |
| effect_name | Yes | Display name of the effect (e.g., 'Motion', 'Opacity') | |
| property_name | Yes | Display name of the property (e.g., 'Scale', 'Position', 'Opacity') |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-readOnly, non-destructive mutation. The description adds useful behavioral detail by enumerating accepted value shapes and stating that the operation verifies readback component by component. It does not cover permissions, failure modes, or reversibility, so it is not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first clause, followed by the accepted value shapes and readback verification. The single long sentence is dense but earns its clauses; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. Annotations cover safety hints, and the description supplies value-shape semantics and readback verification. It omits prerequisites such as the effect already existing on the clip, but is otherwise sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema itself already documents all four parameters including the value type details. The description repeats the same scalar/boolean/string/vector/MOGRT JSON information, adding little beyond the structured schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: setting an effect property value on a clip. It does not explicitly name or differentiate from siblings like get_effect_properties or set_clip_properties, though the scope is clear enough from 'effect property on a clip.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no exclusion conditions, and no alternatives. It only lists accepted value types, which is parameter semantics rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_footage_interpretationSet Footage InterpretationB
Set footage interpretation settings for a project item and read them back, including fields that were not meant to change
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| frame_rate | No | Override frame rate | |
| pixel_aspect_ratio | No | Pixel aspect ratio (1.0 = square pixels) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description carries a lower burden. It adds that settings are read back after writing, but the phrase 'including fields that were not meant to change' is ambiguous and could mislead an agent about side effects; it never addresses idempotency, which the annotations flag as false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence stating the action first and the readback second, with no filler. The trailing clause is slightly confusing but the sentence remains compact and well-ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover safety. What remains thin is routing (no alternative named) and the vague readback clause; the definition is adequate but leaves gaps for a mutation tool with several close siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so item_id, frame_rate, and pixel_aspect_ratio are fully documented in the schema (including the '1.0 = square pixels' note). The description adds no parameter-level meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Set') and resource ('footage interpretation settings') scoped to 'a project item', so an agent can identify the operation. It does not, however, name or differentiate itself from siblings like get_footage_interpretation or set_override_frame_rate, which touch the same concepts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus get_footage_interpretation or the override variants (set_override_frame_rate, set_override_pixel_aspect_ratio). The closest thing to usage context is the readback mention, which is a behavior, not a when-to-use condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_frame_blendSet Frame BlendB
Enable or disable frame blending on a clip. Uses QE DOM.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes | True to enable frame blending, false to disable | |
| node_id | Yes | Node ID of the clip |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare it is a non-idempotent, non-destructive write, so the safety profile is covered. The description adds only that it uses QE DOM, which hints at a legacy/implicit-context API but does not explain what that implies for reliability, required Premiere state, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and resource; nothing is padded. The QE DOM note is terse and arguably useful, though slightly cryptic for a reader who does not know the abbreviation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple two-parameter mutation with an output schema, so return values need no explanation. Still missing are the operational constraints that matter for a QE DOM call — whether the sequence/clip must be open and selected, and what happens if the DOM object is unavailable — leaving it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage on both parameters (node_id and enabled), the schema already carries the semantics. The description restates the toggle concept without adding format, ID sourcing, or behavior detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb pair (enable/disable) and the exact resource and scope (frame blending on a clip), which is unambiguous. It does not, however, differentiate itself from near neighbors such as set_time_interpolation or set_blend_mode, which an agent might confuse with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for this tool versus alternatives like set_blend_mode (visual blending) or set_time_interpolation, and no prerequisites such as the clip needing to be in the active sequence. The agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_graphics_white_luminanceSet Graphics White LuminanceA
Set the graphics white luminance value (HDR setting) for the project
| Name | Required | Description | Default |
|---|---|---|---|
| luminance | Yes | White luminance value in nits |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false. The description adds only the project-level HDR context, but does not disclose accepted value ranges, persistence behavior, permissions, or side effects beyond what the annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no redundant phrases. It states the action and scope immediately and is appropriately sized for a one-parameter setter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity, the presence of an output schema, complete parameter schema coverage, and annotations covering safety traits, the description is largely complete. It could be improved by noting the valid luminance range or project-specific prerequisites, but it provides enough context for an agent to call the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameter's unit ('nits') is already documented by the schema. The description reinforces that this is the graphics white luminance HDR setting but adds no syntax, range, or formatting details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Set the graphics white luminance value') with clear project scope and HDR context. It distinguishes itself from the sibling getter get_graphics_white_luminance by the verb 'set'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no alternatives. It only states what the tool does, not when an agent should choose it over the related getter or other sequence setting tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_item_in_outSet Item In OutA
Set in and/or out points on a project item in the project panel (marks source range for editing).
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| in_seconds | No | In point in seconds | |
| media_type | No | Media type: 1=video, 2=audio, 4=all (default: 4) | |
| out_seconds | No | Out point in seconds |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is covered. The description adds the useful detail that in and/or out may be set partially, but says nothing about persistence, undoability, or what happens to the untouched point.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the operation and its effect front-loaded; nothing is wasted, though it is on the lean side for a 4-parameter mutation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, annotations covering the safety profile, and full schema description coverage, the description only needs to convey purpose and scope, which it does. It stops just short of routing the agent away from the near-identical sequence-level siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline of 3 applies. The description's mention of 'in and/or out points' loosely maps to in_seconds/out_seconds but adds no format or defaulting detail, and media_type is not referenced at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Set) and resource (in/out points on a project item in the project panel), and the parenthetical clarifies the effect (marks source range for editing). It does not explicitly name the sibling it differs from (set_sequence_in_out_points / clear_item_in_out), so an agent must infer the item-vs-sequence distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(marks source range for editing)' implies the context of use, but there is no explicit when-to-use, when-not, or named alternative such as clear_item_in_out or set_source_in_out. Usage is only inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_keyframe_interpolationSet Keyframe InterpolationA
Set the interpolation type of an existing keyframe (Linear, Hold, or Bezier). Premiere exposes no interpolation readback, so a write is reported as committed_unverified.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| effect_name | Yes | Display name of the effect | |
| time_seconds | Yes | Seconds from the clip's start on the timeline (0 is the clip's first frame) of the keyframe | |
| interpolation | Yes | Interpolation type | |
| property_name | Yes | Display name of the property |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly=false, idempotent=false, destructive=false), the description adds genuinely valuable behavior: Premiere has no interpolation readback, so writes return committed_unverified. That tells the agent not to expect verification. It does not say what happens if no keyframe exists at the given time or whether the existing value is overwritten.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, the action stated first and the caveat second, with no filler. Every sentence carries information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description still flags the unverified-commit status, which is the key operational risk for a write with no readback. Minor gaps remain around failure behavior when the target keyframe does not exist at time_seconds.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so node_id, effect_name, property_name, time_seconds and interpolation are already documented in the schema, including the enum. The description only restates the enum values and adds no new meaning (e.g., time_seconds origin or effect/property name resolution), so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Set the interpolation type of an existing keyframe') and enumerates the three supported modes, so the agent knows exactly what is mutated. It does not explicitly distinguish itself from the nearby set_time_interpolation sibling or note that keyframes must first be created with add_keyframe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'of an existing keyframe' implies a precondition (the keyframe must already exist), which is useful routing context toward add_keyframe, but no explicit when-to-use or when-not guidance is given. Alternatives such as set_time_interpolation or get_keyframes are never mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_metadataSet MetadataA
Update project metadata on a project item. Supply complete metadata_xml plus updated_fields, or field_name and value to read-modify-write one XMP/project property through AdobeXMPScript with field readback. The project packet (default) stays in the project; packet 'xmp' is written by Premiere into the source media file on disk and requires the filesystem capability.
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | Replacement value for field_name. Maximum 4096 characters. | |
| packet | No | Packet for field_name writes. Default project (Premiere-private metadata). | |
| item_id | Yes | Node ID or name of the project item | |
| field_name | No | Named field to update (for example Column.Intrinsic.LogNote). Used with value; cannot be combined with metadata_xml. | |
| metadata_xml | No | Complete Project Metadata XML previously read from get_metadata, with the intended field values applied. | |
| expected_value | No | Optional compare-and-set guard for field_name writes. | |
| updated_fields | No | Exact Project Metadata field paths changed in metadata_xml (for example, Column.Intrinsic.Description). | |
| field_namespace | No | XMP namespace URI or alias (premiere, dc, xmp, exif). Default premiere for project packet; required for xmp. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false. The description adds real context beyond that: the xmp packet persists to the source media file on disk, requires the filesystem capability, and writes go through AdobeXMPScript with field readback. It does not explain the non-idempotent behavior, which is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the primary effect before the modality and packet details. Dense but every clause carries information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and annotations cover the safety profile. The description supplies the write mode, persistence target, and capability requirement, leaving only sibling disambiguation unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the per-parameter docs already carry the load. The description still adds relationship semantics the schema does not: which parameter groups combine (metadata_xml with updated_fields; field_name with value) and the packet-dependent default for field_namespace.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Update project metadata on a project item') and covers both project and xmp packet targets. However, it never names its near-identical siblings (set_xmp_metadata, set_project_panel_metadata, get_metadata), so an agent must infer which metadata writer to use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the two mutually exclusive write modes (metadata_xml + updated_fields vs field_name + value) and gives the condition selecting packet 'xmp' (writes into source media, requires filesystem capability). It stops short of any when-not-to-use or alternative-tool guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_offlineSet OfflineA
Set a project item offline, or ask Premiere to refresh it back online when offline is false.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| offline | No | true to take media offline (default); false to refresh an existing offline item |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation is not read-only, not destructive, not open-world, and not idempotent. The description adds that false refreshes an existing offline item, but does not disclose permissions, side effects, or idempotency behavior beyond what annotations and schema already provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that says what the tool does and covers both boolean modes without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter mutation tool with an output schema and rich annotations, the description is nearly sufficient. It explains both offline and online modes, though it does not explicitly restate the default offline=true behavior that the schema provides.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so item_id and offline are already well documented, including the default true and false-refresh behavior. The description restates the false case but adds no format, syntax, or semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: setting a project item offline, with an inverse online-refresh behavior. This clearly distinguishes the tool from media-inspection siblings, but it does not explicitly name alternative tools such as check_offline_media or refresh_media.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an implied usage condition by explaining that offline=false asks Premiere to refresh an existing offline item back online. However, it gives no explicit when-to-use guidance or alternatives relative to siblings like check_offline_media or relink_media.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_override_frame_rateSet Override Frame RateA
Override the frame rate of a project item (useful for image sequences or misinterpreted media) and read it back
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| frame_rate | Yes | Frame rate to set (e.g., 23.976, 24, 29.97, 30, 60) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is covered. The description adds that the tool 'read[s] it back', disclosing a return/confirmation behavior beyond the annotations, though it does not explain how the override interacts with existing clip timing or whether it can be reverted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the core action first and a compact parenthetical that earns its place by adding use-case context. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with full schema coverage, an output schema, and annotations covering safety and idempotency, the description supplies everything needed to call it correctly. Only the interaction with existing media timing is left implicit, a minor gap given the rest of the metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters carry their own descriptions (node ID/name, example frame rates), so the schema does the heavy lifting. The description adds no format or constraint detail beyond that, which is the expected baseline when the schema is complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Override) and resource (frame rate of a project item), and the parenthetical clarifies the exact scenario. The phrase 'project item' cleanly distinguishes it from the sibling set_sequence_frame_rate, which operates at sequence level.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical 'useful for image sequences or misinterpreted media' tells the agent when this tool is appropriate, which is real routing guidance. It stops short of naming alternatives or stating when not to use it (e.g. versus set_sequence_frame_rate or set_footage_interpretation), so it falls just below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_override_pixel_aspect_ratioSet Override Pixel Aspect RatioB
Override the pixel aspect ratio of a project item and read it back
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| numerator | Yes | PAR numerator (e.g., 1 for square pixels) | |
| denominator | Yes | PAR denominator (e.g., 1 for square pixels) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the mutation/safety profile is covered. The description adds genuine value with 'and read it back', disclosing that the applied value is echoed after the write, but it says nothing about persistence, permissions, or interaction with existing footage interpretation metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It is terse to the point of omitting usage context, but the sentence itself earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is not required. However, for a non-idempotent override write, the description leaves the agent without disambiguation against the sequence-level PAR tool or guidance on when an override is appropriate, which is a real gap for this tool family.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each of the three parameters documented including examples ('1 for square pixels'). The description adds nothing beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Override') plus resource ('pixel aspect ratio of a project item'), which is unambiguous. The 'project item' scoping implicitly separates it from the sibling set_sequence_pixel_aspect_ratio, but the description never names that sibling or states the distinction explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the closely related set_sequence_pixel_aspect_ratio or set_footage_interpretation alternatives. The agent must infer which of these PAR-related tools applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_playhead_positionSet Playhead PositionB
Set the playhead (CTI) position, clamp it to the active sequence's end, and read the stored position back.
| Name | Required | Description | Default |
|---|---|---|---|
| time_seconds | Yes | Time position in seconds to move the playhead to (0 to the sequence end) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation/safety profile (readOnlyHint=false, destructiveHint=false), lowering the bar. The description adds two genuinely useful behaviors beyond that: the value is clamped to the sequence end, and the stored position is read back for verification. It does not state the active-sequence requirement or whether the change is undoable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with three tightly ordered clauses (set, clamp, read back) and zero filler. Nothing is wasted or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the clamp/readback behavior is covered. The only gap is the unstated prerequisite of an active sequence and the relationship to navigate_playhead, which for a one-parameter tool is a minor omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter already documents the seconds range, so the schema carries the load. The description only reinforces the clamping bound with no additional syntax or format detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Set the playhead (CTI) position') and adds the distinguishing CTI synonym. However, it does not differentiate itself from close siblings like navigate_playhead or get_playhead_position, which an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite (an active sequence must exist), and no reference to the alternative navigate_playhead tool that also moves the playhead. The agent is left to infer selection from names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_poster_frameSet Poster FrameA
Unavailable: Premiere's scripting API cannot set a project item's poster frame. Fails without changing the item; set it in the Project panel (Shift+P).
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| time_seconds | Yes | Time in seconds for the poster frame |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false/destructiveHint=false, and the description adds the critical behavioral fact those annotations cannot convey: the call is a guaranteed failure that leaves the item unchanged. Disclosing the no-op/failure semantics is exactly the context annotations omit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence leads with unavailability, then states behavior and the workaround. No filler, every clause carries load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a stub with an output schema already present, the description supplies everything an agent needs: it cannot succeed, it changes nothing, and where to do the task manually. Nothing relevant is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for both item_id and time_seconds, so parameters are already fully documented. The description adds no parameter detail, but none is needed given the tool never succeeds; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the exact operation, the platform limitation that blocks it ('Premiere's scripting API cannot set a project item's poster frame'), and the observable outcome ('Fails without changing the item'). An agent knows immediately this is a non-functional stub and cannot confuse it with working siblings like set_clip_properties or set_project_panel_metadata.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells the agent when not to use this tool and names the concrete alternative: do it in the Project panel with the Shift+P shortcut. There is no ambiguity about routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_project_item_audio_channel_mappingSet Project Item Audio Channel MappingB
Map one output audio channel of a project item to a source channel using Premiere's documented AudioChannelMapping API.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Project item node ID or exact name | |
| channel_index | Yes | Zero-based output channel index to configure | |
| source_channel_index | Yes | Zero-based source channel index to map |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false. The description adds one useful behavioral nuance: it maps exactly ONE output channel, implying an incremental per-channel set rather than a wholesale remap. It does not state persistence, side effects on linked clips, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence, front-loaded with the action and the objects it acts on. It wastes no words, though it is arguably too sparse to be maximally useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the annotations cover the safety profile. However, for a mutation tool that changes audio routing on a project item, the description says nothing about prerequisites (does the item need multiple audio channels?) or scope of effect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters including the zero-based indexing convention. The description only loosely restates output/source channels and adds no format or constraint detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: 'Map one output audio channel of a project item to a source channel' tells the agent exactly what changes. It is clearly distinguishable from sibling setters like set_sequence_audio_settings or adjust_audio_levels, though it names no sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, no prerequisites, no alternatives. The agent is not told when channel mapping is the right tool versus sequence-level audio settings or clip pan/volume tools. Usage must be inferred from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_project_panel_metadataSet Project Panel MetadataA
Set the project panel metadata/column configuration from XML and verify that Premiere reads back the exact XML
| Name | Required | Description | Default |
|---|---|---|---|
| metadata_xml | Yes | XML string containing the project panel metadata configuration |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (not read-only, not idempotent, not destructive), so the description's real contribution is the read-back verification step, which is genuinely useful. It still doesn't say whether the existing column configuration is replaced or merged, which matters for a non-idempotent setter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the action and resource, with the verification clause appended. No wasted words, though the slash-joined 'metadata/column configuration' is slightly dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutating tool with full schema coverage, an output schema (so return values need no explanation), and annotations covering the safety profile, the description provides what an agent needs to call it. The only gap is the absence of alternatives guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the schema already documents metadata_xml. The description restates 'from XML' but adds no format, schema, or expected XML structure beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Set'), a specific resource ('project panel metadata/column configuration'), the input form (from XML), and an extra verification behavior. An agent can distinguish it from the sibling get_project_panel_metadata 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It never says when to use this versus the read-side sibling get_project_panel_metadata, nor when a panel metadata rewrite is warranted. Usage is only implied by the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_project_scratch_diskSet Project Scratch DiskA
Set the project's scratch disks for captured video, captured audio, video previews and audio previews in one call. Each path must be an existing folder or "SameAsProject"; any rejected path fails the call.
| Name | Required | Description | Default |
|---|---|---|---|
| audio_previews | No | Path for audio previews | |
| captured_audio | No | Path for captured audio | |
| captured_video | No | Path for captured video | |
| video_previews | No | Path for video previews | |
| save_and_verify | No | Save the project afterwards and confirm the saved scratch-disk settings (default: false). Premiere has no scratch-disk getter, so without this the result is unverified. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the mutation profile (readOnly=false, destructive=false, idempotent=false), so safety is largely covered structurally. The description adds genuinely useful behavior beyond that: paths must be an existing folder or the 'SameAsProject' sentinel, and any rejected path fails the whole call (all-or-nothing semantics). It stops short of describing authorization or persistence requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste. The scope and the four targets come first, the failure semantics follow, and the atomicity constraint is placed where it matters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. The description covers the atomicity and path-validation rules well; only prerequisites (open project, permission needs) and the relationship to set_scratch_disk_path are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description still adds value by defining the 'SameAsProject' sentinel and the existing-folder validation rule that the per-parameter schema strings do not mention. It does not clarify optionality (all five params are non-required) or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Set) and resource (project's scratch disks), enumerates the four disk targets, and the phrase 'in one call' differentiates it from the sibling set_scratch_disk_path (singular) and get_project_scratch_disks (read). An agent can pick it 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the enumeration of the four disk types, but the description never states when to prefer this over set_scratch_disk_path, nor any prerequisites such as a project being open. No when-not guidance is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_scale_to_frame_sizeSet Scale To Frame SizeA
Enable 'Scale to Frame Size' so media fills the sequence frame. Accepts a timeline clip node ID (active sequence, same IDs as get_clip_properties) or a project item node ID or name. A timeline clip is resolved first and its source project item is updated through ProjectItem.setScaleToFrameSize(). ExtendScript exposes no getter for this flag, so the result is committed_unverified unless the timeline clip's Motion > Scale reads back changed (verified). Check with get_clip_properties.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Timeline clip node ID in the active sequence, or project item node ID or name |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavior beyond the annotations: the update routes through ProjectItem.setScaleToFrameSize(), ExtendScript exposes no getter for the flag, so the result is committed_unverified unless the timeline clip's Motion > Scale reads back changed. This is exactly the kind of outcome/auth/uncertainty disclosure annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the effect, then inputs, then the commit/verify mechanics. Dense but each sentence carries distinct information; slight extra compression is possible but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter mutation with an output schema, the description covers the input contract, resolution behavior, and verification pathway. The remaining open question is which sibling scaling tool to prefer for related operations, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real semantics: the same node IDs as get_clip_properties, the clip-vs-project-item resolution order, and the name fallback. That is more than the schema's one-line parameter description conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and effect ('Enable Scale to Frame Size so media fills the sequence frame'), which is distinguishable from sibling scaling tools like set_clip_scale or set_scale_width_height that set arbitrary dimensions. An agent can identify the operation 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains the accepted input forms (timeline clip ID, project item ID, or name) and the resolution precedence: timeline clip first, then its source project item. It also names get_clip_properties as the verification path. It stops short of naming alternative scale tools or stating when not to use this one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_scale_width_heightSet Scale Width HeightA
Set independent width and height scale on a clip. Turns Uniform Scale off, writes Motion > Scale Width (width) and Motion > Scale (which Premiere uses as the height once Uniform Scale is off), then reads all three back. Fails when a value does not read back.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| scale_width | Yes | Scale width percentage (0-10000) | |
| scale_height | Yes | Scale height percentage (0-10000). Written to Motion > Scale, which is the height when Uniform Scale is off. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses key behavioral traits: it turns Uniform Scale off, writes to specific Motion properties, reads all three values back, and fails when a value does not read back. This gives the agent important side-effect, verification, and failure-condition context that the annotations do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tightly written sentences, front-loaded with the primary action and followed by the exact write sequence and failure condition. Every sentence contributes necessary operational detail with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the mutation nature of the tool, the annotations, the fully described input schema, and the presence of an output schema, the description is complete. It covers the key side effect, the exact property writes, the read-back verification, and the failure mode, leaving nothing critical for the agent to guess.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters. The description adds meaningful mapping detail beyond the schema by clarifying that width is written to Motion > Scale Width and height is written to Motion > Scale when Uniform Scale is off, which helps the agent understand the underlying Premiere behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: set independent width and height scale on a clip. It also distinguishes this operation from uniform scaling by explicitly noting that it turns Uniform Scale off, which separates it from siblings like set_uniform_scale and set_clip_scale.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case through its mechanism (independent width and height scaling, Uniform Scale off), but it does not explicitly state when to choose this tool over alternatives like set_clip_scale or set_uniform_scale. No exclusions or prerequisites are given, so the agent must infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_scratch_disk_pathSet Scratch Disk PathB
Set one project scratch disk (captured media, previews, auto-save, CC Libraries or Motion Graphics template media) to an existing folder or "SameAsProject", using Premiere's ScratchDiskType constants.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path of an existing folder, or "SameAsProject" | |
| save_and_verify | No | Save the project afterwards and confirm the saved scratch-disk settings (default: false). Premiere has no scratch-disk getter, so without this the result is unverified. | |
| scratch_disk_type | Yes | Which scratch disk to set |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false, openWorldHint=false), so the bar is lower. The description adds only the constraint that the target must be an existing folder or 'SameAsProject', which the schema's path description already states; it does not disclose persistence behavior or verification needs beyond what the save_and_verify parameter documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, tightly written sentence that front-loads the verb and resource, then enumerates the covered disk types with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the parameters are fully covered by the schema. The remaining gap is routing: with near-duplicate siblings ('set_project_scratch_disk', 'get_project_scratch_disks') and a mutation-adjacent tool, the description should clarify how this differs, and it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description restates the enum categories and the 'SameAsProject' value, but adds no semantics beyond the schema (which already documents the enum, the path format, and the save_and_verify tradeoff).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Set) and resource (one project scratch disk) and enumerates which disk types are covered, mapping to the ScratchDiskType constants. However, it does not differentiate itself from the close sibling 'set_project_scratch_disk', which appears to address the same resource, leaving ambiguity about which tool an agent should pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use context, no prerequisites, and never mentions the obvious alternatives ('set_project_scratch_disk', 'get_project_scratch_disks') that exist among siblings. An agent must infer routing from name similarity alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_sequence_audio_settingsSet Sequence Audio SettingsB
Change audio settings of the active sequence (sample rate, channel type).
| Name | Required | Description | Default |
|---|---|---|---|
| sample_rate | No | Audio sample rate (e.g., 44100, 48000, 96000) | |
| channel_type | No | Channel type: 0=Mono, 1=Stereo, 2=5.1, 3=Multichannel |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish that this is a non-read-only, non-idempotent, non-destructive mutation. The description adds only the 'active sequence' scoping constraint and nothing about reversibility, whether unset fields are preserved, or side effects on existing clips. With annotations carrying the safety profile, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the resource front-loaded and the affected fields parenthesized. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and the two optional parameters are fully covered by the schema. The only gap is the lack of usage/routing context, which keeps it from a 5 for a tool embedded in a very dense set of set_sequence_* siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (sample_rate, channel_type with its 0-3 mapping values) are fully documented in the schema. The description merely restates the two field names and adds no format or constraint detail beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Change') and resource ('audio settings of the active sequence') and enumerates the affected fields (sample rate, channel type). This clearly separates it from siblings like set_sequence_frame_rate and set_sequence_resolution, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no routing versus sibling inspectors such as inspect_sequence_av_settings or the broader set_sequence_settings. The agent must infer that this is the narrow audio-only setter from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_sequence_display_formatSet Sequence Display FormatB
Set the timecode display format for the active sequence.
| Name | Required | Description | Default |
|---|---|---|---|
| audio_display_format | No | Audio: 0=Audio Samples, 1=Milliseconds | |
| video_display_format | No | Video: 0=24 Timecode, 1=25 Timecode, 2=29.97 Drop-frame, 3=29.97 Non-drop-frame, 4=30 Timecode, 5=50 Timecode, 6=59.94 Drop-frame, 7=59.94 Non-drop-frame, 8=60 Timecode, 9=Frames, 10=Feet+Frames 16mm, 11=Feet+Frames 35mm |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=false, and idempotentHint=false. The description adds the scoping detail that the change applies to the active sequence, but it does not explain persistence, error behavior, or whether the setting affects only display versus underlying media.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the action and target. Every word is necessary and there is no redundant or vague filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, low-complexity setter with rich schema descriptions, annotations, and an output schema, the definition is nearly complete. It could mention that audio and video formats are independently settable or what happens when parameters are omitted, but those details are arguably covered by the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both audio_display_format and video_display_format are fully documented in the schema, including their numeric mappings. The description adds no additional parameter meaning beyond what the schema already provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Set the timecode display format for the active sequence.' It clearly distinguishes this from sibling setters like frame rate, resolution, and audio settings, though it does not explicitly name an alternative tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as set_sequence_settings or set_sequence_frame_rate. The phrase 'for the active sequence' implies a prerequisite, but no explicit when/when-not instruction is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_sequence_field_typeSet Sequence Field TypeC
Set the field order of the active sequence.
| Name | Required | Description | Default |
|---|---|---|---|
| field_type | Yes | 0=No Fields (Progressive), 1=Upper Field First, 2=Lower Field First |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered. Beyond that, the description adds only the implicit 'active sequence' scope; it says nothing about whether the change is persistent, requires saving, or affects existing rendered media. For a mutation tool this leaves meaningful behavioral questions unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler and the operation front-loaded. It is efficient, though arguably under-specified rather than intentionally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values need no explanation, but for a sequence-wide mutation the description omits scope impact, persistence, and how it relates to sibling sequence-setting tools. Given the crowded sibling namespace, this is too thin to fully orient an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the sole parameter's enum values (0=progressive, 1=upper field first, 2=lower field first) are fully documented in the schema. The description adds no parameter meaning at all, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Set) and the targeted property (field order) scoped to 'the active sequence', which is enough for an agent to know this is a sequence-level setting mutation. It is not tautological with the name, but it does not distinguish itself from close siblings such as set_sequence_settings or set_sequence_display_format.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites (an active sequence must exist), and no pointer to overlapping siblings like set_sequence_settings or inspect_sequence_av_settings. The agent is left to infer all routing decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_sequence_frame_rateSet Sequence Frame RateC
Change the frame rate of the active sequence.
| Name | Required | Description | Default |
|---|---|---|---|
| frame_rate | Yes | New frame rate (e.g., 23.976, 24, 25, 29.97, 30, 50, 59.94, 60) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is covered. The description adds only the 'active sequence' target, saying nothing about whether existing clips are conformed, retimed, or left untouched — a meaningful behavioral unknown for this mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
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 the brevity contributes to the missing usage and behavioral context rather than being optimized for it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering the safety profile, the definition is minimally sufficient to call the tool. It does not resolve the sibling overlap (set_override_frame_rate, set_sequence_settings) or note any effect on existing sequence content, which leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter includes an example list of common frame rates plus min/max bounds, so the schema does the heavy lifting. The description adds no syntax or format guidance beyond it, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Change) and resource (frame rate of the active sequence), which is clear enough to act on. It does not distinguish itself from close siblings like set_sequence_resolution or set_override_frame_rate, so an agent must infer which one applies from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when/when-not guidance and never mentions nearby alternatives such as set_override_frame_rate or set_sequence_settings, which affect frame-rate-adjacent settings. The agent is left to guess which frame-rate tool is correct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_sequence_in_out_pointsSet Sequence In Out PointsA
Set the sequence in and out points (for an export range, etc.) and read them back. out_seconds must be after in_seconds and not past the sequence end.
| Name | Required | Description | Default |
|---|---|---|---|
| in_seconds | Yes | In-point in seconds (0 or later) | |
| out_seconds | Yes | Out-point in seconds; after in_seconds and not past the sequence end |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a non-read-only, non-idempotent, non-destructive mutation. The description adds the validation rule ('out_seconds must be after in_seconds and not past the sequence end') and the read-back behavior, which is useful, but discloses nothing about required context (active sequence, edit permissions) or what existing in/out points are replaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed by the key constraint. No filler, no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the critical ordering/bounds constraint is stated. What remains missing is the operational precondition (an active sequence) and the relationship to sibling in/out tools, but for a two-parameter mutation this is largely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameter descriptions already state the same constraints the prose repeats. The description adds no syntax, unit, or default detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Set the sequence in and out points') plus a secondary effect ('read them back'), which an agent can map to the sequence-level in/out range concept. It stops short of distinguishing itself from close siblings like set_source_in_out, set_item_in_out, or clear_sequence_in_out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(for an export range, etc.)' gives a hint of intended use, but there is no explicit when-to-use or when-not guidance, and no naming of the alternatives (get_sequence_in_out_points, clear_sequence_in_out) that an agent might confuse it with.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_sequence_pixel_aspect_ratioSet Sequence Pixel Aspect RatioA
Change the pixel aspect ratio of the active sequence, or return a capability error when the legacy host does not expose a writable setting.
| Name | Required | Description | Default |
|---|---|---|---|
| ratio | Yes | Pixel aspect ratio string (for example '1.0' for square pixels or '1.4222' for 16:9 DV). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=false and destructiveHint=false already declaring this as a non-destructive write, the description adds real value by disclosing the legacy-host failure mode — it returns a capability error rather than silently failing. It stops short of saying whether the change is undoable or whether it affects existing clips.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence that front-loads the primary action and appends the failure condition. No filler, nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and annotations cover the safety profile. The description closes the main remaining gap by explaining the error path; only undo/scope details for a mutation are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already gives format examples ('1.0', '1.4222'), so the description adds nothing about the ratio parameter. Baseline 3 is appropriate for a single fully-documented parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a precise verb (Change) and resource (pixel aspect ratio of the active sequence), so the operation is unmistakable. It does not, however, distinguish itself from the near-sibling set_override_pixel_aspect_ratio, which an agent could plausibly confuse with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what happens but never says when to reach for this tool versus set_override_pixel_aspect_ratio, set_sequence_resolution, or set_sequence_frame_rate. No prerequisites or exclusions are given, leaving the agent to infer routing from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_sequence_resolutionSet Sequence ResolutionC
Change the resolution (frame size) of the active sequence.
| Name | Required | Description | Default |
|---|---|---|---|
| width | Yes | Width in pixels | |
| height | Yes | Height in pixels |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, so the safety profile is partly covered. The description adds only a parenthetical defining frame size and omits meaningful behavior: whether resizing resamples clips, whether it can be undone, and whether it requires the sequence to be active. Minimal added value beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It is tight, though at the cost of the behavioral detail a mutation tool would benefit from.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and annotations carry part of the safety profile. The tool is simple (2 params, no nesting), but for a sequence-wide mutating operation the description still leaves unaddressed prerequisites and side effects, making it merely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the schema already documents width and height as pixel dimensions. The description's '(frame size)' phrasing adds a small interpretive gloss but no units beyond pixels, no valid-range or aspect-ratio coupling guidance, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Change) and resource (resolution/frame size) scoped to the active sequence, which is enough to distinguish it from sibling setters like set_sequence_frame_rate or set_sequence_pixel_aspect_ratio. It stops short of explicitly contrasting with those siblings, so it is clear but not maximally differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus alternatives such as set_sequence_frame_rate, set_sequence_pixel_aspect_ratio, or set_scale_to_frame_size, nor any prerequisite or state condition (e.g., sequence must be open/active). The agent gets a purpose but no routing context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_sequence_settingsSet Sequence SettingsC
Modify and read back sequence frame-size settings.
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | Frame width in pixels | |
| height | No | Frame height in pixels | |
| sequence_id | No | Sequence name or ID. Uses active sequence if omitted. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), so the description's only added behavioral note is the 'read back' phrase, which is redundant given an output schema exists. It says nothing about permissions/undo, partial updates (width-only or height-only), or effects on existing clip framing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, which is structurally fine, but it is so thin (and the 'read back' clause so ambiguous) that it borders on under-specification rather than crisp conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with several overlapping siblings, the description omits the two things an agent most needs: how it differs from set_sequence_resolution and whether omitting width or height is allowed. The output schema covers return values, but the routing and partial-update gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already documents width, height, and sequence_id semantics (including the active-sequence default). The description's 'frame-size' phrasing loosely maps to width/height but adds no format or constraint detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Modify') and resource ('sequence frame-size settings'), plus a read-back behavior. However, 'frame-size' is not clearly distinguished from the sibling 'set_sequence_resolution', and several other siblings (set_sequence_pixel_aspect_ratio, set_sequence_field_type, set_sequence_display_format) touch the same settings surface, so an agent cannot reliably tell which tool owns width/height from this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no named alternatives, despite a large sibling set containing a near-duplicate (set_sequence_resolution) and a read counterpart (get_sequence_settings). The agent must infer routing entirely on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_source_in_outSet Source In OutA
Set in and/or out points on the clip currently open in the Source Monitor.
| Name | Required | Description | Default |
|---|---|---|---|
| in_seconds | No | In point in seconds. Provide this, out_seconds, or both. | |
| out_seconds | No | Out point in seconds. Provide this, in_seconds, or both. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare it is a non-read-only, non-destructive, non-idempotent, closed-world mutation, so the safety profile is covered. The description adds the useful precondition that a clip must be open in the Source Monitor, but says nothing about persistence, error behavior when no clip is open, or reset semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the scope qualifier is placed after the verb+resource so the core action reads first.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with an output schema and full annotation coverage, the description supplies the key missing context (the Source Monitor precondition) and correctly leaves return values to the output schema. Only error/edge-case behavior is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter already documents itself ('Provide this, out_seconds, or both'). The description's 'in and/or out' mirrors the anyOf constraint but adds no syntax, units, or format detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (set), resource (in/out points), and scope (clip currently open in the Source Monitor), which cleanly separates it from set_sequence_in_out_points and set_item_in_out. It does not explicitly name those siblings, but the target object is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'currently open in the Source Monitor' implies the precondition for use, but there is no explicit when-to-use/when-not guidance or pointer to the sequence/item in-out siblings. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_start_timeSet Start TimeB
Set the start time (timecode offset) for a project item
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| start_seconds | Yes | Start time in seconds |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the mutation safety profile is covered. The description adds target scope and value semantics ('timecode offset'), but it does not disclose side effects, persistence, auth needs, or whether linked items are affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no redundant or wasted wording. It communicates the core operation immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists and annotations cover the basic mutation safety profile, so return values need not be explained. However, for a tool surrounded by near-neighbor setters, the definition is still thin on routing and behavioral context, making it adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents item_id and start_seconds. The parenthetical '(timecode offset)' adds minor interpretive context beyond 'Start time in seconds', but not enough to raise the baseline for fully covered parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Set') and resource ('start time / timecode offset') scoped to a 'project item'. This distinguishes it from generic setters, but it does not explicitly name or differentiate itself from close siblings such as set_clip_start_time.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no alternatives. It only identifies the target scope ('for a project item'), which is not enough to route an agent among the many sibling setters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_target_trackSet Target TrackA
Target or untarget one video or audio track for source-patched insert/overwrite edits. Premiere allows several tracks of a type to be targeted at once, so by default (exclusive=true) targeting a track also untargets every other track of the same type. Reads back every track of that type and reports verified only when the readback matches the requested state; otherwise committed_unverified or an error.
| Name | Required | Description | Default |
|---|---|---|---|
| targeted | Yes | Whether to target (true) or untarget (false) the track | |
| exclusive | No | When targeting (targeted=true), also untarget every other track of the same type so only this track is targeted (default: true). Ignored when targeted=false. | |
| track_type | Yes | Track type | |
| track_index | Yes | Track index (0-based) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as a non-read-only, non-idempotent, non-destructive write, but the description adds genuinely useful behavior: Premiere allows multiple targeted tracks, exclusive=true untargets all other tracks of the same type, and the tool reads back state and reports verified / committed_unverified / error. That verification-outcome disclosure is context annotations cannot provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core action and the exclusive-by-default caveat before the verification detail. No filler, though the final sentence about readback states is somewhat packed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers targeting semantics, the exclusive default, and the verification outcomes, and an output schema already exists so return shapes need no exposition. Minor gaps remain (e.g. which sequence is affected, undo/rollback behavior), so a 4 rather than 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the description largely restates schema content (exclusive default, targeting semantics) rather than adding new meaning. Baseline 3 is appropriate when the schema already documents every parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb pair (target/untarget) and resource (one video or audio track) plus the workflow context (source-patched insert/overwrite edits). It implicitly differentiates from siblings such as set_all_tracks_targeted and get_target_tracks by emphasizing a single track, but never names an alternative, so it falls 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for when to use it (to prepare a track for source-patched insert/overwrite) and explains the exclusive default and how it behaves when targeted=false. No explicit when-not guidance or named alternative tools, which keeps it at 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_time_interpolationSet Time InterpolationB
Set time interpolation type for a clip (Frame Sampling, Frame Blending, Optical Flow). Uses QE DOM.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| interpolation_type | Yes | 0 = Frame Sampling, 1 = Frame Blending, 2 = Optical Flow |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false). The description adds a useful implementation note ('Uses QE DOM'), which signals a specific underlying mechanism, but it does not explain the practical consequences, such as whether the change applies immediately or requires a render.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with zero filler; the action and the option set come first and the implementation note is secondary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the two required parameters are fully covered by the schema. The only gap is the absence of any usage or prerequisite context for a mutation tool, which a brief when-to-use sentence would have closed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents node_id and the numeric enum mapping for interpolation_type (0/1/2). The description restates the three mode names but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (Set time interpolation type) on a specific resource (a clip) and enumerates the three valid modes, so the agent knows exactly what changes. It does not distinguish itself from the closely related sibling set_frame_blend, which overlaps with one of the listed modes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs set_frame_blend, set_clip_speed_qe, or reverse_clip, all of which operate on the same clip timing domain. The agent has to infer applicability from the option list alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_transcode_on_ingestSet Transcode On IngestA
Request enabling or disabling project transcoding on ingest. Premiere exposes no getter for independent verification, so dispatch is reported as requested_unverified.
| Name | Required | Description | Default |
|---|---|---|---|
| enabled | Yes | True to enable transcode on ingest, false to disable |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds real behavioral context beyond the annotations: it is a dispatch/request rather than a confirmed write, and Premier exposes no getter, so the outcome is reported as requested_unverified. That disclosure materially affects how an agent should treat success. The annotations cover safety profile, and this goes further by flagging unverifiable state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero padding, and the primary action is front-loaded before the caveat. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full output schema, annotations, and complete parameter documentation, the description only needs to supply behavior the structured fields cannot. It does so by explaining the requested_unverified reporting semantics. Minor gap: no guidance on when this setting matters or how to confirm the resulting state afterward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter, and schema coverage is 100% — the schema description ('True to enable transcode on ingest, false to disable') fully documents it. The description adds nothing beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Request enabling or disabling project transcoding on ingest.' An agent knows exactly what the tool does. It does not name or differentiate against any sibling, but no sibling overlaps with transcoding-on-ingest, so confusion risk is low.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool does but never states when to reach for it versus alternatives (e.g., proxy workflows via manage_proxies, or import-time settings). No prerequisites or context conditions are given; usage is only implied by the project-level setting it names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_uniform_scaleSet Uniform ScaleA
Toggle uniform scale on a clip's Motion effect. When enabled, Scale Width and Scale Height are linked.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| uniform | Yes | true for uniform (linked), false for non-uniform (independent width/height) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly=false, destructive=false, openWorld=false), so the description only needs to add context. It usefully explains that enabling uniform links Scale Width and Scale Height, which is behavioral info beyond the annotations. However, it calls the operation a 'toggle' while the schema takes an explicit boolean, which is a mild wording inconsistency about how state is set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with the operation stated first and the effect of enabling it second. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with an output schema and full annotation coverage, the description supplies enough to invoke it correctly. It could mention the sibling tools it competes with, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: it explains that 'uniform=true' links Scale Width and Scale Height, clarifying the consequence of the boolean beyond the schema's own description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource (set uniform scale on a clip's Motion effect) and clarifies what the operation means. It is distinguishable from siblings like set_scale_width_height and set_clip_scale, though it does not explicitly contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and never names the alternative tools (set_scale_width_height, set_scale_width_height set_scale_width_height etc.) that an agent might confuse this with. Usage is only implied by the purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
setup_duckingSetup DuckingA
Build a verified Volume > Level keyframe curve for one audio clip. Ducking-window times are relative to that clip's start; overlapping or out-of-range windows are rejected before any keyframe write.
| Name | Required | Description | Default |
|---|---|---|---|
| base_db | No | Normal clip level in dB (defaults to 0; maximum +15 dB). | |
| node_id | Yes | Timeline audio-clip node ID. | |
| fade_seconds | No | Fade length on each side of a window in seconds (defaults to 0.2). | |
| ducking_windows | Yes | Non-overlapping windows during which this clip should be quieter. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the write/idempotency profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), lowering the bar. The description adds genuine behavioral context beyond that: windows are validated for overlap and range and 'rejected before any keyframe write', and times are clip-relative. It does not describe atomicity or partial-failure behavior, keeping 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero padding; the primary action is front-loaded and the validation constraint follows immediately. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description covers the core action plus its validation rule. For a 4-parameter tool with full schema coverage this is nearly sufficient, though it could note scope (single clip only) and the meaning of base_db versus ducked_db more explicitly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description's notes that times are clip-relative and that windows are rejected for overlap largely restate what the schema already documents (e.g., 'Window start, relative to clip start'), adding little semantic value beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Build a verified Volume > Level keyframe curve for one audio clip', which is far more concrete than a tautology. It implicitly separates itself from generic keyframe siblings like add_keyframe by framing the task around ducking windows, but it never names an alternative, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: the tool is for creating ducking curves on a clip. There is no explicit when-to-use versus when-to-use-something-else, and no mention of alternatives such as add_audio_keyframes or add_keyframe, so the agent must infer the choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_work_areaSet Work AreaB
Set the work area (bar) in and out points
| Name | Required | Description | Default |
|---|---|---|---|
| in_seconds | Yes | Work area in-point in seconds | |
| out_seconds | Yes | Work area out-point in seconds |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the safety profile is already covered. The description adds no behavioral context beyond that, such as whether existing work area is overwritten or any side effects. It neither contradicts nor enriches 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence with no wasted words. Front-loaded with the action and target. However, it is borderline under-specified, which slightly reduces its helpfulness as a standalone description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter setter with full schema coverage, output schema present, and annotations covering the safety profile, the description is sufficient for an agent to invoke it correctly. It could benefit from a brief note on context (e.g., needs an active sequence), but that is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters clearly documented in the schema. The description adds no additional meaning or syntax beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Set' and resource 'work area (bar) in and out points'. Distinguishes from get_work_area and other in/out setters (e.g., set_sequence_in_out_points) by specifying 'work area'. Doesn't explicitly name alternatives, but the name and description make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. The description only states what it does, leaving the agent to infer context from the sibling tools. No alternatives or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_workspaceSet WorkspaceA
Switch to a specific workspace layout (e.g., 'Editing', 'Color', 'Audio', 'Effects', 'Graphics')
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the workspace to activate (use get_workspaces to see available options) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the agent knows this mutates UI state non-destructively. The description adds nothing beyond that — it doesn't say whether the switch persists across sessions or is scoped per-project — so it earns only a modest credit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and resource first and examples in parentheses. Nothing superfluous.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter UI-state setter with an output schema and full schema coverage, the description covers what an agent needs to call it. Minor gaps remain (persistence scope, effect on the current layout) but are not blocking.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the param description already points to get_workspaces, which sets a baseline of 3. The description goes further by listing example workspace names ('Editing', 'Color', 'Audio', 'Effects', 'Graphics'), which is real added meaning since the schema defines no enum for this string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Switch to') and resource ('workspace layout') and gives concrete example values ('Editing', 'Color', 'Audio'). It does not differentiate from the sibling get_workspaces, which is the natural companion tool, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied — you call this to change the active workspace layout — but the description offers no explicit when-to-use, no prerequisites, and no mention of get_workspaces as the discovery alternative (that pointer lives only in the schema). Adequate but not instructive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_xmp_metadataSet Xmp MetadataA
Merge a raw XMP XML patch into a project item's existing XMP metadata without removing unrelated fields. WARNING: Premiere writes XMP into the source media file on disk (the file's metadata block and modification time change; picture and sound are untouched). Requires the filesystem capability.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Node ID or name of the project item | |
| xmp_xml | Yes | Well-formed XMP XML containing only the fields to add or replace |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes far beyond the annotations: it discloses that Premiere writes into the source media file on disk, that the metadata block and modification time change, that picture/sound are untouched, and that the filesystem capability is required. This is exactly the side-effect detail an agent needs before invoking a non-idempotent write.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, with the merge behavior front-loaded and the side-effect warning clearly marked. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the description covers the mutation's on-disk consequences and the required capability. Nothing material is missing for a 2-parameter write tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema already states that xmp_xml should contain 'only the fields to add or replace'. The description's 'raw XMP XML patch' and 'without removing unrelated fields' reinforce merge intent but add little beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (merge) plus resource (a project item's XMP metadata) and a precise scope qualifier ('without removing unrelated fields'). This clearly separates it from get_xmp_metadata, set_metadata, and set_project_panel_metadata without needing to name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The merge semantics imply when this tool is appropriate (patching a few XMP fields rather than replacing the block), but it never explicitly names an alternative such as get_xmp_metadata for reading or set_metadata for other metadata types. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_zero_pointSet Zero PointB
Set the starting timecode (zero point) of a sequence
| Name | Required | Description | Default |
|---|---|---|---|
| sequence_id | No | Sequence name or ID. Uses active sequence if omitted. | |
| start_seconds | Yes | Start time in seconds for the timecode origin |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a non-read-only, non-idempotent, non-destructive mutation. The description adds what is being changed (starting timecode / zero point), but does not disclose side effects, required permissions, or how existing sequence timing is affected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It communicates the action directly and is appropriately sized for a simple setter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter mutation with full schema coverage, annotations, and an output schema, the description is sufficient to invoke the tool. It leaves usage routing and edge-case behavior unstated, but those are secondary given the structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so sequence_id and start_seconds are already documented in the schema. The description only restates the start-time semantics and adds no syntax, default, or format details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: set the starting timecode / zero point of a sequence. It distinguishes itself from sequence-rate and sequence-resolution siblings by target, though it does not explicitly name an alternative tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use guidance, prerequisites, or alternatives. It does not clarify when to use this instead of other timing-related tools such as set_start_time or set_clip_start_time.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slide_editSlide EditA
Perform a verified slide edit on a clip using adjacent clips from the public timeline DOM. Linked audio/video partners get the same edit by default (include_linked); every clip is checked before any is changed. Requires readable finite media and ffprobe duration evidence for every edited source; refuses unknown duration, stills, and nonunit/reversed speed before mutation.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| include_linked | No | Also apply the edit to the clip's linked audio/video partners so picture and sound stay in sync (default: true). | |
| offset_seconds | Yes | Offset in seconds (positive = slide right, negative = slide left) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations (readOnly=false, destructive=false, idempotent=false) by disclosing real execution semantics: linked audio/video partners are edited by default via include_linked, all clips are validated before any mutation (atomic preflight), and the tool refuses at validation time rather than partially applying. That is exactly the behavioral detail an agent needs before invoking a timeline mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with the primary action front-loaded and supporting constraints following. No filler, though terms like 'public timeline DOM' and 'nonunit speed' are implementation jargon that costs a little readability for little gain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a verified mutation tool with a full input schema, output schema, and annotations, the description covers prerequisites, default side effects, and refusal conditions. Error/return behavior is left to the output schema, which is fine, but the lack of a stated failure contract after validation leaves a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and all three parameters carry descriptions, including the include_linked default and the sign convention for offset_seconds. The prose only restates what the schema already says, so this is the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('perform a verified slide edit on a clip') and describes the mechanism (adjacent clips from the timeline DOM). It never explicitly contrasts itself with the nearby sibling edit operations slip_edit and roll_edit, so an agent must already know NLE terminology to route correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete preconditions for use: readable finite media, ffprobe duration evidence, and an explicit refusal list (unknown duration, stills, nonunit/reversed speed). It stops short of naming the alternative to call when those conditions fail, so the when-not path is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slip_editSlip EditA
Perform a verified slip edit on a clip using public source in/out properties. Requires accessible physical media duration from ffprobe; unknown duration or linked partners using different source files refuse before mutation. Linked audio/video partners get the same edit by default (include_linked); every clip is checked before any is changed.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| include_linked | No | Also apply the edit to the clip's linked audio/video partners so picture and sound stay in sync (default: true). | |
| offset_seconds | Yes | Offset in seconds (positive = slip forward in source, negative = slip backward) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the write/non-idempotent/non-destructive profile, and the description adds non-obvious behavior: a hard ffprobe duration prerequisite, pre-mutation refusal semantics, and all-or-nothing validation ('every clip is checked before any is changed'). The linked-partner default is described but largely duplicates the schema field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the action and followed by prerequisites and failure behavior; every sentence carries information. Slightly telegraphic phrasing ('public source in/out properties') costs a little readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values need no explanation. The description covers the mutation's prerequisites, refusal conditions, and linked-clip side effects – the key gaps an agent needs before invoking a non-idempotent edit. Only the sibling-tool routing is omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so node_id, include_linked, and offset_seconds are already documented, including the positive/negative offset convention and the default. The description adds no parameter-level detail beyond what the schema states, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('verified slip edit on a clip') and adds the mechanism ('using public source in/out properties'), which implicitly distinguishes it from slide_edit and roll_edit. It never names those siblings, so an agent still has to infer the boundary from editing-domain knowledge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear preconditions (accessible ffprobe duration, no linked partners on differing source media) and states that the operation refuses rather than partially applying. It does not say when to choose this over sibling edit tools like slide_edit, roll_edit, trim_clip, or set_source_in_out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
speed_changeSpeed ChangeA
Unavailable: Premiere's documented ExtendScript and UXP APIs have no setter for a timeline clip's speed (only getters), and the undocumented QE setSpeed is deliberately not used. Always fails before mutation. To change how long a clip runs on the timeline, use set_clip_duration.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip | |
| reverse | No | Reverse playback direction (default: false) | |
| speed_percent | Yes | Speed as percentage (100 = normal, 200 = double, 50 = half) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations: it discloses that the operation always fails before mutation, why (no setter in ExtendScript/UXP), and that the QE fallback was intentionally not used. This is exactly the kind of context needed for a non-functional stub.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the unavailability verdict, then the reason, then the redirect. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the safety profile is covered by annotations; for a deliberately failing tool, the description supplies everything an agent needs to understand and avoid it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with node_id, speed_percent and reverse all documented in the schema, so the description is not required to carry parameter meaning. It adds nothing further, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states precisely what the tool does — nothing, because it fails before mutation — and explains the API reason (no documented setter; QE setSpeed deliberately avoided). This unambiguously distinguishes it from set_clip_speed_qe and get_clip_speed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly names the alternative, set_clip_duration, and the condition that selects it ('to change how long a clip runs'). An agent will never waste a call here by mistake.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
split_clipSplit ClipA
EXPERIMENTAL (undocumented QE DOM): Split every clip on one track that spans a timeline time, then verify both resulting boundaries. Effect-keyframe redistribution remains unverified.
| Name | Required | Description | Default |
|---|---|---|---|
| track_type | No | Track type (default: video) | |
| track_index | No | Track index (0-based, default: 0) | |
| time_seconds | Yes | Timeline time in seconds where clips on the selected track will split |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-readOnly, non-idempotent, non-destructive. The description adds real value beyond them: it flags EXPERIMENTAL/undocumented QE DOM and discloses that effect-keyframe redistribution is unverified, which is exactly the kind of caveat an agent needs before mutating a timeline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loading the EXPERIMENTAL warning before the operation and its verification caveat. No filler; every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description covers risk and scope well. It is slightly thin on what 'verify both resulting boundaries' actually entails, but overall adequate for this operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so track_type, track_index, and time_seconds are already documented. The description adds only the notion of 'one track' and 'a timeline time', not new syntax or format detail. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Split) plus precise scope (every clip on one track that spans a timeline time), and adds a verification step. This is clearly distinguishable from siblings like razor_all_tracks, trim_clip, or split-style edits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope ('one track that spans a timeline time') implies when it applies, but there is no explicit when-to-use guidance or named alternative (e.g., razor_all_tracks, trim_clip). Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stabilize_clipStabilize ClipC
Apply the Warp Stabilizer effect to a clip for video stabilization. Uses QE DOM.
| Name | Required | Description | Default |
|---|---|---|---|
| method | No | Stabilization method (default: 'Subspace Warp') | |
| node_id | Yes | Node ID of the clip to stabilize | |
| smoothness | No | Stabilization smoothness percentage (default: 50). Higher = smoother but more cropping. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the mutation profile is covered by structured data. The only added behavioral note is the cryptic 'Uses QE DOM', which is not explained in terms of what it means for the agent (e.g., undoability, analysis/render time, or required clip state).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the core action front-loaded; nothing is padded. The trailing 'Uses QE DOM' is the only questionable fragment, since it conveys little without explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. Still, for a non-idempotent clip-mutating tool, the description omits any workflow context (e.g., clip state requirements or the QE DOM reliability caveat), leaving it only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter (method, node_id, smoothness) is documented in the schema with defaults and trade-offs. The description adds nothing about parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Apply') and a specific effect ('Warp Stabilizer') on a clip, which is clearly distinct from the generic sibling apply_effect and from inspect_stabilizer_status. However, it never names those siblings or otherwise differentiates itself from them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, prerequisites, or alternatives are given. An agent getting a stabilizer request has no guidance on whether to call this versus apply_effect or to check inspect_stabilizer_status first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_batch_encodeStart Batch EncodeA
Request Adobe Media Encoder to start the render queue; reports only accepted handoff, not queue progress or output-file creation.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already state readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the description does not need to repeat safety basics. It adds useful behavioral context by clarifying the asynchronous, handoff-only nature of the call and explicitly bounding what the response does not represent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with the action front-loaded followed immediately by the important limitation. Every clause earns its place by clarifying scope and avoiding false expectations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, available annotations, and an output schema, the description is complete enough for an agent to invoke the tool correctly. It states the action and the key behavioral boundary without needing to explain return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there are no parameter semantics for the description to explain. The baseline for a zero-parameter tool with an empty input schema is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: request Adobe Media Encoder to start the render queue. It also distinguishes the tool's scope from related operations by clarifying that it only reports an accepted handoff and does not report queue progress or output-file creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear context for when to use the tool and explicitly excludes expectations of progress or output-file creation. However, it does not name the alternative sibling tools for checking progress or confirming completed output, leaving that inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_playbackStop PlaybackA
Request that active-sequence timeline playback stop through QE. The legacy API does not provide a same-call playhead readback, so stopped state is not reported as verified. Only the timeline can be stopped: Premiere's scripting APIs have no documented call that stops the Source Monitor alone, so target "source" returns an error instead of stopping the timeline.
| Name | Required | Description | Default |
|---|---|---|---|
| target | No | What to stop. Default "timeline". "source" is refused because no documented API stops only the Source Monitor. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (non-readonly, non-destructive). The description adds genuinely useful behavioral context beyond them: playback is stopped via QE, the stopped state cannot be verified because the legacy API provides no same-call playhead readback, and 'source' errors out rather than stopping. That verification caveat is exactly the kind of trait annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the action, with no filler. The source-error clause is slightly redundant with the schema's own enum description, but every sentence still carries operational weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description covers the action, the source-refusal behavior, and the verification limitation, leaving little an agent would need before calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the enum value descriptions already explain why 'source' is refused, so the single parameter is fully documented in structured data. The description largely restates that reasoning rather than adding new syntax or format meaning, making baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('active-sequence timeline playback stop') and implicitly distinguishes itself from the inverse sibling play_timeline. An agent can tell exactly what operation this performs 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly defines the negative case: only the timeline can be stopped and target 'source' returns an error, so the agent knows not to attempt source-monitor stopping. It stops short of naming an alternative tool, but the when-not condition is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
toggle_track_visibilityToggle Track VisibilityA
Set video track visibility using Premiere's track mute state (eye icon) and read the mute state back. Premiere's scripting API exposes mute, not a separate video visibility setter.
| Name | Required | Description | Default |
|---|---|---|---|
| visible | Yes | True to show, false to hide | |
| track_index | Yes | Video track index (0-based) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly=false, destructive=false), and the description adds genuinely useful context beyond them: the operation maps onto Premiere's mute state and reads the state back, so the agent understands it is a real mutation of track mute. Minor tension with idempotentHint=false since setting a boolean 'visible' reads as idempotent, but the tool name 'toggle' is consistent with that annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and followed by the mechanism explanation. No padding; the second sentence earns its place by explaining the mute-state indirection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations carry the safety profile. For a 2-parameter mutation tool the definition is largely sufficient, with the only real omission being guidance versus the mute_track sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters ('visible' boolean, 'track_index' 0-based) are fully documented in the schema. The description adds no syntax or format detail beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Set video track visibility') and clarifies the underlying mechanism (track mute state / eye icon). It is distinguishable from generic track tools, though it never addresses the closely related 'mute_track' sibling, leaving the agent to infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how visibility is implemented but gives no when-to-use guidance or exclusions. With a 'mute_track' sibling in the list, the absence of any routing between the two is a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trim_clipTrim ClipA
Trim exactly one source in/out point and verify the corresponding visible timeline edge. Requires accessible physical media duration from ffprobe; unknown duration or linked partners using different source files refuse before mutation. Refuses retimed clips, extensions that would overlap the neighbouring clip on the same track, and, by default, trims that would leave effect keyframes outside the visible clip. Linked audio/video partners get the same trim by default (include_linked), applied as the same offset from each partner's own source point so a J/L cut or slipped audio stays in sync; every clip is checked before any is changed. To set a clip's timeline length or extend a still image, use set_clip_duration.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the clip to trim | |
| include_linked | No | Also apply the edit to the clip's linked audio/video partners, as Premiere does with linked selection (default: true). | |
| new_in_seconds | No | New source in-point in seconds (relative to the clip's source media). Specify exactly one edit point. | |
| keyframe_policy | No | How to handle effect keyframes beyond the trimmed visible range: reject (default) leaves the timeline unchanged; preserve explicitly keeps them and reports their count. | |
| new_out_seconds | No | New source out-point in seconds (relative to the clip's source media). Specify exactly one edit point. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare it is not read-only and not destructive, but the description adds substantial behavioral detail: it requires ffprobe duration, refuses before mutation on specific conditions, applies the same trim to linked partners with offset preservation, checks every clip before any change, and explains keyframe handling. This is well beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and then requirements, refusals, linked behavior, and an alternative. Dense but every sentence carries specific, non-redundant information. Slightly long but justified by the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the description covers prerequisites, refusal conditions, linked-partner semantics, keyframe policy, and an alternative tool. Output schema exists, so return values need not be explained. Nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so all parameters are already documented in the schema. The description adds meaning by explaining the linked-partner offset behavior ('same offset from each partner's own source point so a J/L cut or slipped audio stays in sync') and clarifying keyframe_policy default behavior, which enriches understanding beyond the schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a specific verb and resource: 'Trim exactly one source in/out point and verify the corresponding visible timeline edge.' Clearly distinguishes itself from the named alternative set_clip_duration by scope, and the agent can immediately tell what operation is performed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names set_clip_duration as the correct tool for setting timeline length or extending stills, and lists clear preconditions and refusal conditions (unknown duration, linked partners with different source files, retimed clips, overlapping extensions, keyframe policy). No inference needed for when to use or avoid this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
undoUndoA
EXPERIMENTAL (undocumented QE DOM: qe.project.undo / undoStackIndex). Undo the most recent Premiere project action(s) through QE, checked step by step against Premiere's undo-stack position (stackVerified; the timeline itself is not read back). Undo history is project-wide. Only actions Premiere records are undoable: QE edits such as razor, insert, lift and extract report undoSteps (and undoStackIndex) in their results; pass that undoSteps as count to reverse exactly that call. A marker receipt with undoTracked:false recorded no undo step: calling Undo for it would reverse an earlier action. Only CEP tool results carry undoSteps; UXP tools and workflows that send several commands are not counted. Always pass expected_undo_stack_index to check the stack position, but matching position alone does not prove which action is on top. Observed marker boundaries refuse the entire request before any step unless acknowledge_untracked_markers:true explicitly permits prior non-marker actions. The barrier persists through server/helper reloads while the CEP engine remains alive; it cannot account for marker writes before observation, after an engine reset, or through UXP, the manual UI, or other clients. Matching the QE index verifies stack position only.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of times to undo (default: 1) | |
| expected_undo_stack_index | Yes | Required safety guard: the undoStackIndex a tool result reported right after the call you want to reverse. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. The guard compares the position only; matching position cannot prove which action is on top. | |
| acknowledge_untracked_markers | No | Explicitly acknowledge that QE steps reverse or restore prior non-marker actions, because marker reversal is not verified. Default false; marker boundaries refuse the entire request before any step. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes far beyond the annotations: EXPERIMENTAL status, undocumented QE DOM paths, project-wide undo history, step-by-step position check with a stated blind spot ('matching position alone does not prove which action is on top'), persistence of the marker barrier across reloads, and enumerated limits (UXP, manual UI, engine resets). The destructiveHint=false annotation is not contradicted, though the warning that Undo 'would reverse an earlier action' is exactly the risk an agent must weigh.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph with the critical EXPERIMENTAL warning and safety-guard behavior front-loaded, but verbose and repetitive: the caveat that a matching index proves position only is stated twice. Much of the length is earned by the tool's complexity, but it could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutant, experimental QE-backed tool with a required safety guard, the description covers prerequisites, failure modes (refused step, marker barrier), permission/acknowledgment semantics, and known blind spots. An output schema exists, so return values need not be described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds real meaning: it explains that the undoSteps value from a prior call should be passed as count to reverse exactly that call, and that expected_undo_stack_index is a positional guard rather than proof of the top action. That connects the parameters to the workflow rather than restating their types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Undo the most recent Premiere project action(s) through QE') and pins down the mechanism (PS undo-stack position verified via undoStackIndex). It implicitly scopes itself away from untracked actions, but never names the adjacent siblings redo or multiple_undo, so an agent must infer the boundary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Strong when-to-use guidance: only actions Premiere records are undoable, pass the undoSteps a QE edit returned as count, and acknowledge_untracked_markers is required to pass a marker receipt boundary. Clear conditions, but no explicit routing against the sibling undo-family tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlink_selectionUnlink SelectionA
Unlink the currently selected video and audio clips in the active sequence
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false. The description adds useful target scope by specifying that only selected video and audio clips in the active sequence are affected, though it does not cover reversibility or downstream effects on linked items.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that states the action and its target without any filler or redundancy. Every part of the sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter mutation on the active sequence, the description is nearly complete. An output schema exists and annotations cover the safety profile, but the description could still mention that a selection must exist and that linked clips retain their media.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there are no parameter semantics to document. The baseline score for a zero-parameter tool is 4, and the description appropriately avoids inventing unnecessary parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Unlink' and names the exact resource: currently selected video and audio clips in the active sequence. It is clearly distinguishable from the sibling link_selection tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool by naming the active sequence and current selection, but it does not explicitly state prerequisites such as 'clips must be linked' or contrast the action with link_selection. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unnest_sequenceUnnest SequenceA
Unnest a nested sequence clip, replacing it with the nested sequence's clips at their exact source in/out and timeline positions. Refuses without changing anything when the nest is trimmed, retimed, linked to a partner clip, or when the destination range is occupied or locked. Re-reads every placed clip and reports failure with Undo guidance if any start or source range differs. Nested clips are re-placed from their project items, so effects, keyframes, and transitions inside the nest are not carried over.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | Node ID of the nested sequence clip on the timeline to unnest |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnly=false, destructive=false, idempotent=false, but the description adds substantial context beyond them: failure is atomic ('without changing anything'), it re-reads every placed clip and reports failure with Undo guidance if ranges differ, and effects/keyframes/transitions inside the nest are not carried over. These are exactly the non-obvious behavioral traits an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, all of which carry load-bearing information (operation, refusal conditions, verification behavior, data-loss caveat) and the core action is front-loaded. Slightly dense, but no sentence is waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained; the description fully covers the mutation semantics, atomicity, refusing conditions, and the effects/keyframes caveat. Nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single node_id parameter, so the schema already documents it fully. The description adds no additional syntax or format detail about node_id, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (unnest a nested sequence clip) and describes the exact resulting operation: replacing it with the nested sequence's clips at their source in/out and timeline positions. An agent can distinguish this from the reverse operation nest_clips 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit preconditions/when-not conditions: it refuses when the nest is trimmed, retimed, linked to a partner clip, or the destination range is occupied or locked. It does not name an alternative tool to use in those cases (e.g., nest_clips, unlink_selection), so it falls short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_markerUpdate MarkerB
Update the name, comments or color of the sequence marker at a time and read them back. EXPERIMENTAL (QE DOM): the receipt reports undoStackIndex movement, which does not prove QE can reverse the marker. Every marker attempt protects an engine undo boundary; undoTracked:false means the marker did not observably advance the QE index.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New name | |
| color | No | New color index (0=Green, 1=Red, 2=Purple, 3=Orange, 4=Yellow, 5=White, 6=Blue, 7=Cyan) | |
| comments | No | New comments | |
| time_seconds | Yes | Time position of the marker to update |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false, destructiveHint=false. The description adds non-obvious behavioral context about undo-boundary protection and the undoTracked:false flag, but expresses it in dense, opaque jargon (QE DOM, undoStackIndex) that is hard for an agent to act on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, but the trailing experimental paragraph is dense and jargon-heavy, and the phrase 'at a time' is awkward. Adequately sized but the caveat is hard to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and annotations cover the safety profile. However, the description omits practical preconditions such as whether the marker must already exist at time_seconds or what happens on an invalid position.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema itself documents all four parameters, including color indices. The description only restates the field names without adding syntax, format, or edge-case meaning beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (update), resource (sequence marker), and the editable fields (name, comments, color). This distinguishes it from add_marker/delete_marker siblings, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and no alternatives or prerequisites. It only implies usage through the word 'update', leaving the agent to infer that this modifies existing markers rather than creating or removing them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_cmx3600_edlValidate Cmx3600 EdlA
Validate a local CMX 3600 EDL's supported event grammar, timecodes, durations, duplicate event IDs, record overlaps, and record gaps before user-assisted Premiere interchange.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Existing local .edl file | |
| frame_rate | No | CMX timecode rate: 24, 25, 29.97, 30, 50, 59.94, or 60 (default: 24) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false. The description adds the validation scope and the local-file constraint, but does not explain the non-read-only or non-idempotent behavior, which is unexpected for a 'validate' operation. With annotations present, this leaves 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Consists of a single well-structured sentence, front-loaded with the action and object. Every clause enumerates a distinct validation check and earns its place; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and annotations supply safety hints, the description provides the validation scope and usage context. It omits any explanation of the non-read-only annotation, but is otherwise complete enough for a validation utility.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters (path, frame_rate) with descriptions. The description adds no parameter-specific syntax or constraints beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb 'Validate' and resource 'CMX 3600 EDL', and enumerates the aspects validated (grammar, timecodes, durations, duplicate event IDs, record overlaps, record gaps). However, it does not explicitly differentiate from sibling tools like inspect_cmx3600_edl or compare_cmx3600_edls, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context: 'before user-assisted Premiere interchange,' indicating the appropriate use case. But it does not state when not to use it or name alternative tools, so exclusions are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_export_presetValidate Export PresetB
Validate that an Adobe Media Encoder .epr preset exists and ask the active Premiere sequence which output extension it produces
| Name | Required | Description | Default |
|---|---|---|---|
| preset_path | Yes | Full path to an Adobe Media Encoder export preset (.epr) |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and idempotentHint=false, yet the description frames the tool as an innocuous existence check plus a question asked of the sequence, giving no account of the state change implied by the annotations (e.g., loading a preset onto the sequence to derive its extension). It also says nothing about failure behavior when the preset is missing or when no sequence is active.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that covers both behaviors with no filler. It is appropriately sized for a one-parameter tool, though the second clause (asking the sequence) reads a bit awkwardly and could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and the one parameter is fully documented. The description covers both halves of the operation; the only material omission is any note about the non-read-only side effect and error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single required preset_path parameter, and the schema already documents it as a full path to an .epr file. The description adds no format, path-resolution, or relative-vs-absolute detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names specific verbs (validate existence, query output extension) and specific resources (an Adobe Media Encoder .epr preset, the active Premiere sequence), which is far more than a restatement of the name. It is distinguishable from nearby siblings like get_encoder_presets or validate_project_for_export, though it never explicitly names an alternative to differentiate itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance. The only implicit signal is that this is a pre-export check, but the description never states prerequisites (e.g., an active sequence must exist) or how it relates to sibling validators such as validate_project_for_export or verify_delivery_conformance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_mogrt_brand_kitValidate Mogrt Brand KitARead-onlyIdempotent
Validate an operator-approved local MOGRT brand kit before using it in a template or batch preview. It never reads font inventories, image pixels, or writes files.
| Name | Required | Description | Default |
|---|---|---|---|
| brand_kit | Yes | Approved brand-kit values to validate before recipe use. | |
| approved_workspace_path | Yes | Absolute operator-approved workspace root. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and non-open-world. The description adds genuine scope detail beyond that ('never reads font inventories, image pixels, or writes files'), which tells the agent exactly what side effects will not occur. It is consistent with the annotations but does not describe failure modes or validation outcomes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with the primary action front-loaded and the scope constraint following. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and rich annotations, the description needn't explain return values, and the schema fully covers the two parameters. The remaining gap is that it never says what 'valid' actually means or what conditions cause a failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and nested fields like font_family and safe_margin_percent carry their own descriptions, so the schema does the heavy lifting. The description adds no parameter-level meaning, matching the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (validate) and resource (MOGRT brand kit) plus its place in the workflow ('before using it in a template or batch preview'). It does not explicitly name a sibling such as verify_mogrt_artifact or preview_mogrt_recipe to disambiguate, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear when-to-use condition: validate before using the kit in a template or batch preview. No explicit when-not or named alternative is given, so it is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_platform_publish_packageValidate Platform Publish PackageARead-onlyIdempotent
Validate a rendered file plus title, description, hashtags, and content flags against one platform's approximate 2026 publish limits. Returns hard violations, soft warnings, normalized hashtags, and character counts. Local-only; never uploads or changes Premiere.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | Post or video title. | |
| width | Yes | Rendered frame width in pixels. | |
| height | Yes | Rendered frame height in pixels. | |
| hashtags | No | Hashtags to publish with the post. | |
| platform | Yes | Target platform id. | |
| container | No | Container extension such as mp4 or mov. | |
| frame_rate | Yes | Rendered frame rate in frames per second. | |
| audio_codec | No | Audio codec name such as AAC. | |
| description | No | Post caption or description body. | |
| video_codec | No | Video codec name such as H.264. | |
| has_captions | No | Whether captions are burned in or attached. | |
| content_flags | No | Disclosure flags that trigger platform label reminders. | |
| file_size_bytes | No | Rendered file size in bytes. | |
| duration_seconds | Yes | Rendered file duration in seconds. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds meaningful context: it is local-only, never uploads, never mutates Premiere, and it validates against approximate (not guaranteed) limits, which warns the agent results may be soft.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the purpose, then the outputs, then the safety constraint. No padding and every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not detail return values, and it still summarizes them (violations, warnings, normalized hashtags, counts). Annotations cover the safety profile. The only gap is the absence of explicit guidance on when to prefer this over neighboring validation/planning tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across 14 params, so the schema carries parameter documentation. The description names the metadata categories (title, description, hashtags, content flags) and the rendered file, adding light orientation but no format or syntax detail beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (validate) and resource (rendered file plus publish metadata) and scopes it to 'one platform's approximate 2026 publish limits.' The 'Local-only; never uploads or changes Premiere' clause clearly separates it from mutation/delivery siblings like export_sequence or verify_delivery_conformance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied – validate a publish package before posting to a given platform – but no alternative is named and no explicit when/when-not is given. Siblings such as plan_platform_delivery_matrix or verify_delivery_conformance are not referenced, leaving the agent to infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_project_for_exportValidate Project For ExportARead-onlyIdempotent
Run a non-mutating export preflight for an active or named sequence. It reports blocking offline media, empty timelines, inaccessible preset/output paths, duration, and optional timeline gaps without queuing an export. readyForExport means these preflight checks passed; it does not test exporter initialization, encoder availability, or whether the host can render. Require an actual output file from export_sequence and verify_delivery_file before claiming delivery.
| Name | Required | Description | Default |
|---|---|---|---|
| check_gaps | No | Report gaps on populated tracks as warnings (defaults to true). | |
| output_path | No | Optional intended delivery path; its parent folder is checked. | |
| preset_path | No | Optional .epr preset path to check. | |
| sequence_id | No | Sequence ID or name. Defaults to the active sequence. | |
| require_non_empty_timeline | No | Treat an empty sequence as a blocking error (defaults to true). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds real value beyond them: it defines what readyForExport actually means and explicitly bounds that guarantee, preventing an agent from over-claiming success. This is exactly the kind of behavioral nuance the structured fields cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the purpose and tightly packed with the guarantee boundary. It is dense rather than padded, though the limitation clauses make it longer than strictly minimal for a preflight tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description instead covers the semantically critical part — the meaning and limits of readyForExport — plus the required downstream verification. Nothing an agent needs to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description still adds semantic framing by enumerating what each optional input checks (gaps, empty timelines, preset/output paths, duration), connecting the booleans and paths to observable preflight outcomes rather than restating types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Run a non-mutating export preflight for an active or named sequence.' It scopes exactly what it checks (offline media, empty timelines, preset/output paths, duration, gaps) and distinguishes itself from the sibling export_sequence and verify_delivery_file tools by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states both when to use it (preflight before export) and, more valuably, when it is NOT sufficient: 'it does not test exporter initialization, encoder availability, or whether the host can render.' It names the follow-up tools (export_sequence, verify_delivery_file) required before claiming delivery, which is explicit alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_after_effects_connectionVerify After Effects ConnectionC
Read-only check that the dedicated After Effects CEP connector is running. It never reads project names, media, or paths.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly claims 'Read-only check', but annotations declare readOnlyHint=false. This is a direct contradiction, making the description misleading about the tool's 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose. The second sentence clarifies scope and is not wasteful; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-parameter check with an output schema, the description covers purpose but the contradiction with annotations leaves the agent unsure about read-only behavior and side effects. The claim 'never reads project names, media, or paths' is detailed but conflicts with the annotation, reducing completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline score is 4 per the rubric. The description adds no parameter semantics because there are none to describe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (check/verify) and resource (After Effects CEP connector), and clarifies scope by saying it never reads project names, media, or paths. Differentiates from sibling verify_premiere_connection implicitly by targeting After Effects, but does not explicitly name an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as verify_premiere_connection. The description only states what it does, not when it is appropriate or what prerequisites exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_delivery_conformanceVerify Delivery ConformanceARead-onlyIdempotent
Verify a local exported file against an explicit delivery contract using ffprobe and optional EBU R128 analysis. Returns pass, fail, or not_evaluated per check; it does not prove Premiere render lineage or visual approval.
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | Expected video width in pixels | |
| height | No | Expected video height in pixels | |
| frame_rate | No | Expected frames per second; rational ffprobe rates are compared numerically | |
| audio_codec | No | Expected audio codec name, such as aac or pcm_s24le | |
| output_path | Yes | Existing local delivery file | |
| target_lufs | No | Optional integrated loudness target from -100 through 0 LUFS | |
| video_codec | No | Expected video codec name, such as h264 or prores | |
| audio_channels | No | Expected audio channel count | |
| duration_seconds | No | Expected duration in seconds | |
| audio_sample_rate_hz | No | Expected audio sample rate | |
| frame_rate_tolerance | No | Allowed absolute frame-rate difference (default: 0.001) | |
| loudness_tolerance_lu | No | Allowed absolute loudness difference (default: 1 LU) | |
| maximum_true_peak_dbfs | No | Optional maximum true peak from -100 through 0 dBFS | |
| allowed_container_names | No | Allowed ffprobe demuxer-family aliases, such as mov or mp4. This cannot distinguish exact subtypes when ffprobe reports a shared alias family. | |
| duration_tolerance_seconds | No | Allowed absolute duration difference (default: 0.05) | |
| maximum_video_bitrate_kbps | No | Optional maximum selected-video-stream bitrate in kilobits per second | |
| minimum_video_bitrate_kbps | No | Optional minimum selected-video-stream bitrate in kilobits per second |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the safe read-only, idempotent, closed-world profile. The description adds real value beyond that: it discloses the three-valued result model (pass/fail/not_evaluated per check) and explicitly negates what it cannot prove, which prevents over-trusting a pass verdict.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the action and the contract framing, then the result model and the scope caveat. No filler, and the most decision-relevant caveat comes last where it is still easy to retain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter read-only verification tool with an output schema and full schema coverage, the description covers the essentials: what is analyzed, what the possible verdicts are, and where the guarantees stop. The only genuine omission is routing guidance against the near-identical verify_delivery_file sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every one of the 17 parameters is already documented in the schema with types, defaults, and units. The description adds no per-parameter semantics beyond the phrase 'explicit delivery contract', so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — verifying a local exported file against a delivery contract — and names the underlying tooling (ffprobe, EBU R128), so the agent knows what is being checked. It does not distinguish itself from the very close sibling verify_delivery_file, leaving differentiation to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or routing to alternatives such as verify_delivery_file or validate_project_for_export. However, the scope exclusions ('does not prove Premiere render lineage or visual approval') function as implicit when-not guidance, which lifts it above pure silence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_delivery_fileVerify Delivery FileA
Verify that an exported delivery is a non-empty regular file and calculate a SHA-256 or SHA-512 checksum; optionally compare expected size and checksum
| Name | Required | Description | Default |
|---|---|---|---|
| output_path | Yes | Full path to the exported delivery file | |
| expected_checksum | No | Optional expected hexadecimal checksum to compare | |
| checksum_algorithm | No | Checksum algorithm (default: sha256) | |
| minimum_size_bytes | No | Minimum acceptable file size in bytes (default: 1) | |
| expected_size_bytes | No | Optional exact expected file size in bytes |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description usefully discloses the pass criteria (regular file, non-empty, size/checksum match), but it portrays a pure read/verify operation while the annotations declare readOnlyHint=false and idempotentHint=false — a checksum calculation on a fixed file is inherently read-only and idempotent. This mismatch misleads an agent reasoning about side effects and safe retries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the core action (verify regular file) before the computed checksum and the optional comparisons. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary, and the description covers inputs, pass criteria, and behavior. The only gap is how failure is surfaced (raised error vs result flag), which the description leaves to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (output_path, expected_checksum, checksum_algorithm, minimum_size_bytes, expected_size_bytes) are already documented in the schema. The description reinforces the checksum-algorithm and optional-comparison semantics but adds no syntax or format detail beyond it; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Precise verb+resource: it states exactly what is verified (a non-empty regular file), what is computed (SHA-256/SHA-512 checksum), and what optional comparisons occur. An agent can distinguish this file-level integrity check from broader siblings like verify_delivery_conformance 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its context (post-export integrity checking) but never states when to use it versus siblings such as validate_project_for_export or verify_delivery_conformance, nor any prerequisites (e.g., that the delivery must already exist). Usage is inferred rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_fcpxml_media_referencesVerify Fcpxml Media ReferencesA
Verify the file:// media references of an FCPXML or FCP7 XML (xmeml) document, only inside caller-approved existing roots. References outside those roots are never statted or exposed as local paths.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Existing local .fcpxml or .xml file | |
| allowed_roots | Yes | One to sixteen existing absolute roots that may be inspected |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already state the safety profile, but the description adds meaningful behavioral context: references outside approved roots are never statted or exposed as local paths. It does not clarify any side effects or why readOnlyHint is false, but the security-boundary disclosure is valuable 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no wasted words. The core action and the important root-scoping constraint are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details are not required. The description covers the key scope and privacy behavior, though it leaves mildly ambiguous what 'verify' includes beyond path eligibility.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters in detail. The description reinforces the allowed_roots constraint but adds little syntax or format detail beyond the schema, making the baseline of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource: verify file:// media references of an FCPXML or FCP7 XML document. It also states the scope constraint of caller-approved roots. However, it does not explicitly distinguish the tool from nearby siblings such as inspect_fcpxml_interchange, so 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through its scope constraint: only references inside caller-approved existing roots are inspected. It does not say when to choose this tool over alternatives or when not to use it, leaving usage guidance at the minimum viable level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_mogrt_artifactVerify Mogrt ArtifactARead-onlyIdempotent
Verify that a workspace-contained .mogrt artifact exists locally and has a ZIP header. This does not prove controls, import compatibility, playback, or visual correctness.
| Name | Required | Description | Default |
|---|---|---|---|
| mogrt_path | Yes | Absolute .mogrt artifact path inside approved_workspace_path. | |
| approved_workspace_path | Yes | Absolute operator-approved workspace root containing mogrt_path. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context by specifying the exact check performed and the important negative guarantees about what it does not prove.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core verification statement followed by explicit limitations. Every sentence earns its place and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only verification tool with rich annotations, complete parameter schema, and an output schema, the description is appropriately complete. It clarifies the exact scope and non-scope, and return values are covered by the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both required parameters are fully documented in the schema itself. The description reinforces the workspace-contained nature but adds no syntax or format detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (Verify) and resource (.mogrt artifact), and states the exact technical scope: local presence plus ZIP header. The negative list (does not prove controls, import compatibility, playback, or visual correctness) distinguishes it from sibling validation and preview tools without needing to name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as a lightweight pre-flight existence/format check, and its negative list helps set expectations. However, it does not explicitly say when to use this tool instead of alternatives like validate_mogrt_brand_kit or preview_mogrt_recipe, leaving alternative selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_premiere_connectionVerify Premiere ConnectionARead-onlyIdempotent
Run a safe, read-only first-run check. It proves that this MCP server, the selected Premiere bridge, an active project, and an active sequence are connected without returning project names, paths, or media details.
| Name | Required | Description | Default |
|---|---|---|---|
| backend | No | Bridge to check. Defaults to CEP. This check never falls back to a different bridge. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | Whether the tool completed successfully. |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. |
| tool | Yes | The registered MCP tool name. |
| error | No | Failure detail when ok is false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint false, and openWorldHint false. The description adds meaningful behavioral context beyond those annotations: the check never returns project names, paths, or media details, and it verifies connectivity without exposing sensitive data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no wasted words. The purpose is front-loaded, and the second sentence adds the key behavioral guarantee about what is not returned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only verification tool with rich annotations, full schema coverage, and an output schema, the description is complete. It covers purpose, safety, and the privacy constraint without needing to explain return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single backend parameter is fully documented in the schema, including its default and the fact that this check never falls back to a different bridge. The description adds no parameter-level semantics beyond that, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it verifies that the MCP server, selected Premiere bridge, active project, and active sequence are connected. The phrase 'first-run check' and the privacy constraint help distinguish it from broader state or capability tools in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly establishes the context for use as a safe, read-only first-run connection check. It does not explicitly name alternatives such as get_capabilities or ping, nor state when not to use it, but the intended usage is unambiguous.
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.
21 tool updates
v1.19.0- Changed
add_audio_keyframes4 fields changed- changed
Input schema / properties / keyframes / items / properties / level_db / descriptionPrevious value: -"Audio level in dB"New value: +"Audio level in dB (maximum +15 dB)" - added
Input schema / properties / keyframes / items / properties / level_db / maximumAdded value: +15 - added
Input schema / properties / keyframes / items / properties / time_seconds / minimumAdded value: +0 - added
Input schema / properties / keyframes / minItemsAdded value: +1
- Changed
add_keyframe1 field changed- changed
Input schema / properties / time_seconds / descriptionPrevious value: -"Time in seconds relative to clip start where to add keyframe"New value: +"Seconds from the clip's start on the timeline (0 is the clip's first frame) where to add the keyframe"
- Changed
add_marker1 field changed- changed
Input schema / properties / node_id / descriptionPrevious value: -"Optional clip node ID to add marker to clip instead of sequence"New value: +"Optional clip node ID to add the marker to that clip instead of the sequence. Premiere 25.2.3 timeline clips have no marker collection, so this refuses there and names the source time to use with add_marker_to_project_item."
- Changed
add_markers_batch1 field changed- changed
Input schema / properties / node_id / descriptionPrevious value: -"Optional timeline clip node ID; markers are then created on that clip instead of the sequence (requires the active sequence)."New value: +"Optional timeline clip node ID; markers are then created on that clip instead of the sequence (requires the active sequence). Premiere 25.2.3 timeline clips have no marker collection, so this refuses there and names the source time to use with add_marker_to_project_item."
- Changed
add_to_render_queue1 field changed- added
Input schema / properties / start_batchAdded value: +{ + "description": "Opt in to start the entire ready Adobe Media Encoder queue after this handoff, including unrelated jobs. Default false (enqueue only). A successful call does not verify that any render started or completed.", + "type": "boolean" +}
- Changed
delete_marker1 field changed- changed
Input schema / properties / node_id / descriptionPrevious value: -"Optional clip node ID (deletes from sequence if omitted)"New value: +"Optional clip node ID (deletes from sequence if omitted). Premiere 25.2.3 timeline clips have no marker collection, so this refuses there."
- Changed
export_sequence1 field changed- changed
Input schema / properties / range / descriptionPrevious value: -"What to render: the entire sequence (default), the sequence in/out range (set_sequence_in_out_points), or the work area. Scripts cannot set the work area on current Premiere builds, so prefer in_to_out for a ranged export."New value: +"What to render: the entire sequence (default), the sequence in/out range (set_sequence_in_out_points), or the work area. work_area requires an enabled work area around part of the sequence; unset or full-sequence work areas are refused instead of encoding everything. Set and read back a valid work area where the host supports it, or use in_to_out for a ranged export."
- Changed
get_value_at_time1 field changed- changed
Input schema / properties / time_seconds / descriptionPrevious value: -"Time in seconds to query the value at"New value: +"Seconds from the clip's start on the timeline (0 is the clip's first frame) to read the value at"
- Changed
import_media2 fields changed- added
Input schema / properties / file_paths / items / minLengthAdded value: +1 - added
Input schema / properties / file_paths / minItemsAdded value: +1
- Changed
multiple_undo3 fields changed- added
Input schema / properties / acknowledge_untracked_markersAdded value: +{ + "description": "Explicitly acknowledge that QE steps reverse or restore prior non-marker actions, because marker reversal is not verified. Default false; marker boundaries refuse the entire request before any step.", + "type": "boolean" +} - changed
Input schema / properties / expected_undo_stack_index / descriptionPrevious value: -"Optional safety guard: the undoStackIndex a tool result reported right after the call you want to reverse. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. This compares the position only: if actions were undone and new ones recorded since, the position can match again and undo would reverse the newer action."New value: +"Required safety guard: the undoStackIndex a tool result reported right after the call you want to reverse. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. The guard compares the position only; matching position cannot prove which action is on top." - added
Input schema / requiredAdded value: +[ + "expected_undo_stack_index" +]
- Changed
redo3 fields changed- added
Input schema / properties / acknowledge_untracked_markersAdded value: +{ + "description": "Explicitly acknowledge that QE steps reverse or restore prior non-marker actions, because marker reversal is not verified. Default false; marker boundaries refuse the entire request before any step.", + "type": "boolean" +} - changed
Input schema / properties / expected_undo_stack_index / descriptionPrevious value: -"Optional safety guard: the undoStackIndexAfter reported by the undo you want to redo. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. This compares the position only: if other actions were undone and redone, or new ones recorded, since, the position can match again and redo would re-apply a different action than the one you undid (a new action also clears Premiere's redo history)."New value: +"Required safety guard: the undoStackIndexAfter reported by the undo you want to redo. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. The guard compares the position only; matching position cannot prove which action is on top." - added
Input schema / requiredAdded value: +[ + "expected_undo_stack_index" +]
- Changed
relink_media1 field changed- added
Input schema / properties / allow_unsafe_cep_relinkAdded value: +{ + "description": "Explicitly permit the legacy CEP changeMediaPath call. It can wedge Premiere even when the target file exists; prefer relink_offline_media_uxp.", + "type": "boolean" +}
- Changed
remove_keyframe1 field changed- changed
Input schema / properties / time_seconds / descriptionPrevious value: -"Time in seconds of the keyframe to remove"New value: +"Seconds from the clip's start on the timeline (0 is the clip's first frame) of the keyframe to remove"
- Changed
remove_keyframe_range2 fields changed- changed
Input schema / properties / end_seconds / descriptionPrevious value: -"End of the range in seconds"New value: +"End of the range, in seconds from the clip's start; must not be before start_seconds" - changed
Input schema / properties / start_seconds / descriptionPrevious value: -"Start of the range in seconds"New value: +"Start of the range: seconds from the clip's start on the timeline (0 is the clip's first frame)"
- Changed
set_blend_mode1 field changed- changed
Input schema / properties / blend_mode / enumPrevious value: -[ - "Normal", - "Dissolve", - "Darken", - "Multiply", - "Color Burn", - "Linear Burn", - "Darker Color", - "Lighten", - "Screen", - "Color Dodge", - "Linear Dodge", - "Lighter Color", - "Overlay", - "Soft Light", - "Hard Light", - "Vivid Light", - "Linear Light", - "Pin Light", - "Hard Mix", - "Difference", - "Exclusion", - "Subtract", - "Divide", - "Hue", - "Saturation", - "Color", - "Luminosity" -]New value: +[ + "Color", + "Color Burn", + "Color Dodge", + "Darken", + "Darker Color", + "Difference", + "Dissolve", + "Exclusion", + "Hard Light", + "Hard Mix", + "Hue", + "Lighten", + "Lighter Color", + "Linear Burn", + "Linear Dodge", + "Linear Light", + "Luminosity", + "Multiply", + "Normal", + "Overlay", + "Pin Light", + "Saturation", + "Screen", + "Soft Light", + "Vivid Light", + "Subtract", + "Divide" +]
- Changed
set_clip_properties5 fields changed- added
Input schema / properties / opacity / maximumAdded value: +100 - added
Input schema / properties / opacity / minimumAdded value: +0 - changed
Input schema / properties / scale / descriptionPrevious value: -"Scale percentage (100 = original size)"New value: +"Scale percentage (0-10000; 100 = original size)" - added
Input schema / properties / scale / maximumAdded value: +10000 - added
Input schema / properties / scale / minimumAdded value: +0
- Changed
set_keyframe_interpolation1 field changed- changed
Input schema / properties / time_seconds / descriptionPrevious value: -"Time in seconds of the keyframe"New value: +"Seconds from the clip's start on the timeline (0 is the clip's first frame) of the keyframe"
- Changed
set_playhead_position1 field changed- changed
Input schema / properties / time_seconds / descriptionPrevious value: -"Time position in seconds to move the playhead to"New value: +"Time position in seconds to move the playhead to (0 to the sequence end)"
- Changed
set_sequence_in_out_points2 fields changed- changed
Input schema / properties / in_seconds / descriptionPrevious value: -"In-point in seconds"New value: +"In-point in seconds (0 or later)" - changed
Input schema / properties / out_seconds / descriptionPrevious value: -"Out-point in seconds"New value: +"Out-point in seconds; after in_seconds and not past the sequence end"
- Changed
setup_ducking2 fields changed- changed
Input schema / properties / base_db / descriptionPrevious value: -"Normal clip level in dB (defaults to 0)."New value: +"Normal clip level in dB (defaults to 0; maximum +15 dB)." - changed
Input schema / properties / ducking_windows / items / properties / ducked_db / descriptionPrevious value: -"Level during the window, in dB."New value: +"Level during the window, in dB (maximum +15 dB)."
- Changed
undo3 fields changed- added
Input schema / properties / acknowledge_untracked_markersAdded value: +{ + "description": "Explicitly acknowledge that QE steps reverse or restore prior non-marker actions, because marker reversal is not verified. Default false; marker boundaries refuse the entire request before any step.", + "type": "boolean" +} - changed
Input schema / properties / expected_undo_stack_index / descriptionPrevious value: -"Optional safety guard: the undoStackIndex a tool result reported right after the call you want to reverse. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. This compares the position only: if actions were undone and new ones recorded since, the position can match again and undo would reverse the newer action."New value: +"Required safety guard: the undoStackIndex a tool result reported right after the call you want to reverse. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. The guard compares the position only; matching position cannot prove which action is on top." - added
Input schema / requiredAdded value: +[ + "expected_undo_stack_index" +]
384 tool updates
v1.18.6- Changed
add_adjustment_layer2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_audio_keyframes2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_custom_metadata_field2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_keyframe2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_marker2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_marker_to_project_item2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_markers_batch1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_text_overlay2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Added
add_title - Changed
add_to_render_queue2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_to_timeline2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_to_timeline_batch1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_track2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_tracks2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_transition2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
add_transition_to_clip2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
adjust_audio_levels2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
analyze_dialogue_edit_candidates1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
analyze_loudness2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
analyze_video_interlacing2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
analyze_video_qc2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
apply_after_effects_render_handoff1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
apply_audio_effect2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
apply_edit_plan5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / plan / descriptionPrevious value: -"An edit plan containing insert_clip and remove_clip operations (maximum 100)"New value: +"An edit plan: { sequence_id?, operations: [...] } with up to 100 insert_clip and remove_clip operations. Operations run in order, and each one's times refer to the timeline as the operations before it left it." - added
Input schema / properties / plan / propertiesAdded value: +{ + "operations": { + "items": { + "properties": { + "audio_track_index": { + "description": "insert_clip: audio track (default 0)", + "minimum": 0, + "type": "integer" + }, + "include_linked": { + "description": "remove_clip without ripple: also remove linked audio/video partners (default true)", + "type": "boolean" + }, + "item_id": { + "description": "insert_clip: project item node ID or name", + "type": "string" + }, + "node_id": { + "description": "remove_clip: timeline clip node ID", + "type": "string" + }, + "ripple": { + "description": "remove_clip: close the gap with a verified sync-locked ripple delete (always takes linked partners)", + "type": "boolean" + }, + "start_seconds": { + "description": "insert_clip: timeline insert time in seconds (insert edit, sync-locked tracks shift)", + "minimum": 0, + "type": "number" + }, + "type": { + "enum": [ + "insert_clip", + "remove_clip" + ], + "type": "string" + }, + "video_track_index": { + "description": "insert_clip: video track (default 0)", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "maxItems": 100, + "minItems": 1, + "type": "array" + }, + "sequence_id": { + "description": "Sequence name or ID to edit (activated first); defaults to the active sequence", + "type": "string" + } +} - added
Input schema / properties / plan / requiredAdded value: +[ + "operations" +] - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
apply_effect2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
apply_lut2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
apply_mogrt_premiere_handoff1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
apply_spot_workflow_plan1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
attach_custom_property2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
audit_timeline_health1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
auto_reframe_sequence2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
batch_add_transitions2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
batch_apply_effect2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
batch_enable_disable2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
batch_rename_clips2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
build_caption_artifact1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
capture_frame2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
check_caption_safe_zone1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
check_offline_media1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
clear_item_in_out2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
clear_sequence_in_out2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
close_all_source_clips1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
close_project3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / project_pathAdded value: +{ + "description": "Path of the open project to close (default: the active project)", + "type": "string" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
close_sequence2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
close_source_monitor1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
color_correct2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
compare_cmx3600_edls2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
compute_mask_fit_motion1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
consolidate_and_transfer4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / copy_to_new_location / descriptionPrevious value: -"Copy media to a new location (default: true)"New value: +"Must be true (the default): Premiere's scripted Project Manager always collects media into the destination." - changed
Input schema / properties / transcode / descriptionPrevious value: -"Transcode media during copy (default: false)"New value: +"Transcode media to match the sequence instead of copying it (default: false)" - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
consolidate_duplicates1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
copy_effect_values2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
copy_effects_between_clips2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_bars_and_tone3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / bin_idAdded value: +{ + "description": "Optional destination bin: node ID, slash-separated bin path from the project root, or bin name. The bin is resolved before anything is created; the item is moved there and its location read back.", + "type": "string" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_bin2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_caption_track1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_context_edit_plan2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_editorial_context_pack1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_editorial_plan1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_mogrt_batch1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_mogrt_recipe1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_project2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_project_backup2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_sequence2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_sequence_checkpoint1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_sequence_from_clips2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_sequence_from_preset2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_smart_bin2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_subclip2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
create_subsequence2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
crop_clip1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
delete_bin2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
delete_marker2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
delete_multiple_project_items3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / confirm_remove_from_sequencesAdded value: +{ + "description": "Delete even when an item (or something inside a bin) is used in a sequence, which also removes those timeline clips (default: false).", + "type": "boolean" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
delete_preview_files2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
delete_project_item3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / confirm_remove_from_sequencesAdded value: +{ + "description": "Delete even when the item (or something inside the bin) is used in a sequence, which also removes those timeline clips (default: false).", + "type": "boolean" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
delete_sequence2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
delete_track3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / forceAdded value: +{ + "description": "Also delete a track that holds clips, removing those clips (default: false)", + "type": "boolean" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
deselect_all_clips1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
detach_proxy2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
detect_active_picture_bounds2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
detect_audio_transients2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
detect_beats1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
detect_motion_peaks2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
detect_repeated_takes1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
detect_scene_edits1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
detect_silence2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
detect_source_scene_changes2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
diff_sequence_snapshots1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
duplicate_clip2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
duplicate_sequence2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
enable_disable_clip2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
encode_file2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
encode_project_item2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
enqueue_after_effects_render1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
export_aaf2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
export_as_fcp_xml2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
export_as_project2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
export_frame2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
export_omf2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
export_sequence7 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / overwriteAdded value: +{ + "description": "Replace a file that already exists at output_path (default: false, which refuses the export). The replacement is only reported as written when the file's size or modification time changes.", + "type": "boolean" +} - changed
Input schema / properties / preset_path / descriptionPrevious value: -"Path to an AME preset file (.epr). Uses default H.264 if omitted."New value: +"Path to an AME preset file (.epr). Uses the default H.264 (MP4) Match Source preset if omitted." - added
Input schema / properties / rangeAdded value: +{ + "description": "What to render: the entire sequence (default), the sequence in/out range (set_sequence_in_out_points), or the work area. Scripts cannot set the work area on current Premiere builds, so prefer in_to_out for a ranged export.", + "enum": [ + "entire", + "in_to_out", + "work_area" + ], + "type": "string" +} - added
Input schema / properties / timeout_minutesAdded value: +{ + "description": "How long to wait for the render (default: 15; long sequences such as full podcast episodes may need more)", + "maximum": 240, + "minimum": 1, + "type": "number" +} - changed
Input schema / properties / work_area_only / descriptionPrevious value: -"Export only the work area (default: false, exports entire sequence)"New value: +"Deprecated alias for range: 'work_area'" - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
export_sequence_clip_review_frames2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
export_sequence_edl1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
export_sequence_marker_review_frames1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
export_sequence_review_frames2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
extract_selection1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
find_items_by_media_path2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
find_project_item_by_name2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
freeze_frame2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
generate_media_contact_sheet2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_active_sequence1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_advanced_feature_support2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_all_project_paths1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_av_feature_support1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_bin_contents3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / bin_id / descriptionPrevious value: -"Bin name, node ID, or path (e.g., 'Footage', 'Footage/Raw')"New value: +"Bin name, node ID, or path (e.g., 'Footage', 'Footage/Raw'); '/' or 'root' for the project root" - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_bridge_telemetry1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_capabilities1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_caption_style_guidance1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_clip_adjustment_layer2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_clip_at_playhead2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_clip_at_position2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_clip_links2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_clip_markers2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_clip_properties2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_clip_speed2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_clip_volume2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_color_label2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_color_space2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_duplicate_media3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / propertiesAdded value: +{ + "contains": { + "description": "Optional case-insensitive substring matched against project item names before paging. Omit or pass an empty string to include every entry.", + "maxLength": 256, + "type": "string" + }, + "limit": { + "description": "Maximum duplicate media groups (a group matches contains when any item name matches) entries to return (1-500, default 100).", + "maximum": 500, + "minimum": 1, + "type": "integer" + }, + "offset": { + "description": "Zero-based index of the first duplicate media groups (a group matches contains when any item name matches) entry to return (default 0). Pass the previous response's nextOffset to read the next page.", + "minimum": 0, + "type": "integer" + } +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_effect_properties2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_encoder_presets3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / format / descriptionPrevious value: -"Filter to presets whose name or format bucket matches this (e.g. 'H.264', 'ProRes', 'Proxy'). Omit to list all."New value: +"Filter by container/format (e.g. 'H.264', 'mp4', 'QuickTime', 'WAV') or preset name (e.g. 'ProRes', 'Proxy'). Presets whose format matches come first. Omit to list all." - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_export_file_extension2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_footage_interpretation2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_full_clip_info2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_full_project_overview1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_full_sequence_info2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_graphics_white_luminance1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_insertion_bin1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_item_info2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_keyframes2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_linked_items2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_metadata2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_mogrt_component2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_next_edit_point2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_offline_media1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_playhead_position1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_premiere_state1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_project_info1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_project_item_info2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_project_panel_metadata3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / propertiesAdded value: +{ + "max_chars": { + "description": "Maximum characters of metadata XML to return (256-200000, default 20000). Longer XML is cut at this length and reported with truncated: true and totalChars.", + "maximum": 200000, + "minimum": 256, + "type": "integer" + } +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_project_scratch_disks1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_qe_clip_info2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_render_queue_status1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_selected_clips1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_sequence_count1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_sequence_in_out_points1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_sequence_markers_by_type2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_sequence_settings2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_sequence_structure2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_source_monitor_info1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_source_monitor_position1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_target_tracks1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_timeline_gaps2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_timeline_summary2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_total_clip_count1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_track_info2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_unused_media3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / propertiesAdded value: +{ + "contains": { + "description": "Optional case-insensitive substring matched against project item names before paging. Omit or pass an empty string to include every entry.", + "maxLength": 256, + "type": "string" + }, + "limit": { + "description": "Maximum unused project items entries to return (1-500, default 100).", + "maximum": 500, + "minimum": 1, + "type": "integer" + }, + "offset": { + "description": "Zero-based index of the first unused project items entry to return (default 0). Pass the previous response's nextOffset to read the next page.", + "minimum": 0, + "type": "integer" + } +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_used_media_report2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_value_at_time2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_version_info1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_work_area1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_workspaces1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
get_xmp_metadata2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
has_proxy2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
import_ae_comps2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
import_edl2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
import_fcp_xml2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
import_folder2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
import_image_sequence2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
import_media2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
import_mogrt3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / duration_seconds / descriptionPrevious value: -"Duration in seconds (default: 5)"New value: +"Duration in seconds (default: 5). Applied after import by moving the graphic's end and read back; a duration that would overlap the next clip on the track is not applied." - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
import_mogrt_from_library2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
import_sequences2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
insert_from_source2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_after_effects_render_templates1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_after_effects_template_source1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_cmx3600_edl2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_dom_object2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_edit_readiness2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_fcpxml_interchange2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_film_editorial_workflow1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_media_streams2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_mogrt_library1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_project_item_av_metadata2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_project_recovery1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_sequence_av_settings1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_sequence_review_report2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
inspect_stabilizer_status1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
invert_selection1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
is_work_area_enabled2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
lift_selection1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
link_selection1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
list_available_audio_effects1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
list_available_audio_transitions1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
list_available_effects1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
list_available_transitions1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
list_clip_effects2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
list_markers2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
list_project_items2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
list_sequence_checkpoints1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
list_sequence_tracks2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
list_sequences1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Added
list_stock_titles - Changed
lock_track2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
manage_media_watch1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
manage_project_context2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
manage_proxies2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
match_frame2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
move_clip2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
move_clip_to_track2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
move_item_to_bin2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
move_items_to_bin2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
move_playhead_to_edit2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
multiple_undo3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / expected_undo_stack_indexAdded value: +{ + "description": "Optional safety guard: the undoStackIndex a tool result reported right after the call you want to reverse. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. This compares the position only: if actions were undone and new ones recorded since, the position can match again and undo would reverse the newer action.", + "type": "number" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
mute_track2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
navigate_playhead1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
nest_clips2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
normalize_loudness_file2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
open_in_source2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
open_project2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
overwrite_clip2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
overwrite_from_source2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
paste_clip_attributes1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
ping1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_active_speaker_reframe1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_beat_montage1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_chapter_markers1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_client_notes_checklist1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_cross_app_workflow1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_emphasis_zoom_keyframes1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_filler_word_removal1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_multicam_angle_switches1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_pause_tightening1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_platform_delivery_matrix1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_reaction_captions3 fields changed- added
Input schema / properties / max_cue_charsAdded value: +{ + "description": "Longest caption text before a cue is split at a word boundary; defaults to 84 (two 42-character lines).", + "maximum": 400, + "minimum": 16, + "type": "integer" +} - added
Input schema / properties / max_cue_secondsAdded value: +{ + "description": "Longest time one caption stays up before it is split; defaults to 6.", + "maximum": 30, + "minimum": 1, + "type": "number" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_short_export_folder1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_short_subscribe_cta1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_shot_match2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_silence_review_markers1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_speaker_checkerboard1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
plan_word_mute_ranges1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
play_source_monitor2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
play_timeline1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_after_effects_render1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_after_effects_render_handoff2 fields changed- changed
Input schema / properties / premiere_project_path / descriptionPrevious value: -"Exact open, saved Premiere project path."New value: +"Exact open, saved Premiere project path. It may be outside approved_workspace_path: it is only compared with the project Premiere has open." - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_brand_spot1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_edit_plan5 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / plan / descriptionPrevious value: -"An edit plan containing insert_clip and remove_clip operations (maximum 100)"New value: +"An edit plan: { sequence_id?, operations: [...] } with up to 100 insert_clip and remove_clip operations. Operations run in order, and each one's times refer to the timeline as the operations before it left it." - added
Input schema / properties / plan / propertiesAdded value: +{ + "operations": { + "items": { + "properties": { + "audio_track_index": { + "description": "insert_clip: audio track (default 0)", + "minimum": 0, + "type": "integer" + }, + "include_linked": { + "description": "remove_clip without ripple: also remove linked audio/video partners (default true)", + "type": "boolean" + }, + "item_id": { + "description": "insert_clip: project item node ID or name", + "type": "string" + }, + "node_id": { + "description": "remove_clip: timeline clip node ID", + "type": "string" + }, + "ripple": { + "description": "remove_clip: close the gap with a verified sync-locked ripple delete (always takes linked partners)", + "type": "boolean" + }, + "start_seconds": { + "description": "insert_clip: timeline insert time in seconds (insert edit, sync-locked tracks shift)", + "minimum": 0, + "type": "number" + }, + "type": { + "enum": [ + "insert_clip", + "remove_clip" + ], + "type": "string" + }, + "video_track_index": { + "description": "insert_clip: video track (default 0)", + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "maxItems": 100, + "minItems": 1, + "type": "array" + }, + "sequence_id": { + "description": "Sequence name or ID to edit (activated first); defaults to the active sequence", + "type": "string" + } +} - added
Input schema / properties / plan / requiredAdded value: +[ + "operations" +] - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_editorial_plan1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_mogrt_batch3 fields changed- added
Input schema / properties / brand_kit / properties / font_family / descriptionAdded value: +"PostScript font name for the template text (for example Halogen-Bold). Use a font from Adobe Fonts: After Effects will not export a template with other fonts unattended." - added
Input schema / properties / brand_kit / properties / safe_margin_percent / descriptionAdded value: +"Title-safe margin: 2-25 (percent) or 0.02-0.25 (fraction of the frame); default 10%." - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_mogrt_library_publish1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_mogrt_premiere_handoff1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_mogrt_recipe3 fields changed- added
Input schema / properties / brand_kit / properties / font_family / descriptionAdded value: +"PostScript font name for the template text (for example Halogen-Bold). Use a font from Adobe Fonts: After Effects will not export a template with other fonts unattended." - added
Input schema / properties / brand_kit / properties / safe_margin_percent / descriptionAdded value: +"Title-safe margin: 2-25 (percent) or 0.02-0.25 (fraction of the frame); default 10%." - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_motion_graphics_demo1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_product_spot1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_project_intake1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_watched_media_import1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
preview_workflow_recipe1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
publish_mogrt_to_library1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
rank_short_form_candidates1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
razor_all_tracks2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
read_sequence_captions1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
read_video_scopes2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
redo3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / propertiesAdded value: +{ + "count": { + "description": "Number of redo steps (default: 1)", + "type": "number" + }, + "expected_undo_stack_index": { + "description": "Optional safety guard: the undoStackIndexAfter reported by the undo you want to redo. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. This compares the position only: if other actions were undone and redone, or new ones recorded, since, the position can match again and redo would re-apply a different action than the one you undid (a new action also clears Premiere's redo history).", + "type": "number" + } +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
refresh_media2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
relink_media2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
remove_all_effects2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
remove_effect2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
remove_effect_by_name2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
remove_from_timeline3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / include_linkedAdded value: +{ + "description": "Also remove the clip's linked audio/video partners (default: true). A ripple removal always includes them, since closing the gap on one side only would desync the timeline.", + "type": "boolean" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
remove_keyframe2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
remove_keyframe_range2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
remove_selected_clips2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
rename_bin2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
rename_clip2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
rename_project_item2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
rename_track2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
replace_clip2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
replace_clip_media2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
reverse_clip2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
ripple_delete3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / range_content / descriptionPrevious value: -"What to do about clips on OTHER participating tracks that sit entirely inside the time range being closed (the usual case in a multicam-style sequence with aligned clips). 'refuse' (default) changes nothing and reports them; 'delete' also removes them, i.e. lifts that whole time segment out of every participating track and closes up. 'delete' is destructive across tracks -- the removed clips are listed in the result."New value: +"What to do about other clips on participating tracks that sit entirely inside the time range being closed (the usual case in a multicam-style sequence with aligned clips). With scope 'sync_locked' the clip's own linked audio/video partners are always removed with it, as in Premiere; with 'own_track' they are kept. 'refuse' (default) changes nothing and reports them; 'delete' also removes them, i.e. lifts that whole time segment out of every participating track and closes up. 'delete' is destructive across tracks -- the removed clips are listed in the result." - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
roll_edit3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / include_linkedAdded value: +{ + "description": "Also apply the edit to the clip's linked audio/video partners so picture and sound stay in sync (default: true).", + "type": "boolean" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
save_project1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
save_project_as2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
scene_edit_detection2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
search_project_context2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
search_project_items2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
search_workflow_recipes1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
select_all_clips2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
select_clips_by_color2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
select_clips_by_name2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
select_clips_by_pattern1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
select_clips_in_range2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
select_disabled_clips1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
select_item2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_active_sequence2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_all_tracks_targeted2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_anti_alias_quality2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_blend_mode2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_anchor_point2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_duration3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / include_linkedAdded value: +{ + "description": "Also apply the edit to the clip's linked audio/video partners, as Premiere does with linked selection (default: true).", + "type": "boolean" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_opacity2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_pan2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_position4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / x / descriptionPrevious value: -"X position in pixels"New value: +"X position in sequence pixels (converted to Premiere's normalized Position when the host stores it that way)" - changed
Input schema / properties / y / descriptionPrevious value: -"Y position in pixels"New value: +"Y position in sequence pixels (converted to Premiere's normalized Position when the host stores it that way)" - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_properties4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / position_x / descriptionPrevious value: -"Horizontal position"New value: +"Horizontal position in sequence pixels" - changed
Input schema / properties / position_y / descriptionPrevious value: -"Vertical position"New value: +"Vertical position in sequence pixels" - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_properties_batch1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_rotation2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_scale2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_selection2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_speed_qe2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_start_time2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clip_volume2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_clips_volume2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_color_label2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_color_value2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_effect_property2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_footage_interpretation2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_frame_blend2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_graphics_white_luminance2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_item_in_out2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_keyframe_interpolation2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_metadata2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_offline2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_override_frame_rate2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_override_pixel_aspect_ratio2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_playhead_position2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_poster_frame2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_project_item_audio_channel_mapping2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_project_panel_metadata2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_project_scratch_disk3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / save_and_verifyAdded value: +{ + "description": "Save the project afterwards and confirm the saved scratch-disk settings (default: false). Premiere has no scratch-disk getter, so without this the result is unverified.", + "type": "boolean" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_scale_to_frame_size2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_scale_width_height4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / scale_height / descriptionPrevious value: -"Scale height percentage"New value: +"Scale height percentage (0-10000). Written to Motion > Scale, which is the height when Uniform Scale is off." - changed
Input schema / properties / scale_width / descriptionPrevious value: -"Scale width percentage"New value: +"Scale width percentage (0-10000)" - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_scratch_disk_path6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / path / descriptionPrevious value: -"Full directory path for the scratch disk"New value: +"Absolute path of an existing folder, or \"SameAsProject\"" - added
Input schema / properties / save_and_verifyAdded value: +{ + "description": "Save the project afterwards and confirm the saved scratch-disk settings (default: false). Premiere has no scratch-disk getter, so without this the result is unverified.", + "type": "boolean" +} - changed
Input schema / properties / scratch_disk_type / descriptionPrevious value: -"Type: 'capturedVideo', 'capturedAudio', 'videoPreview', 'audioPreview', 'autoSave', 'ccLibraries'"New value: +"Which scratch disk to set" - added
Input schema / properties / scratch_disk_type / enumAdded value: +[ + "capturedVideo", + "capturedAudio", + "videoPreview", + "audioPreview", + "autoSave", + "ccLibraries", + "motionGraphicsTemplateMedia" +] - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_sequence_audio_settings2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_sequence_display_format2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_sequence_field_type2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_sequence_frame_rate2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_sequence_in_out_points2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_sequence_pixel_aspect_ratio2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_sequence_resolution2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_sequence_settings2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_source_in_out2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_start_time2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_target_track2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_time_interpolation2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_transcode_on_ingest2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_uniform_scale2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_work_area2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_workspace2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_xmp_metadata2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
set_zero_point2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
setup_ducking1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
slide_edit3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / include_linkedAdded value: +{ + "description": "Also apply the edit to the clip's linked audio/video partners so picture and sound stay in sync (default: true).", + "type": "boolean" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
slip_edit3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / include_linkedAdded value: +{ + "description": "Also apply the edit to the clip's linked audio/video partners so picture and sound stay in sync (default: true).", + "type": "boolean" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
speed_change2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
split_clip2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
stabilize_clip2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
start_batch_encode1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
stop_playback3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / propertiesAdded value: +{ + "target": { + "description": "What to stop. Default \"timeline\". \"source\" is refused because no documented API stops only the Source Monitor.", + "enum": [ + "timeline", + "source" + ], + "type": "string" + } +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
toggle_track_visibility2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
trim_clip3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / include_linkedAdded value: +{ + "description": "Also apply the edit to the clip's linked audio/video partners, as Premiere does with linked selection (default: true).", + "type": "boolean" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
undo3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / expected_undo_stack_indexAdded value: +{ + "description": "Optional safety guard: the undoStackIndex a tool result reported right after the call you want to reverse. The step is refused, with nothing changed, when Premiere's undo-stack position differs from it. This compares the position only: if actions were undone and new ones recorded since, the position can match again and undo would reverse the newer action.", + "type": "number" +} - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
unlink_selection1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
unnest_sequence2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
update_marker3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / color / descriptionPrevious value: -"New color index"New value: +"New color index (0=Green, 1=Red, 2=Purple, 3=Orange, 4=Yellow, 5=White, 6=Blue, 7=Cyan)" - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
validate_cmx3600_edl2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
validate_export_preset2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
validate_mogrt_brand_kit3 fields changed- added
Input schema / properties / brand_kit / properties / font_family / descriptionAdded value: +"PostScript font name for the template text (for example Halogen-Bold). Use a font from Adobe Fonts: After Effects will not export a template with other fonts unattended." - added
Input schema / properties / brand_kit / properties / safe_margin_percent / descriptionAdded value: +"Title-safe margin: 2-25 (percent) or 0.02-0.25 (fraction of the frame); default 10%." - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
validate_platform_publish_package1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
validate_project_for_export1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
verify_after_effects_connection1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
verify_delivery_conformance2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
verify_delivery_file2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
verify_fcpxml_media_references2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
verify_mogrt_artifact1 field changed- changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
- Changed
verify_premiere_connection2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Output schema / properties / data / descriptionPrevious value: -"Tool-specific result data when ok is true."New value: +"Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it."
2 tool updates
v1.18.2- Changed
get_sequence_structure2 fields changed- added
Input schema / properties / sequence_id / maxLengthAdded value: +512 - added
Input schema / properties / sequence_id / minLengthAdded value: +1
- Changed
inspect_dom_object3 fields changed- changed
Input schema / properties / object_path / descriptionPrevious value: -"Dot-path to the DOM object to inspect (e.g., 'app.project.activeSequence')"New value: +"Property path starting with app or qe (e.g. 'app.project.activeSequence.videoTracks[0]'). Function calls and statements are rejected." - added
Input schema / properties / object_path / maxLengthAdded value: +512 - added
Input schema / properties / object_path / minLengthAdded value: +1
12 tool updates
v1.18.0- Added
compute_mask_fit_motion - Changed
create_bin2 fields changed- changed
Input schema / properties / parent_bin / descriptionPrevious value: -"Optional parent bin name or node ID. Creates in root if omitted."New value: +"Optional parent bin node ID, slash-separated bin path, or exact bin name. Alias of parent_bin_id that also accepts a path or name." - added
Input schema / properties / parent_bin_idAdded value: +{ + "description": "Optional node ID of the existing parent bin (searched recursively through nested bins). Creates in the project root if both parent_bin_id and parent_bin are omitted.", + "type": "string" +}
- Changed
get_mogrt_component1 field changed- added
Input schema / properties / expected_valuesAdded value: +{ + "additionalProperties": { + "type": "string" + }, + "description": "Optional read-only audit map of MOGRT text parameter display names to the text each should contain (for example { \"Headline\": \"Chapter 3\" }). Result audit.status is verified, mismatch, or missing_property.", + "type": "object" +}
- Changed
import_mogrt1 field changed- added
Input schema / properties / text_valuesAdded value: +{ + "additionalProperties": { + "type": "string" + }, + "description": "Optional map of MOGRT text parameter display names to the exact text to write (for example { \"Headline\": \"Chapter 3\" }). Each value is written explicitly after import and read back; the result reports verified, mismatch, missing_property, or committed_unverified per field.", + "type": "object" +}
- Changed
manage_proxies1 field changed- changed
Input schema / properties / preset_path / descriptionPrevious value: -"Path to a proxy ingest preset (.epr) for 'create'. If omitted, the first preset found in Premiere's IngestPresets/Proxy folder is used."New value: +"Path to a proxy ingest preset (.epr) for 'create'. If omitted, the server lists Premiere's IngestPresets/Proxy presets and AME H.264 system presets, skips every preset whose output destination is Same as Project (Adobe's shipped proxy presets are), and uses the first remaining one. Fails with a clear error when none qualify."
- Added
paste_clip_attributes - Changed
preview_mogrt_recipe4 fields changed- changed
Input schema / properties / headline / descriptionPrevious value: -"Primary lower-third text, at most 160 characters."New value: +"Primary headline text, at most 160 characters. Required for text recipes; optional caption for media_placeholder." - added
Input schema / properties / placeholder_media_pathAdded value: +{ + "description": "Required for media_placeholder: absolute workspace-contained PNG, JPEG, MOV, or MP4 placed as the swappable Essential Graphics media slot.", + "type": "string" +} - changed
Input schema / properties / recipe / enumPrevious value: -[ - "lower_third", - "title_card", - "callout", - "quote_card", - "social_end_card" -]New value: +[ + "lower_third", + "title_card", + "callout", + "quote_card", + "social_end_card", + "media_placeholder" +] - added
Input schema / properties / text_controlsAdded value: +{ + "description": "full (default) also exposes per-text-layer Font Size, Fill Color, Stroke Color, Stroke Width, Position, Scale, Rotation, Anchor Point, and Opacity controls; text_only exposes only the text strings.", + "enum": [ + "full", + "text_only" + ], + "type": "string" +}
- Added
set_clip_duration - Changed
set_clip_properties1 field changed- changed
Input schema / properties / speed / descriptionPrevious value: -"Unsupported by Premiere's public scripting APIs. Supplying this returns an actionable error without mutating the clip."New value: +"Unsupported by Premiere's documented scripting APIs. Supplying this returns an actionable error without mutating the clip; use set_clip_duration to change timeline length."
- Changed
set_scale_to_frame_size1 field changed- changed
Input schema / properties / item_id / descriptionPrevious value: -"Node ID or name of the project item"New value: +"Timeline clip node ID in the active sequence, or project item node ID or name"
- Changed
set_source_in_out5 fields changed- added
Input schema / anyOfAdded value: +[ + { + "required": [ + "in_seconds" + ] + }, + { + "required": [ + "out_seconds" + ] + } +] - changed
Input schema / properties / in_seconds / descriptionPrevious value: -"In point in seconds (optional)"New value: +"In point in seconds. Provide this, out_seconds, or both." - added
Input schema / properties / in_seconds / minimumAdded value: +0 - changed
Input schema / properties / out_seconds / descriptionPrevious value: -"Out point in seconds (optional)"New value: +"Out point in seconds. Provide this, in_seconds, or both." - added
Input schema / properties / out_seconds / minimumAdded value: +0
- Changed
set_target_track1 field changed- added
Input schema / properties / exclusiveAdded value: +{ + "description": "When targeting (targeted=true), also untarget every other track of the same type so only this track is targeted (default: true). Ignored when targeted=false.", + "type": "boolean" +}
2 tool updates
v1.16.3- Changed
get_metadata4 fields changed- changed
Input schema / properties / include_project_metadata / descriptionPrevious value: -"Include the potentially large Project Metadata XML payload (default: true). Set false for a bounded identity/path response."New value: +"Include the potentially large Project Metadata XML payload (default: true unless parse_fields is true)." - added
Input schema / properties / include_sensitiveAdded value: +{ + "description": "When parse_fields is true, include GPS, serials, and similar EXIF. Default false.", + "type": "boolean" +} - changed
Input schema / properties / include_xmp_metadata / descriptionPrevious value: -"Include the potentially large XMP XML payload (default: true). Set false for a bounded identity/path response."New value: +"Include the potentially large XMP XML payload (default: true unless parse_fields is true)." - added
Input schema / properties / parse_fieldsAdded value: +{ + "description": "Parse project metadata and XMP into named fields (default false). When true, raw XML is omitted unless include_project_metadata or include_xmp_metadata is explicitly true.", + "type": "boolean" +}
- Changed
set_metadata5 fields changed- added
Input schema / properties / expected_valueAdded value: +{ + "description": "Optional compare-and-set guard for field_name writes.", + "type": "string" +} - changed
Input schema / properties / field_name / descriptionPrevious value: -"Legacy partial-write argument. It is no longer executed because it cannot form a valid Project Metadata XML payload; use metadata_xml and updated_fields instead."New value: +"Named field to update (for example Column.Intrinsic.LogNote). Used with value; cannot be combined with metadata_xml." - added
Input schema / properties / field_namespaceAdded value: +{ + "description": "XMP namespace URI or alias (premiere, dc, xmp, exif). Default premiere for project packet; required for xmp.", + "type": "string" +} - added
Input schema / properties / packetAdded value: +{ + "description": "Packet for field_name writes. Default project (Premiere-private metadata).", + "enum": [ + "project", + "xmp" + ], + "type": "string" +} - changed
Input schema / properties / value / descriptionPrevious value: -"Legacy partial-write argument. It is no longer executed; read projectMetadata first, update the complete XML, then supply metadata_xml and updated_fields."New value: +"Replacement value for field_name. Maximum 4096 characters."
11 tool updates
v1.16.1- Added
add_markers_batch - Changed
add_to_timeline1 field changed- added
Input schema / properties / scopeAdded value: +{ + "description": "Which tracks shift: 'sync_locked' (default) matches Premiere's insert; 'target_tracks' ripples only the named pair and WILL desync other tracks.", + "enum": [ + "sync_locked", + "target_tracks" + ], + "type": "string" +}
- Added
create_sequence_checkpoint - Added
export_sequence_edl - Changed
insert_from_source1 field changed- added
Input schema / properties / scopeAdded value: +{ + "description": "Which tracks shift: 'sync_locked' (default) matches Premiere's insert and keeps sync-locked tracks in sync; 'target_tracks' ripples only the named pair and WILL desync other tracks.", + "enum": [ + "sync_locked", + "target_tracks" + ], + "type": "string" +}
- Added
list_sequence_checkpoints - Added
navigate_playhead - Added
plan_client_notes_checklist - Added
plan_multicam_angle_switches - Changed
ripple_delete3 fields changed- added
Input schema / properties / dry_runAdded value: +{ + "description": "Validate and report the shift plan without changing the timeline (default: false)", + "type": "boolean" +} - added
Input schema / properties / range_contentAdded value: +{ + "description": "What to do about clips on OTHER participating tracks that sit entirely inside the time range being closed (the usual case in a multicam-style sequence with aligned clips). 'refuse' (default) changes nothing and reports them; 'delete' also removes them, i.e. lifts that whole time segment out of every participating track and closes up. 'delete' is destructive across tracks -- the removed clips are listed in the result.", + "enum": [ + "refuse", + "delete" + ], + "type": "string" +} - added
Input schema / properties / scopeAdded value: +{ + "description": "Which tracks shift: 'sync_locked' (default) shifts the clip's track plus every sync-locked track, matching Premiere's ripple behaviour; 'own_track' shifts only the clip's own track and WILL desync other tracks.", + "enum": [ + "sync_locked", + "own_track" + ], + "type": "string" +}
- Added
select_clips_by_pattern
16 tool updates
v1.16.0- Changed
add_to_render_queue2 fields changed- changed
Input schema / properties / preset_path / descriptionPrevious value: -"Path to an AME preset file (.epr)"New value: +"Required path to an AME preset file (.epr). Omitting this raises an Illegal Parameter error on current Premiere hosts." - changed
Input schema / requiredPrevious value: -[ - "output_path" -]New value: +[ + "output_path", + "preset_path" +]
- Changed
build_caption_artifact1 field changed- changed
Input schema / properties / word_timeline / descriptionPrevious value: -"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp."New value: +"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them."
- Changed
detect_repeated_takes1 field changed- changed
Input schema / properties / word_timeline / descriptionPrevious value: -"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp."New value: +"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them."
- Added
get_caption_style_guidance - Changed
plan_active_speaker_reframe1 field changed- changed
Input schema / properties / word_timeline / descriptionPrevious value: -"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp."New value: +"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them."
- Changed
plan_chapter_markers1 field changed- changed
Input schema / properties / word_timeline / descriptionPrevious value: -"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp."New value: +"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them."
- Changed
plan_emphasis_zoom_keyframes1 field changed- changed
Input schema / properties / word_timeline / descriptionPrevious value: -"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp."New value: +"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them."
- Changed
plan_filler_word_removal1 field changed- changed
Input schema / properties / word_timeline / descriptionPrevious value: -"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp."New value: +"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them."
- Changed
plan_pause_tightening1 field changed- changed
Input schema / properties / word_timeline / descriptionPrevious value: -"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp."New value: +"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them."
- Added
plan_reaction_captions - Added
plan_short_export_folder - Added
plan_short_subscribe_cta - Changed
plan_speaker_checkerboard1 field changed- changed
Input schema / properties / word_timeline / descriptionPrevious value: -"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp."New value: +"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them."
- Changed
plan_word_mute_ranges1 field changed- changed
Input schema / properties / word_timeline / descriptionPrevious value: -"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp."New value: +"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them."
- Changed
rank_short_form_candidates1 field changed- changed
Input schema / properties / word_timeline / descriptionPrevious value: -"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp."New value: +"Caller-supplied word-timed transcript for one Premiere source item. Words must be ordered by start time and bound to the transcript revision returned by get_clip_transcript_uxp. Different labeled speakers may overlap; same-speaker words may not, even when another speaker is between them."
- Changed
set_effect_property3 fields changed- added
Input schema / properties / value / additionalPropertiesAdded value: +true - changed
Input schema / properties / value / descriptionPrevious value: -"Value to set. Use a number for scalar properties, an array of numbers for vector properties such as Motion > Position or Anchor Point ([x, y]), a boolean for checkbox properties, or the exact JSON string reported for a MOGRT text or graphic parameter."New value: +"Value to set. Use a number for scalar properties, an array of numbers for vector properties such as Motion > Position or Anchor Point ([x, y]), a boolean for checkbox properties, the exact JSON string reported for a MOGRT text or graphic parameter, or that same JSON object if the client parsed it." - changed
Input schema / properties / value / typePrevious value: -[ - "number", - "string", - "boolean", - "array" -]New value: +[ + "number", + "string", + "boolean", + "array", + "object" +]
131 tool updates
v1.14.9- Changed
add_audio_keyframes1 field changed- removed
Input schema / properties / keyframes / items / additionalPropertiesRemoved value: -{}
- Changed
add_text_overlay1 field changed- changed
Input schema / properties / caption_format / enumPrevious value: -[ - "608", - "708", - "subtitle", - "teletext" -]New value: +[ + "subtitle", + "608", + "708", + "teletext" +]
- Changed
add_to_timeline_batch11 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / clips / items / additionalPropertiesPrevious value: -{}New value: +false - added
Input schema / properties / clips / items / properties / audio_track_index / minimumAdded value: +0 - added
Input schema / properties / clips / items / properties / audio_track_index / typeAdded value: +"integer" - added
Input schema / properties / clips / items / properties / item_id / maxLengthAdded value: +512 - added
Input schema / properties / clips / items / properties / item_id / minLengthAdded value: +1 - added
Input schema / properties / clips / items / properties / start_seconds / minimumAdded value: +0 - added
Input schema / properties / clips / items / properties / track_index / minimumAdded value: +0 - added
Input schema / properties / clips / items / properties / track_index / typeAdded value: +"integer" - added
Input schema / properties / clips / maxItemsAdded value: +32 - added
Input schema / properties / clips / minItemsAdded value: +1
- Added
analyze_dialogue_edit_candidates - Added
apply_after_effects_render_handoff - Changed
apply_edit_plan2 fields changed- removed
Input schema / properties / plan / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / plan / propertyNamesRemoved value: -{ - "type": "string" -}
- Added
apply_mogrt_premiere_handoff - Changed
apply_spot_workflow_plan3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / plan / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / plan / propertyNamesRemoved value: -{ - "type": "string" -}
- Added
audit_timeline_health - Added
build_caption_artifact - Added
check_caption_safe_zone - Changed
check_offline_media1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
close_all_source_clips1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
close_source_monitor1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
consolidate_duplicates1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
create_caption_track15 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / actionAdded value: +{ + "default": "import", + "description": "Use import (the default) to create a Premiere caption track, or plan_lecture_workflow for a read-only SRT/VTT timing and review plan.", + "enum": [ + "import", + "plan_lecture_workflow" + ], + "type": "string" +} - added
Input schema / properties / allow_proportional_scalingAdded value: +{ + "description": "For plan_lecture_workflow, explicitly permit a bounded timing-scale preview when the artifact end does not match target_duration_seconds. This still never rewrites a caption artifact.", + "type": "boolean" +} - added
Input schema / properties / artifact_formatAdded value: +{ + "description": "For plan_lecture_workflow, the syntax of caption_content. VTT content must include its WEBVTT header.", + "enum": [ + "srt", + "vtt" + ], + "type": "string" +} - added
Input schema / properties / caption_contentAdded value: +{ + "description": "For plan_lecture_workflow, the caller-owned SRT or VTT content to parse locally. The returned plan contains no caption text and does not write this artifact.", + "maxLength": 750000, + "minLength": 1, + "type": "string" +} - changed
Input schema / properties / caption_format / descriptionPrevious value: -"Caption format: 'subtitle' (default), '608', '708', 'teletext', 'ebu', 'op42', 'op47'"New value: +"For action import, Premiere caption format: subtitle (default), 608, 708, teletext, ebu, op42, or op47." - changed
Input schema / properties / item_id / descriptionPrevious value: -"Node ID or name of the imported caption project item (e.g., an .srt file)"New value: +"For action import, the node ID or name of the imported caption project item (for example, an SRT file). Omit for plan_lecture_workflow." - added
Input schema / properties / item_id / maxLengthAdded value: +512 - added
Input schema / properties / observed_offset_secondsAdded value: +{ + "description": "For plan_lecture_workflow, an editor-observed constant offset in seconds. Positive means captions currently appear later than intended; the preview proposes the inverse shift when safe.", + "maximum": 86400, + "minimum": -86400, + "type": "number" +} - changed
Input schema / properties / start_seconds / descriptionPrevious value: -"Offset in seconds from the start of the sequence (default: 0)"New value: +"For action import, offset in seconds from the start of the sequence (default: 0)." - added
Input schema / properties / start_seconds / maximumAdded value: +604800 - added
Input schema / properties / start_seconds / minimumAdded value: +0 - added
Input schema / properties / target_duration_secondsAdded value: +{ + "description": "For plan_lecture_workflow, optional intended sequence duration. A mismatch requires review unless proportional scaling is explicitly authorized.", + "maximum": 604800, + "minimum": 0.001, + "type": "number" +} - added
Input schema / properties / timing_tolerance_secondsAdded value: +{ + "description": "For plan_lecture_workflow, tolerance used to classify an offset or duration mismatch (default: 0.25 seconds).", + "maximum": 10, + "minimum": 0.001, + "type": "number" +} - removed
Input schema / requiredRemoved value: -[ - "item_id" -]
- Added
create_editorial_context_pack - Changed
create_editorial_plan34 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / intent / maxLengthAdded value: +1000 - added
Input schema / properties / intent / minLengthAdded value: +1 - added
Input schema / properties / max_candidates / maximumAdded value: +32 - added
Input schema / properties / max_candidates / minimumAdded value: +1 - added
Input schema / properties / max_candidates / typeAdded value: +"integer" - changed
Input schema / properties / organization_rules / items / additionalPropertiesPrevious value: -{}New value: +false - added
Input schema / properties / organization_rules / items / properties / color_index / maximumAdded value: +14 - added
Input schema / properties / organization_rules / items / properties / color_index / minimumAdded value: +0 - added
Input schema / properties / organization_rules / items / properties / color_index / typeAdded value: +"integer" - added
Input schema / properties / organization_rules / items / properties / keywords / items / maxLengthAdded value: +512 - added
Input schema / properties / organization_rules / items / properties / keywords / items / minLengthAdded value: +1 - added
Input schema / properties / organization_rules / items / properties / keywords / maxItemsAdded value: +64 - added
Input schema / properties / organization_rules / items / properties / keywords / minItemsAdded value: +1 - added
Input schema / properties / organization_rules / items / properties / name / maxLengthAdded value: +255 - added
Input schema / properties / organization_rules / items / properties / name / minLengthAdded value: +1 - added
Input schema / properties / organization_rules / maxItemsAdded value: +16 - changed
Input schema / properties / platform_targets / items / additionalPropertiesPrevious value: -{}New value: +false - added
Input schema / properties / platform_targets / items / properties / height / maximumAdded value: +8192 - added
Input schema / properties / platform_targets / items / properties / height / minimumAdded value: +16 - added
Input schema / properties / platform_targets / items / properties / height / typeAdded value: +"integer" - added
Input schema / properties / platform_targets / items / properties / name / maxLengthAdded value: +64 - added
Input schema / properties / platform_targets / items / properties / name / minLengthAdded value: +1 - added
Input schema / properties / platform_targets / items / properties / sequence_name / maxLengthAdded value: +255 - added
Input schema / properties / platform_targets / items / properties / sequence_name / minLengthAdded value: +1 - added
Input schema / properties / platform_targets / items / properties / width / maximumAdded value: +8192 - added
Input schema / properties / platform_targets / items / properties / width / minimumAdded value: +16 - added
Input schema / properties / platform_targets / items / properties / width / typeAdded value: +"integer" - added
Input schema / properties / platform_targets / maxItemsAdded value: +8 - added
Input schema / properties / platform_targets / minItemsAdded value: +1 - added
Input schema / properties / project_id / maxLengthAdded value: +512 - added
Input schema / properties / project_id / minLengthAdded value: +1 - added
Input schema / properties / sequence_id / maxLengthAdded value: +128 - added
Input schema / properties / sequence_id / minLengthAdded value: +1
- Added
create_mogrt_batch - Added
create_mogrt_recipe - Changed
crop_clip13 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / bottom / maximumAdded value: +100 - added
Input schema / properties / bottom / minimumAdded value: +0 - added
Input schema / properties / edge_feather / maximumAdded value: +100 - added
Input schema / properties / edge_feather / minimumAdded value: +0 - added
Input schema / properties / left / maximumAdded value: +100 - added
Input schema / properties / left / minimumAdded value: +0 - added
Input schema / properties / node_id / maxLengthAdded value: +512 - added
Input schema / properties / node_id / minLengthAdded value: +1 - added
Input schema / properties / right / maximumAdded value: +100 - added
Input schema / properties / right / minimumAdded value: +0 - added
Input schema / properties / top / maximumAdded value: +100 - added
Input schema / properties / top / minimumAdded value: +0
- Changed
deselect_all_clips1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
detect_active_picture_bounds1 field changed- added
Input schema / properties / limit / typeAdded value: +"integer"
- Changed
detect_audio_transients1 field changed- added
Input schema / properties / maximum_events / typeAdded value: +"integer"
- Changed
detect_beats4 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / max_beats / maximumAdded value: +2000 - added
Input schema / properties / max_beats / minimumAdded value: +1 - added
Input schema / properties / max_beats / typeAdded value: +"integer"
- Changed
detect_motion_peaks1 field changed- added
Input schema / properties / maximum_events / typeAdded value: +"integer"
- Added
detect_repeated_takes - Changed
detect_scene_edits2 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / operation_id / patternAdded value: +"^[A-Za-z0-9._:-]{1,128}$"
- Added
diff_sequence_snapshots - Added
enqueue_after_effects_render - Changed
export_sequence_marker_review_frames1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
extract_selection1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
generate_media_contact_sheet3 fields changed- added
Input schema / properties / columns / typeAdded value: +"integer" - added
Input schema / properties / rows / typeAdded value: +"integer" - added
Input schema / properties / thumbnail_width / typeAdded value: +"integer"
- Changed
get_active_sequence1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_all_project_paths1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_av_feature_support1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_bin_contents8 fields changed- added
Input schema / properties / limit / maximumAdded value: +500 - added
Input schema / properties / limit / minimumAdded value: +1 - added
Input schema / properties / limit / typeAdded value: +"integer" - added
Input schema / properties / max_depth / maximumAdded value: +10 - added
Input schema / properties / max_depth / minimumAdded value: +0 - added
Input schema / properties / max_depth / typeAdded value: +"integer" - added
Input schema / properties / offset / minimumAdded value: +0 - added
Input schema / properties / offset / typeAdded value: +"integer"
- Changed
get_bridge_telemetry1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_capabilities13 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / available_onlyAdded value: +{ + "description": "Filter to tools registered under this session's authority and tool packs. Defaults to true for tool_query, false otherwise. Set false to diagnose unavailable matches; this does not enable them.", + "type": "boolean" +} - added
Input schema / properties / tool_limit / maximumAdded value: +128 - added
Input schema / properties / tool_limit / minimumAdded value: +1 - added
Input schema / properties / tool_limit / typeAdded value: +"integer" - added
Input schema / properties / tool_names / items / maxLengthAdded value: +256 - added
Input schema / properties / tool_names / items / minLengthAdded value: +1 - added
Input schema / properties / tool_names / maxItemsAdded value: +128 - added
Input schema / properties / tool_names / minItemsAdded value: +1 - added
Input schema / properties / tool_names / uniqueItemsAdded value: +true - added
Input schema / properties / tool_offset / minimumAdded value: +0 - added
Input schema / properties / tool_offset / typeAdded value: +"integer" - added
Input schema / properties / tool_queryAdded value: +{ + "description": "Optional case-insensitive keywords matched against tool names and descriptions. Exact names rank first. Search defaults to 20 results with descriptions and session availability; page with tool_offset/tool_limit.", + "maxLength": 256, + "minLength": 1, + "pattern": "\\S", + "type": "string" +}
- Changed
get_duplicate_media1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_full_project_overview9 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / max_bin_depth / maximumAdded value: +10 - added
Input schema / properties / max_bin_depth / minimumAdded value: +0 - added
Input schema / properties / max_bin_depth / typeAdded value: +"integer" - added
Input schema / properties / sequence_limit / maximumAdded value: +500 - added
Input schema / properties / sequence_limit / minimumAdded value: +1 - added
Input schema / properties / sequence_limit / typeAdded value: +"integer" - added
Input schema / properties / sequence_offset / minimumAdded value: +0 - added
Input schema / properties / sequence_offset / typeAdded value: +"integer"
- Changed
get_graphics_white_luminance1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_insertion_bin1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_offline_media1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_playhead_position1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_premiere_state1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_project_info1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_project_panel_metadata1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_project_scratch_disks1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_render_queue_status1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_selected_clips1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_sequence_count1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_sequence_in_out_points1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_source_monitor_info1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_source_monitor_position1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_target_tracks1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_total_clip_count1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_unused_media1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_version_info1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_work_area1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
get_workspaces1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
import_fcp_xml3 fields changed- changed
Input schema / properties / path / descriptionPrevious value: -"Full path to the FCP XML file"New value: +"Full path to the FCP XML file to read" - added
Input schema / properties / project_pathAdded value: +{ + "description": "Full path of the new .prproj file Premiere should create for the imported timeline. Required: app.openFCPXML takes both a source and a destination path.", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "path" -]New value: +[ + "path", + "project_path" +]
- Added
inspect_after_effects_render_templates - Added
inspect_after_effects_template_source - Added
inspect_film_editorial_workflow - Added
inspect_mogrt_library - Changed
inspect_project_recovery1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
inspect_sequence_av_settings1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
inspect_stabilizer_status1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
invert_selection1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
lift_selection1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
link_selection1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
list_available_audio_effects1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
list_available_audio_transitions1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
list_available_effects1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
list_available_transitions1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
list_sequences1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Added
manage_media_watch - Changed
manage_project_context6 fields changed- changed
Input schema / properties / action / descriptionPrevious value: -"Capture active context, enrich it, inspect status, or clear one local project index"New value: +"Capture active context, enrich it, import revision-bound editorial evidence, inspect status, or clear one local project index." - changed
Input schema / properties / action / enumPrevious value: -[ - "capture", - "enrich", - "status", - "clear" -]New value: +[ + "capture", + "enrich", + "import_evidence", + "status", + "clear" +] - added
Input schema / properties / evidenceAdded value: +{ + "description": "For import_evidence, up to 512 caller-approved records with strict source/timeline revision guards. The server does not read referenced frame files, invoke analysis, or contact a provider.", + "items": { + "additionalProperties": false, + "properties": { + "end_seconds": { + "description": "Optional end in seconds at or after start_seconds.", + "minimum": 0, + "type": "number" + }, + "frame_reference_id": { + "description": "For frame_reference, an opaque fixture or review-frame identifier, never a native file path or URL.", + "maxLength": 256, + "type": "string" + }, + "id": { + "description": "Optional stable evidence ID for deterministic replacement.", + "maxLength": 256, + "type": "string" + }, + "keywords": { + "description": "Optional local search keywords.", + "items": { + "description": "One local search keyword.", + "maxLength": 256, + "type": "string" + }, + "maxItems": 64, + "type": "array" + }, + "metadata": { + "description": "Optional small scalar metadata. Credential-like and path-like keys are discarded before local storage.", + "type": "object" + }, + "name": { + "description": "Optional bounded display name for the local evidence record.", + "maxLength": 512, + "type": "string" + }, + "sequence_id": { + "description": "Optional captured sequence ID. Requires the exact current timeline_revision.", + "maxLength": 512, + "type": "string" + }, + "source_id": { + "description": "Optional captured source ID. Requires the exact current source_revision.", + "maxLength": 512, + "type": "string" + }, + "source_revision": { + "description": "Required exact source revision whenever source_id is supplied.", + "maxLength": 256, + "type": "string" + }, + "speaker_label": { + "description": "For transcript_passage or speaker_label, an editor-supplied speaker label. It is not inferred by this server.", + "maxLength": 160, + "type": "string" + }, + "start_seconds": { + "description": "Optional non-negative source or sequence start in seconds.", + "minimum": 0, + "type": "number" + }, + "text": { + "description": "Caller-approved local evidence text. Required except for speaker_label and frame_reference, which can derive a bounded local note.", + "maxLength": 20000, + "type": "string" + }, + "timeline_item_id": { + "description": "Optional captured timeline item ID. Requires the exact current timeline_revision.", + "maxLength": 512, + "type": "string" + }, + "timeline_revision": { + "description": "Required exact timeline revision whenever sequence_id or timeline_item_id is supplied.", + "maxLength": 256, + "type": "string" + }, + "track_index": { + "description": "Optional recorded track index when the evidence is tied to a timeline item.", + "minimum": 0, + "type": "number" + }, + "track_type": { + "description": "Optional recorded track type when the evidence is tied to a timeline item.", + "enum": [ + "video", + "audio" + ], + "type": "string" + }, + "type": { + "description": "Evidence shape: transcript passage, speaker label, shot log, audio observation, operator note, or an opaque frame reference.", + "enum": [ + "transcript_passage", + "speaker_label", + "shot_log", + "audio_observation", + "operator_note", + "frame_reference" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "type": "array" +} - removed
Input schema / properties / records / items / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / records / items / properties / metadata / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / records / items / properties / metadata / propertyNamesRemoved value: -{ - "type": "string" -}
- Changed
ping1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Added
plan_active_speaker_reframe - Added
plan_beat_montage - Added
plan_chapter_markers - Added
plan_cross_app_workflow - Added
plan_emphasis_zoom_keyframes - Added
plan_filler_word_removal - Added
plan_pause_tightening - Added
plan_platform_delivery_matrix - Changed
plan_silence_review_markers1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Added
plan_speaker_checkerboard - Added
plan_word_mute_ranges - Changed
play_timeline1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Added
preview_after_effects_render - Added
preview_after_effects_render_handoff - Changed
preview_brand_spot1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
preview_edit_plan2 fields changed- removed
Input schema / properties / plan / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / plan / propertyNamesRemoved value: -{ - "type": "string" -}
- Changed
preview_editorial_plan3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - removed
Input schema / properties / plan / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / plan / propertyNamesRemoved value: -{ - "type": "string" -}
- Added
preview_mogrt_batch - Added
preview_mogrt_library_publish - Added
preview_mogrt_premiere_handoff - Added
preview_mogrt_recipe - Changed
preview_motion_graphics_demo1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
preview_product_spot1 field changed- added
Input schema / additionalPropertiesAdded value: +false
- Changed
preview_project_intake6 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / max_items / maximumAdded value: +2000 - added
Input schema / properties / max_items / minimumAdded value: +1 - added
Input schema / properties / max_items / typeAdded value: +"integer" - removed
Input schema / properties / template / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / template / propertyNamesRemoved value: -{ - "type": "string" -}
- Added
preview_watched_media_import - Added
preview_workflow_recipe - Added
publish_mogrt_to_library - Added
rank_short_form_candidates - Changed
read_sequence_captions3 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / sequence_id / maxLengthAdded value: +512 - added
Input schema / properties / sequence_id / minLengthAdded value: +1
- Changed
redo1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
remove_effect1 field changed- added
Input schema / properties / effect_index / minimumAdded value: +0
- Changed
save_project1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
search_project_context3 fields changed- added
Input schema / properties / max_results / maximumAdded value: +50 - added
Input schema / properties / max_results / minimumAdded value: +1 - changed
Input schema / properties / max_results / typePrevious value: -"number"New value: +"integer"
- Added
search_workflow_recipes - Changed
select_disabled_clips1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
set_clip_properties_batch9 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / items / items / additionalPropertiesPrevious value: -{}New value: +false - added
Input schema / properties / items / items / properties / node_id / maxLengthAdded value: +512 - added
Input schema / properties / items / items / properties / node_id / minLengthAdded value: +1 - added
Input schema / properties / items / items / properties / opacity / maximumAdded value: +100 - added
Input schema / properties / items / items / properties / opacity / minimumAdded value: +0 - added
Input schema / properties / items / items / properties / scale / exclusiveMinimumAdded value: +0 - added
Input schema / properties / items / maxItemsAdded value: +16 - added
Input schema / properties / items / minItemsAdded value: +1
- Changed
set_effect_property6 fields changed- changed
Input schema / properties / value / descriptionPrevious value: -"Number or string value to set. Use the exact JSON string reported for a MOGRT text or graphic parameter."New value: +"Value to set. Use a number for scalar properties, an array of numbers for vector properties such as Motion > Position or Anchor Point ([x, y]), a boolean for checkbox properties, or the exact JSON string reported for a MOGRT text or graphic parameter." - added
Input schema / properties / value / itemsAdded value: +{ + "type": "number" +} - added
Input schema / properties / value / maxItemsAdded value: +4 - added
Input schema / properties / value / maxLengthAdded value: +8192 - added
Input schema / properties / value / minItemsAdded value: +1 - added
Input schema / properties / value / typeAdded value: +[ + "number", + "string", + "boolean", + "array" +]
- Changed
set_metadata1 field changed- added
Input schema / properties / updated_fields / minItemsAdded value: +1
- Changed
set_sequence_frame_rate2 fields changed- added
Input schema / properties / frame_rate / maximumAdded value: +240 - added
Input schema / properties / frame_rate / minimumAdded value: +1
- Changed
setup_ducking9 fields changed- added
Input schema / additionalPropertiesAdded value: +false - changed
Input schema / properties / ducking_windows / items / additionalPropertiesPrevious value: -{}New value: +false - added
Input schema / properties / ducking_windows / items / properties / end_seconds / minimumAdded value: +0 - added
Input schema / properties / ducking_windows / items / properties / start_seconds / minimumAdded value: +0 - added
Input schema / properties / ducking_windows / maxItemsAdded value: +32 - added
Input schema / properties / ducking_windows / minItemsAdded value: +0 - added
Input schema / properties / fade_seconds / exclusiveMinimumAdded value: +0 - added
Input schema / properties / node_id / maxLengthAdded value: +512 - added
Input schema / properties / node_id / minLengthAdded value: +1
- Changed
split_clip2 fields changed- added
Input schema / properties / time_seconds / minimumAdded value: +0 - added
Input schema / properties / track_index / minimumAdded value: +0
- Changed
start_batch_encode1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
stop_playback1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Changed
trim_clip2 fields changed- added
Input schema / properties / new_in_seconds / minimumAdded value: +0 - added
Input schema / properties / new_out_seconds / minimumAdded value: +0
- Changed
unlink_selection1 field changed- removed
Input schema / propertiesRemoved value: -{}
- Added
validate_mogrt_brand_kit - Added
validate_platform_publish_package - Changed
validate_project_for_export7 fields changed- added
Input schema / additionalPropertiesAdded value: +false - added
Input schema / properties / output_path / maxLengthAdded value: +4096 - added
Input schema / properties / output_path / minLengthAdded value: +1 - added
Input schema / properties / preset_path / maxLengthAdded value: +4096 - added
Input schema / properties / preset_path / minLengthAdded value: +1 - added
Input schema / properties / sequence_id / maxLengthAdded value: +512 - added
Input schema / properties / sequence_id / minLengthAdded value: +1
- Added
verify_after_effects_connection - Added
verify_delivery_conformance - Added
verify_mogrt_artifact
5 tool updates
v1.14.5- Added
detect_beats - Added
detect_motion_peaks - Added
inspect_stabilizer_status - Added
plan_shot_match - Added
read_video_scopes
319 tool updates
v1.14.4- Changed
add_adjustment_layer2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
add_audio_keyframes2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
add_custom_metadata_field2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
add_keyframe2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
add_marker2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
add_marker_to_project_item2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
add_text_overlay2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
add_to_render_queue2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
add_to_timeline2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
add_to_timeline_batch - Changed
add_track2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
add_tracks2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
add_transition2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
add_transition_to_clip2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
adjust_audio_levels2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
analyze_loudness - Added
analyze_video_interlacing - Added
analyze_video_qc - Changed
apply_audio_effect2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
apply_edit_plan2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
apply_effect2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
apply_lut2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
apply_spot_workflow_plan - Changed
attach_custom_property2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
auto_reframe_sequence5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / motion_presetAdded value: +{ + "description": "Premiere Auto Reframe motion preset (default: default)", + "enum": [ + "slower", + "default", + "faster" + ], + "type": "string" +} - added
Input schema / properties / new_nameAdded value: +{ + "description": "Name for the newly created auto-reframed sequence", + "type": "string" +} - added
Input schema / properties / use_nested_sequencesAdded value: +{ + "description": "Whether Auto Reframe should honor nested sequences (default: false)", + "type": "boolean" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
batch_add_transitions2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
batch_apply_effect2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
batch_enable_disable2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
batch_rename_clips3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / pattern / descriptionPrevious value: -"Name pattern. Use {n} for sequential number, {name} for original name (e.g., 'Scene_{n}', '{name}_v2')"New value: +"Name pattern. Use {n} for a sequential number, ## for a zero-padded two-digit sequence number, and {name} for the original name (e.g., 'Scene_##', '{name}_v2')" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
capture_frame2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
check_offline_media2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
clear_item_in_out2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
clear_sequence_in_out2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
close_all_source_clips2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
close_project2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
close_sequence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
close_source_monitor2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
color_correct2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
compare_cmx3600_edls - Changed
consolidate_and_transfer2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
consolidate_duplicates2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
copy_effect_values2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
copy_effects_between_clips2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
create_bars_and_tone5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / audio_sample_rateAdded value: +{ + "description": "Audio sample rate in Hz (default: 48000)", + "type": "number" +} - added
Input schema / properties / pixel_aspect_denominatorAdded value: +{ + "description": "Pixel aspect ratio denominator (default: 1)", + "type": "number" +} - added
Input schema / properties / pixel_aspect_numeratorAdded value: +{ + "description": "Pixel aspect ratio numerator (default: 1)", + "type": "number" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
create_bin2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
create_caption_track2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
create_context_edit_plan2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
create_editorial_plan2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
create_project2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
create_project_backup - Changed
create_sequence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
create_sequence_from_clips2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
create_sequence_from_preset2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
create_smart_bin2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
create_subclip2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
create_subsequence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
crop_clip - Changed
delete_bin2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
delete_marker2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
delete_multiple_project_items2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
delete_preview_files2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
delete_project_item2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
delete_sequence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
delete_track2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
deselect_all_clips2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
detach_proxy2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
detect_active_picture_bounds - Added
detect_audio_transients - Added
detect_scene_edits - Changed
detect_silence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
detect_source_scene_changes - Changed
duplicate_clip2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
duplicate_sequence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
enable_disable_clip2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
encode_file2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
encode_project_item2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
export_aaf2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
export_as_fcp_xml2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
export_as_project2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
export_frame2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
export_omf3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / include_panAdded value: +{ + "description": "Include pan information in the OMF (default: false)", + "type": "boolean" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
export_sequence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
export_sequence_clip_review_frames - Added
export_sequence_marker_review_frames - Added
export_sequence_review_frames - Changed
extract_selection2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
find_items_by_media_path2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
find_project_item_by_name2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
freeze_frame2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
generate_media_contact_sheet - Changed
get_active_sequence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_advanced_feature_support2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_all_project_paths2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_av_feature_support2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_bin_contents5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / limitAdded value: +{ + "description": "Maximum direct children to return. Pair with recursive false for the smallest bounded response." +} - added
Input schema / properties / max_depthAdded value: +{ + "description": "Maximum nested-bin depth when recursive is true. Defaults to the legacy unlimited recursion." +} - added
Input schema / properties / offsetAdded value: +{ + "description": "Zero-based offset into the bin's direct children. Pair with limit for a bounded page." +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_bridge_telemetry2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_capabilities5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / tool_limitAdded value: +{ + "description": "Maximum tool catalog entries to return. Omit with tool_offset to preserve the complete legacy response." +} - added
Input schema / properties / tool_namesAdded value: +{ + "description": "Optional exact tool-name allowlist. Returns only those catalog entries while retaining the overall capability summary.", + "items": { + "type": "string" + }, + "type": "array" +} - added
Input schema / properties / tool_offsetAdded value: +{ + "description": "Zero-based offset into the filtered tool catalog. Pair with tool_limit for an explicitly sized page." +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_clip_adjustment_layer2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_clip_at_playhead2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_clip_at_position2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_clip_links2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_clip_markers2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_clip_properties2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_clip_speed2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_clip_volume2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_color_label2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_color_space2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_duplicate_media2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_effect_properties2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_encoder_presets2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_export_file_extension2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_footage_interpretation2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_full_clip_info2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_full_project_overview6 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / include_bin_treeAdded value: +{ + "description": "Include the recursive bin tree (default: true). Set false to return project statistics and sequences only.", + "type": "boolean" +} - added
Input schema / properties / max_bin_depthAdded value: +{ + "description": "Maximum recursive bin-tree depth when include_bin_tree is true (default: 10)." +} - added
Input schema / properties / sequence_limitAdded value: +{ + "description": "Maximum sequences to include. Omit to preserve the complete legacy response." +} - added
Input schema / properties / sequence_offsetAdded value: +{ + "description": "Zero-based offset into project sequences." +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_full_sequence_info2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_graphics_white_luminance2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_insertion_bin2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_item_info2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_keyframes2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_linked_items2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_metadata4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / include_project_metadataAdded value: +{ + "description": "Include the potentially large Project Metadata XML payload (default: true). Set false for a bounded identity/path response.", + "type": "boolean" +} - added
Input schema / properties / include_xmp_metadataAdded value: +{ + "description": "Include the potentially large XMP XML payload (default: true). Set false for a bounded identity/path response.", + "type": "boolean" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_mogrt_component2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_next_edit_point2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_offline_media2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_playhead_position2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_premiere_state2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_project_info2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_project_item_info2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_project_panel_metadata2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_project_scratch_disks2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_qe_clip_info2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_render_queue_status2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_selected_clips2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_sequence_count2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_sequence_in_out_points2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_sequence_markers_by_type2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_sequence_settings2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_sequence_structure2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_source_monitor_info2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_source_monitor_position2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_target_tracks2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_timeline_gaps2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_timeline_summary2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_total_clip_count2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_track_info2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_unused_media2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_used_media_report2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_value_at_time2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_version_info2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_work_area2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_workspaces2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
get_xmp_metadata2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
has_proxy2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
import_ae_comps2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
import_edl - Changed
import_fcp_xml2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
import_folder2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
import_image_sequence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
import_media2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
import_mogrt2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
import_mogrt_from_library4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / library_nameAdded value: +{ + "description": "Name of the Adobe Creative Cloud Library that contains the MOGRT", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "mogrt_name" -]New value: +[ + "library_name", + "mogrt_name" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
import_sequences4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / sequence_ids / descriptionPrevious value: -"Array of sequence IDs to import from the source project. If omitted, all sequences are imported."New value: +"Non-empty array of sequence IDs to import from the source project." - changed
Input schema / requiredPrevious value: -[ - "project_path" -]New value: +[ + "project_path", + "sequence_ids" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
insert_from_source2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
inspect_cmx3600_edl - Changed
inspect_dom_object2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
inspect_edit_readiness - Added
inspect_fcpxml_interchange - Added
inspect_media_streams - Changed
inspect_project_item_av_metadata2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
inspect_project_recovery2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
inspect_sequence_av_settings2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
inspect_sequence_review_report - Changed
invert_selection2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
is_work_area_enabled2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
lift_selection2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
link_selection2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
list_available_audio_effects2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
list_available_audio_transitions2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
list_available_effects2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
list_available_transitions2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
list_clip_effects2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
list_markers2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
list_project_items2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
list_sequence_tracks2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
list_sequences2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
lock_track2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
manage_project_context2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
manage_proxies2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
match_frame2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
move_clip2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
move_clip_to_track2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
move_item_to_bin2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
move_items_to_bin2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
move_playhead_to_edit2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
multiple_undo2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
mute_track2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
nest_clips2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
normalize_loudness_file - Changed
open_in_source2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
open_project2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
overwrite_clip2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
overwrite_from_source2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
ping2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
plan_silence_review_markers - Changed
play_source_monitor2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
play_timeline2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
preview_brand_spot - Changed
preview_edit_plan2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
preview_editorial_plan2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
preview_motion_graphics_demo - Added
preview_product_spot - Changed
preview_project_intake2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
razor_all_tracks2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
read_sequence_captions - Changed
redo2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
refresh_media2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
relink_media2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
remove_all_effects2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
remove_effect2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
remove_effect_by_name2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
remove_from_timeline2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
remove_keyframe2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
remove_keyframe_range2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
remove_selected_clips2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
rename_bin2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
rename_clip2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
rename_project_item2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
rename_track2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
replace_clip2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
replace_clip_media2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
reverse_clip2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
ripple_delete2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
roll_edit2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
save_project2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
save_project_as2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
scene_edit_detection5 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / actionAdded value: +{ + "description": "Create markers (default) or apply cuts to the selected clips", + "enum": [ + "CreateMarkers", + "ApplyCuts" + ], + "type": "string" +} - added
Input schema / properties / apply_cuts_to_linked_audioAdded value: +{ + "description": "When applying cuts, also cut linked audio (default: false)", + "type": "boolean" +} - added
Input schema / properties / sensitivityAdded value: +{ + "description": "Scene-detection sensitivity (default: MediumSensitivity)", + "enum": [ + "LowSensitivity", + "MediumSensitivity", + "HighSensitivity" + ], + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
search_project_context2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
search_project_items2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
select_all_clips2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
select_clips_by_color2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
select_clips_by_name2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
select_clips_in_range2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
select_disabled_clips2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
select_item2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_active_sequence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_all_tracks_targeted2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_anti_alias_quality2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_blend_mode2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_clip_anchor_point2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_clip_opacity2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_clip_pan2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_clip_position2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_clip_properties2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
set_clip_properties_batch - Changed
set_clip_rotation2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_clip_scale2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_clip_selection2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_clip_speed_qe2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_clip_start_time2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_clip_volume2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_clips_volume2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_color_label2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_color_value2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_effect_property2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_footage_interpretation2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_frame_blend2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_graphics_white_luminance2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_item_in_out2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_keyframe_interpolation2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_metadata7 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / field_name / descriptionPrevious value: -"Metadata field name (e.g., 'Column.Intrinsic.Description')"New value: +"Legacy partial-write argument. It is no longer executed because it cannot form a valid Project Metadata XML payload; use metadata_xml and updated_fields instead." - added
Input schema / properties / metadata_xmlAdded value: +{ + "description": "Complete Project Metadata XML previously read from get_metadata, with the intended field values applied.", + "type": "string" +} - added
Input schema / properties / updated_fieldsAdded value: +{ + "description": "Exact Project Metadata field paths changed in metadata_xml (for example, Column.Intrinsic.Description).", + "items": { + "type": "string" + }, + "type": "array" +} - changed
Input schema / properties / value / descriptionPrevious value: -"Value to set"New value: +"Legacy partial-write argument. It is no longer executed; read projectMetadata first, update the complete XML, then supply metadata_xml and updated_fields." - changed
Input schema / requiredPrevious value: -[ - "item_id", - "field_name", - "value" -]New value: +[ + "item_id" +] - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_offline3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - added
Input schema / properties / offlineAdded value: +{ + "description": "true to take media offline (default); false to refresh an existing offline item", + "type": "boolean" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_override_frame_rate2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_override_pixel_aspect_ratio2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_playhead_position2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_poster_frame2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_project_item_audio_channel_mapping2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_project_panel_metadata2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_project_scratch_disk2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_scale_to_frame_size2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_scale_width_height2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_scratch_disk_path2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_sequence_audio_settings2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_sequence_display_format2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_sequence_field_type2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_sequence_frame_rate2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_sequence_in_out_points2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_sequence_pixel_aspect_ratio4 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / ratio / descriptionPrevious value: -"Pixel aspect ratio (1.0 for square pixels, 1.4222 for 16:9 DV, etc.)"New value: +"Pixel aspect ratio string (for example '1.0' for square pixels or '1.4222' for 16:9 DV)." - changed
Input schema / properties / ratio / typePrevious value: -"number"New value: +"string" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_sequence_resolution2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_sequence_settings2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_source_in_out2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_start_time2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_target_track2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_time_interpolation2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_transcode_on_ingest2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_uniform_scale2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_work_area2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_workspace2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_xmp_metadata3 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Input schema / properties / xmp_xml / descriptionPrevious value: -"Complete XMP metadata XML string to set"New value: +"Well-formed XMP XML containing only the fields to add or replace" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
set_zero_point2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
setup_ducking - Changed
slide_edit2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
slip_edit2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
speed_change2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
split_clip2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
stabilize_clip2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
start_batch_encode2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
stop_playback2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
toggle_track_visibility2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
trim_clip2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
undo2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
unlink_selection2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
unnest_sequence2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Changed
update_marker2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
validate_cmx3600_edl - Changed
validate_export_preset2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
validate_project_for_export - Changed
verify_delivery_file2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
- Added
verify_fcpxml_media_references - Changed
verify_premiere_connection2 fields changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "data": { + "description": "Tool-specific result data when ok is true." + }, + "error": { + "description": "Failure detail when ok is false.", + "type": "string" + }, + "ok": { + "description": "Whether the tool completed successfully.", + "type": "boolean" + }, + "tool": { + "description": "The registered MCP tool name.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ok", + "tool" + ], + "type": "object" +}
4 tool updates
v1.13.0- Added
create_editorial_plan - Added
preview_editorial_plan - Added
preview_project_intake - Changed
set_effect_property2 fields changed- changed
Input schema / properties / value / descriptionPrevious value: -"Value to set"New value: +"Number or string value to set. Use the exact JSON string reported for a MOGRT text or graphic parameter." - removed
Input schema / properties / value / typeRemoved value: -"number"
1 tool update
v1.11.5- Changed
set_clip_properties1 field changed- changed
Input schema / properties / speed / descriptionPrevious value: -"Playback speed multiplier (1.0 = normal, 2.0 = double speed)"New value: +"Unsupported by Premiere's public scripting APIs. Supplying this returns an actionable error without mutating the clip."
7 tool updates
v1.11.3- Added
create_context_edit_plan - Added
get_clip_volume - Added
manage_project_context - Added
search_project_context - Added
set_clips_volume - Changed
split_clip2 fields changed- changed
Input schema / properties / time_seconds / descriptionPrevious value: -"Time position in seconds where to split"New value: +"Timeline time in seconds where clips on the selected track will split" - changed
Input schema / properties / track_index / descriptionPrevious value: -"Track index (0-based)"New value: +"Track index (0-based, default: 0)"
- Changed
trim_clip3 fields changed- added
Input schema / properties / keyframe_policyAdded value: +{ + "description": "How to handle effect keyframes beyond the trimmed visible range: reject (default) leaves the timeline unchanged; preserve explicitly keeps them and reports their count.", + "enum": [ + "reject", + "preserve" + ], + "type": "string" +} - changed
Input schema / properties / new_in_seconds / descriptionPrevious value: -"New in-point in seconds (relative to clip's source media)"New value: +"New source in-point in seconds (relative to the clip's source media). Specify exactly one edit point." - changed
Input schema / properties / new_out_seconds / descriptionPrevious value: -"New out-point in seconds (relative to clip's source media)"New value: +"New source out-point in seconds (relative to the clip's source media). Specify exactly one edit point."
1 tool update
v1.9.2- Added
verify_premiere_connection
3 tool updates
v1.8.0- Added
detect_silence - Removed
evaluate_expression - Removed
execute_extendscript
TDQS
Scored across 384 tools
The set has hundreds of tools with heavily overlapping purposes: many list/get/inspect/read variants for the same project, sequence, clip, track, and marker data, plus multiple edit, effect, export, and analysis tools whose boundaries are difficult to distinguish. Descriptions often clarify differences, but the sheer number of near-duplicates and plan/preview/apply variants makes misselection likely.
Most names use snake_case and a verb_noun pattern, which is readable and broadly consistent. However, the set mixes many suffixes and prefixes such as _uxp, _qe, _cep, _batch, preview_, plan_, inspect_, and apply_, and uses inconsistent singular/plural forms like add_track vs add_tracks.
384 tools is an extreme mismatch for any coherent MCP surface, far beyond the typical 3-15 range. The list includes many experimental, unavailable, preview-only, plan-only, and diagnostic tools that inflate the count without earning a distinct place.
The surface attempts broad Premiere Pro coverage, but many core or expected operations are explicitly unavailable, experimental, or plan-only, including speed changes, LUT application, AAF export, nesting, EDL import, and reliable caption creation. These dead ends and workaround-only routes create significant gaps that can cause agent failures.
Maintenance
Related MCP Connectors
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
- VidmoatOAuthcom.vidmoat
AI video editor: create projects, edit timelines, add captions and effects, and render videos.
Edit video by talking to your AI — search footage, cut timelines, apply effects, add captions.
AI editor to build, animate & export layered short-form video projects via one tool catalog.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables control of Adobe Premiere Pro through Claude using over 170 tools for editing, effects, and timeline management. It supports advanced project operations, automated captions, and AI-generated voiceovers via ElevenLabs integration.4,981 npm33MIT
- AlicenseAqualityCmaintenanceMakes Claude a real operator for Adobe Premiere Pro 2025, providing 59 tools to control projects, timelines, media, exports, and even create cinematic intros with beat detection and style presets.59MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to control video editing software (剪映/CapCut and Adobe Premiere Pro) through a unified interface, supporting operations like material import, clip splitting, subtitle addition, effects, transitions, audio mixing, and export.10MIT
- AlicenseNot gradedqualityCmaintenanceControl Adobe Premiere Pro from AI agents via ExtendScript, enabling media import, sequence creation, effect application, media export, and custom scripting.23 npmMIT