Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Shotcut MCP

MCPB · SHOTCUT-MCP-1.6.0.MCPB

Create, edit, validate, preview, and render Shotcut projects through AI clients.

0 this week 54 Trust /100

Last scanned (4 hours ago)

Scores higher than 88% of MCPB servers

Category Design and Media

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 18 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability70
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 4657 tokens (~166/item across 28 items; 28 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 28 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Nov 26 0
    • Stability: 0.97 → pass security
  • 1 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Oct 26 −1
    • Stability: pass → 0.93 functional
  • 25 Oct 26 0
    • Stability: 0.97 → pass security
  • 24 Oct 26 0
    • Stability: pass → 0.97 functional
  • 18 Oct 26 0
    • Stability: 0.97 → pass security
  • 17 Oct 26 0
    • Schema quality: 3963 → 4657 ▼ functional
  • 16 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed mcpb/https://github.com/matrodrigs/shotcut-mcp/releases/download/v1.6.0/shotcut-mcp-1.6.0.mcpb

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem mcpb
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 28 exposed · ~3,785 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
analyze_media_quality ~348

Use before proposing cleanup or delivery edits. Runs installed FFmpeg analyzers for silence, black frames, freezes, interlacing, and loudness and returns bounded structured measurements without changing the media.

NameTypeReqDescription
analyzersarray–Quality checks to run; defaults to every analyzer supported by this tool.
audio_stream_indexinteger–Optional global FFprobe stream index for the audio checks.
black_min_duration_secondsnumber–Minimum continuous black-frame duration to report.
black_picture_thresholdnumber–Fraction of qualifying dark pixels required for a black frame.
black_pixel_thresholdnumber–Per-pixel luminance threshold used by FFmpeg blackdetect.
dual_monoboolean–Measure mono input as dual-mono when computing EBU R128 loudness.
duration_secondsnumber–Optional bounded media duration in seconds to analyze.
freeze_min_duration_secondsnumber–Minimum continuous frozen-video duration to report.
freeze_noise_dbnumber–Frame-difference tolerance in dB used by FFmpeg freezedetect.
max_intervalsinteger–Maximum structured intervals retained per analyzer.
pathstringyesExisting authorized local project, media, folder, or backup path.
silence_min_duration_secondsnumber–Minimum continuous silence duration to report.
silence_threshold_dbnumber–Audio level in dB at or below which a segment counts as silence.
start_secondsnumber–Optional media offset in seconds where analysis begins.
timeout_secondsinteger–Bounded timeout for local MLT processing.
video_stream_indexinteger–Optional global FFprobe stream index for the video checks.
NameTypeReqDescription
analyzersobject––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
duration_secondsnumber|null––
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
media_duration_secondsnumber|null––
pathstring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
requested_analyzersarray–Analyzer names requested by the caller.
start_secondsnumber––
streamsobject–Selected global FFprobe stream indexes.

No examples provided.

cancel_render ~49

Use only when the user asks to stop an active render. Requests supervised cancellation, including after an MCP restart.

NameTypeReqDescription
job_idstringyesDurable render identifier returned by start_render or list_render_jobs.
NameTypeReqDescription
cancellation_requestedboolean––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
elapsed_secondsnumber––
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
eta_confidencestring|null––
eta_secondsnumber|null––
expected_revisionstring|null––
in_frameinteger|null––
job_idstring––
log_tailstring|null––
out_frameinteger|null––
output_existsboolean––
output_pathstring––
output_size_bytesinteger|null––
progress_percentnumber|null––
range_duration_framesinteger|null––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
statusstring––

No examples provided.

create_project ~226

Use to create a new editable Shotcut 26.8.1 project. If dimensions or frame rate were not requested, probe representative source media before choosing the profile; do not treat defaults as user intent. Tracks and clips use the same shapes as add_track and add_clip.

NameTypeReqDescription
clipsarray–Initial clips using add_clip fields; track defaults to V1.
fps_deninteger–Project frame-rate denominator.
fps_numinteger–Project frame-rate numerator.
heightinteger–Project height in pixels.
notesstring–Initial project notes.
overwriteboolean–Replace an existing destination only when the user explicitly authorized it.
project_pathstringyesExisting authorized Shotcut .mlt or .xml project path, except when create_project creates it.
timeout_secondsinteger–Bounded timeout for local MLT processing.
tracksarray–Initial tracks using add_track fields; V1 already exists.
widthinteger–Project or contact-sheet width in pixels, depending on the tool.
NameTypeReqDescription
backup_pathstring|null––
createdboolean––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
operation_resultsarray–Results for initial track and clip operations.
pathstring––
previous_revisionstring|null––
projectobject–Project snapshot; inspect_project publishes its complete schema.
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
result_truncatedboolean–True means the project change committed but details were omitted to fit the MCP response budget. Do not retry the mutation; inspect the returned revision.
revisionstring––
validationobject–Result of processing the project with local Melt.

No examples provided.

describe_mlt_service ~61

Use after list_mlt_services to learn one installed service's accepted properties and local MLT metadata.

NameTypeReqDescription
kindstringyesMLT service kind to list or describe.
namestringyesExact service name returned by list_mlt_services.
NameTypeReqDescription
availableboolean––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
kindstring––
metadatastring|null––
namestring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.

No examples provided.

detect_hardware_encoders ~49

Use when choosing or troubleshooting hardware export. Lists advertised FFmpeg encoders and smoke-tests OS-appropriate candidates.

NameTypeReqDescription
refreshboolean–Ignore cached encoder results and run smoke tests again.
NameTypeReqDescription
candidatesarray–OS-appropriate hardware encoder smoke tests.
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
ffmpeg_pathstring––
notestring––
platformstring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
suggestionsobject––

No examples provided.

diagnose_color_workflow ~99

Use for washed-out colors, HDR/SDR questions, or export compatibility. Reports normalized source color facts and supported color-workflow constraints.

NameTypeReqDescription
hdr10_metadataboolean–Whether the intended export requires HDR10 metadata.
output_codecstring–Optional intended export codec used to assess color compatibility.
project_pathstringyesExisting authorized Shotcut .mlt or .xml project path, except when create_project creates it.
NameTypeReqDescription
compatibleboolean––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
issuesarray–Color-workflow compatibility findings.
mediaarray–Bounded source-media summaries or probe errors.
media_truncatedboolean––
project_color_workflowobject–Normalized Shotcut project color workflow.
project_pathstring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
source_dynamic_rangesarray–Distinct detected source dynamic ranges.

No examples provided.

diagnose_missing_media ~261

Use when media is missing or offline. Searches authorized roots and ranks candidates without changing the project. Apply a source mapping the user already specified; otherwise let the user choose before relinking.

NameTypeReqDescription
max_candidates_per_resourceinteger–Maximum ranked candidates returned for each missing resource.
max_depthinteger–Maximum directory depth below each search root.
max_filesinteger–Maximum files examined across all search roots.
max_hash_bytesinteger–Largest candidate file eligible for Shotcut hash verification.
max_probe_candidatesinteger–Maximum candidates inspected with FFprobe.
overwrite_visualboolean–Replace an existing candidate sheet only with explicit authorization.
project_pathstringyesExisting authorized Shotcut .mlt or .xml project path, except when create_project creates it.
search_rootsarrayyesOne to eight authorized roots searched for missing-media candidates.
timeout_secondsinteger–Bounded timeout for local MLT processing.
visual_cell_widthinteger–Width of each optional missing-media candidate cell in pixels.
visual_columnsinteger–Columns in the optional missing-media candidate sheet.
visual_output_pathstring–Optional PNG/JPEG destination for a missing-media candidate sheet.
NameTypeReqDescription
commit_workflowstring––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
missing_countinteger––
project_pathstring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
resourcesarray–Missing resources and their ranked replacement candidates.
searchobject–Bounded search telemetry.
visualobject|null––

No examples provided.

discover_media ~194

Use when the user supplies a source folder. Lists media candidates by extension in deterministic pages, with optional bounded stream metadata. Respects path policy and skips directory symlinks; use probe_media to inspect individual files and do not infer visual content from filenames.

NameTypeReqDescription
cursorstring–Opaque next_cursor from the preceding page with the same folder and recursive option. Changed file listings invalidate it.
folder_pathstringyesExisting authorized local folder to scan; network folders require administrator opt-in.
include_metadataboolean–Probe returned candidates for duration, video dimensions and audio. Probe failures are reported per file; remaining work shares a bounded time budget.
limitinteger–Maximum media candidates returned on this page.
recursiveboolean–Include subfolders up to 16 levels; directory symlinks are not followed. Scans stop with guidance after 20,000 entries or 30 seconds.
NameTypeReqDescription
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
folder_pathstring––
itemsarray–Media candidates on this page, with optional per-file metadata or probe errors.
next_cursorstring|null––
offsetinteger––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
recursiveboolean––
revisionstring––
scanned_entriesinteger––
skipped_entriesinteger––
totalinteger––

No examples provided.

edit_project ~184

Use only after inspect_project. Applies up to 500 related operations in one validated atomic write; prefer item_ref and animate_clip for robust creative batches. Pass expected_revision and re-inspect on conflicts instead of force. Summarize committed operation results, and after visual edits show a managed contact sheet or exact preview.

NameTypeReqDescription
expected_revisionstring–SHA-256 revision returned by inspect_project. Required unless force=true was explicitly authorized.
forceboolean–Bypass revision protection only with explicit user authorization; never retry conflicts with force automatically.
operationsarrayyesOne or more related edit operations. Query shotcut_capabilities for unfamiliar operation schemas.
project_pathstringyesExisting authorized Shotcut .mlt or .xml project path, except when create_project creates it.
timeout_secondsinteger–Bounded timeout for local MLT processing.
NameTypeReqDescription
backup_pathstring|null––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
editedboolean––
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
item_bindingsobject–Batch aliases mapped to item_ref values for the committed revision.
operation_resultsarray–Results in the same order as the requested operations.
pathstring––
previous_revisionstring|null––
projectobject–Project snapshot; inspect_project publishes its complete schema.
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
result_truncatedboolean–True means the project change committed but details were omitted to fit the MCP response budget. Do not retry the mutation; inspect the returned revision.
revisionstring––
validationobject–Result of processing the project with local Melt.

No examples provided.

export_marker_chapters ~184

Use to create Shotcut-compatible chapter text from point markers. Optionally includes range markers or selected marker colors and atomically protects an existing output.

NameTypeReqDescription
colorsarray–Optional marker-color allowlist using Shotcut #RRGGBB values.
expected_revisionstring–Optional SHA-256 revision returned by inspect_project. When supplied, export fails if the project has changed.
include_range_markersboolean–Include Shotcut range markers as chapters; point markers are included by default.
output_pathstringyesAuthorized destination path. Omit only for single-frame or contact-sheet previews to use bounded managed output.
overwriteboolean–Replace an existing destination only when the user explicitly authorized it.
project_pathstringyesExisting authorized Shotcut .mlt or .xml project path, except when create_project creates it.
NameTypeReqDescription
chapter_countinteger––
chaptersarray–Exported chapters in playback order.
colorsarray|null–Applied marker-color allowlist.
createdboolean––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
include_range_markersboolean––
marker_countinteger––
pathstring––
project_pathstring––
project_revisionstring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
size_bytesinteger––

No examples provided.

inspect_project ~270

Use first to understand a timeline or before planning, editing, or restoring. Returns SHA-256 revision, stable item_ref selectors, and paginated structural state. Use summary for less detail, track/frame filters to focus, and pagination.next_offset with expected_revision to continue. Use render_contact_sheet for visual review.

NameTypeReqDescription
detailstring–Full includes properties and text; summary omits notes, captions, property bags and subtitle text, preserving identifiers and timing.
expected_revisionstring–Revision from the first inspection page; pass on later pages to reject a changed project instead of mixing revisions.
in_frameinteger–Optional inclusive first timeline frame; returns items overlapping this range.
limitinteger–Maximum entries per collection page. Track metadata also accompanies every returned item. Nested filter details are retained in full.
offsetinteger–Zero-based offset applied independently to timeline items, track metadata, and each top-level collection; use pagination.next_offset.
out_frameinteger–Optional inclusive last timeline frame; must be at least in_frame when both are supplied.
pathstringyesExisting authorized local project, media, folder, or backup path.
trackstring–Optional track name or track_id from an inspection; scopes timeline items and track metadata.
NameTypeReqDescription
color_workflowobject–Normalized Shotcut project color workflow.
countsobject–Counts of important MLT element kinds.
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
duration_framesinteger–Project duration in frames.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
filtersarray–Project-level filters in host order.
linksarray–MLT links in the project.
markersarray–Shotcut point and range markers.
missing_resourcesarray–Resolved local resource paths that do not exist.
network_resourcesarray–Network resource values embedded in the project.
notesstring|null–Project notes, when present.
paginationobject–Each top-level collection and the flattened timeline item sequence uses the same offset/limit. Track and frame filters scope timeline items; other collections remain project-wide. Continue while next…
pathstring–Authorized project path that was inspected.
profileobject–MLT profile attributes plus computed fps.
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
resourcesarray–Media and data resources referenced by the project.
revisionstring–SHA-256 revision to pass as expected_revision.
shotcut_editableboolean–Whether the main tractor is marked as Shotcut-editable.
subtitlesarray–Shotcut subtitle feeds.
tracksarray–Project tracks in main-tractor order.

No examples provided.

list_mlt_services ~49

Use when an edit needs an unfamiliar native MLT effect or transition. Lists services of one kind installed with Shotcut.

NameTypeReqDescription
kindstringyesMLT service kind to list or describe.
NameTypeReqDescription
countinteger––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
kindstring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
servicesarray–Installed MLT service names in sorted order.

No examples provided.

list_project_backups ~61

Use before undo or recovery. Lists only backups owned by this project, including paths, revisions, sizes, and timestamps.

NameTypeReqDescription
project_pathstringyesExisting authorized Shotcut .mlt or .xml project path, except when create_project creates it.
NameTypeReqDescription
backup_countinteger––
backupsarray–Project-owned backups in newest-first order.
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
project_pathstring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.

No examples provided.

list_render_jobs ~72

Use for 'the latest render', render history, or when job_id is unknown. Returns bounded newest-first durable summaries.

NameTypeReqDescription
cursorstring–Opaque cursor returned by the preceding render-history page.
limitinteger–Maximum render summaries returned.
statusstring–Optional render state filter.
NameTypeReqDescription
countinteger––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
jobsarray–Newest-first durable render summaries.
next_cursorstring|null––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
status_filterstring|null––

No examples provided.

open_in_shotcut ~74

Use only when the user asks to open the GUI. Opens a project, media file, or folder in Shotcut; MCP edits do not require this.

NameTypeReqDescription
fullscreenboolean–Ask Shotcut to open fullscreen.
pathstringyesExisting authorized local project, media, folder, or backup path.
NameTypeReqDescription
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
openedboolean––
pathstring––
pidinteger––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.

No examples provided.

plan_project_edit ~169

Use for a dry run, uncertain edit, or user review before committing. Applies operations in memory using stable item_ref selectors when supplied, validates with MLT, and returns a snapshot and diff without changing the project.

NameTypeReqDescription
expected_revisionstringyesRequired SHA-256 revision returned by inspect_project; force is not supported by plan_project_edit.
max_diff_linesinteger–Maximum unified-diff lines returned by a dry run; zero suppresses diff text.
operationsarrayyesOne or more related edit operations. Query shotcut_capabilities for unfamiliar operation schemas.
project_pathstringyesExisting authorized Shotcut .mlt or .xml project path, except when create_project creates it.
timeout_secondsinteger–Bounded timeout for local MLT processing.
NameTypeReqDescription
base_revisionstring––
changedboolean––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
diff_linesinteger––
diff_truncatedboolean––
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
item_bindingsobject–Batch aliases mapped to item_ref values for the resulting revision.
operation_resultsarray–Results in the same order as the requested operations.
plannedboolean––
projectobject–Project snapshot; inspect_project publishes its complete schema.
project_pathstring––
prospective_revisionstring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
unified_diffstring––
validationobject–Result of processing the project with local Melt.

No examples provided.

probe_media ~55

Use to understand a source file before editing. Reads duration, codecs, resolution, frame rate, color, and audio with per-file caching.

NameTypeReqDescription
pathstringyesExisting authorized local project, media, folder, or backup path.
NameTypeReqDescription
bit_ratenumber|null––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
duration_secondsnumber|null––
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
formatstring|null––
pathstring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
size_bytesinteger––
streamsarray–Normalized audio, video, subtitle, and data streams.

No examples provided.

render_contact_sheet ~186

Use for 'show me the edit', visual review, or a timeline overview. Renders exact frames or 12 evenly sampled frames into one image; omit output_path for managed output.

NameTypeReqDescription
cell_widthinteger–Width of each contact-sheet cell in pixels.
columnsinteger–Number of contact-sheet columns.
framesarray–Exact frames for the contact sheet. When present, sample_count is ignored.
output_pathstring–Authorized destination path. Omit only for single-frame or contact-sheet previews to use bounded managed output.
overwriteboolean–Replace an existing destination only when the user explicitly authorized it.
project_pathstringyesExisting authorized Shotcut .mlt or .xml project path, except when create_project creates it.
sample_countinteger–Evenly sampled frame count used only when frames is omitted.
NameTypeReqDescription
cellsarray–Contact-sheet cells in display order.
columnsinteger––
createdboolean––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
managed_outputboolean––
pathstring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
rowsinteger––
size_bytesinteger––

No examples provided.

render_preview ~121

Use to show or inspect one specific moment. Renders one PNG and returns its path; omit output_path for a bounded server-managed preview.

NameTypeReqDescription
frameinteger–Zero-based project frame to render.
output_pathstring–Authorized destination path. Omit only for single-frame or contact-sheet previews to use bounded managed output.
overwriteboolean–Replace an existing destination only when the user explicitly authorized it.
project_pathstringyesExisting authorized Shotcut .mlt or .xml project path, except when create_project creates it.
NameTypeReqDescription
createdboolean––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
frameinteger––
managed_outputboolean––
pathstring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
size_bytesinteger––

No examples provided.

render_preview_batch ~102

Use when exact frames are needed as separate image files. Renders up to 64 requested frames; use render_contact_sheet for one overview image.

NameTypeReqDescription
overwriteboolean–Replace an existing destination only when the user explicitly authorized it.
project_pathstringyesExisting authorized Shotcut .mlt or .xml project path, except when create_project creates it.
requestsarrayyesExact frame/output-path pairs; every output path must be unique.
NameTypeReqDescription
createdinteger––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
partial_completion_possibleboolean––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
requestedinteger––
resultsarray–Per-frame successes and bounded failures.

No examples provided.

render_review_clip ~168

Use to review pacing, transitions, motion or sound. Renders at most 30 seconds to a managed H.264/AAC MP4 within 1280x720, preserving aspect ratio. This temporary review is separate from final export and replaces only the previous managed review for this project; surface the playable resource or path to the user.

NameTypeReqDescription
expected_revisionstring–Optional inspected project revision; stale revisions are rejected before rendering.
in_frameintegeryesInclusive first timeline frame of the review.
out_frameintegeryesInclusive last timeline frame, at least in_frame and within the project. Selected duration must not exceed 30 seconds.
project_pathstringyesExisting authorized Shotcut .mlt or .xml project path, except when create_project creates it.
NameTypeReqDescription
createdboolean––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
duration_framesinteger––
duration_secondsnumber––
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
heightinteger––
in_frameinteger––
managed_outputboolean––
mime_typestring––
out_frameinteger––
pathstring––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
revisionstring––
size_bytesinteger––
uristring––
widthinteger––

No examples provided.

render_status ~84

Use when job_id is known; poll until a terminal state and surface meaningful status, progress, or ETA changes without narrating unchanged polls or raw logs. On completion, present both returned artifacts: rendered media and the exact editable project. Use list_render_jobs when the id is unknown.

NameTypeReqDescription
job_idstringyesDurable render identifier returned by start_render or list_render_jobs.
NameTypeReqDescription
artifactsarray–Completed rendered media and exact editable project, otherwise empty.
current_revisionstring|null––
delivery_completeboolean––
detailsobject–Bounded structured context specific to the error code.
editable_project_existsboolean––
editable_project_pathstring|null––
elapsed_secondsnumber––
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
eta_confidencestring|null––
eta_secondsnumber|null––
expected_revisionstring|null––
frames_completedinteger|null––
in_frameinteger|null––
job_idstring––
log_tailstring|null––
out_frameinteger|null––
output_existsboolean––
output_pathstring––
output_size_bytesinteger|null––
progress_percentnumber|null––
project_pathstring––
range_duration_framesinteger|null––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
rendered_project_revisionstring|null––
statusstring––

No examples provided.

restore_project_backup ~152

Use after list_project_backups and authorization to restore the selected backup; an explicit request identifying that backup is sufficient. Validates and atomically restores it while backing up the current project; pass the current expected_revision unless force=true was explicitly authorized.

NameTypeReqDescription
backup_pathstringyesExact backup path returned by list_project_backups for this project.
expected_revisionstring–SHA-256 revision returned by inspect_project. Required unless force=true was explicitly authorized.
forceboolean–Bypass revision protection only with explicit user authorization; never retry conflicts with force automatically.
project_pathstringyesExisting authorized Shotcut .mlt or .xml project path, except when create_project creates it.
NameTypeReqDescription
backup_pathstring|null––
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
pathstring––
previous_revisionstring|null––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
restoredboolean––
result_truncatedboolean–True means the project change committed but details were omitted to fit the MCP response budget. Do not retry the mutation; inspect the returned revision.
revisionstring––
validationobject–Result of processing the project with local Melt.

No examples provided.

shotcut_capabilities ~63

Use before an unfamiliar edit. Omit operation for the catalog, presets, compatibility, and workflow; pass operation for only its complete schema, example, and transaction guarantees enforced by plan and edit.

NameTypeReqDescription
operationstring–Optional edit operation to describe in full.
NameTypeReqDescription
compatibilityobject–Legacy shotcut/mlt project baseline, serialization, and independently tested runtime combinations.
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
feature_guidanceobject––
operation_querystring––
operationsobject–Edit operations keyed by op name.
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
render_presetsobject––
transaction_guaranteesarray–Safety and transaction guarantees that apply to edit operations.
workflowarray–Recommended end-to-end workflow.

No examples provided.

shotcut_doctor ~70

Use after installation, upgrade, or a setup failure. Distinguishes tested Shotcut/MLT combinations, untested-version warnings, and runtime failures. Checks repository startup, RNNoise, FFmpeg quality-analyzer availability, and path policy. An untested version alone does not block project operations.

Input schema present but exposes no named parameters.

NameTypeReqDescription
checksobject––
compatibleboolean–True only for status=tested. False alone does not indicate a runtime failure; read status and issues.
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
issuesarray–Runtime errors take precedence over version warnings; empty when tested checks pass.
path_policyobject–Effective server path and resource policy.
quality_analyzersobject––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
runtime_readyboolean–Executable version queries, MLT repository and RNNoise checks passed, independently of version coverage; does not guarantee project readiness.
serializationobject–An exact Shotcut and MLT version pair.
statusstring–Tested pair with passing checks, untested pair with passing checks, or concrete runtime check failure.
tested_stacksarray–Exact runtime pairs covered by Windows / Python 3.10 integration tests; other pairs are untested.
validated_stackobject–Legacy project baseline retained for clients; use tested_stacks for runtime coverage.

No examples provided.

shotcut_status ~43

Use for a quick readiness check. Locates Shotcut, Melt, FFprobe, and FFmpeg and reports their versions; use shotcut_doctor for compatibility diagnosis.

Input schema present but exposes no named parameters.

NameTypeReqDescription
current_revisionstring|null––
detailsobject–Bounded structured context specific to the error code.
environment_overridesobject––
errorstring–Human-readable failure summary.
error_codestring–Stable machine-readable Shotcut MCP error code.
error_typestring–Stable Python exception family retained for compatibility.
expected_revisionstring|null––
ffmpegobject–Executable discovery and version result.
ffprobeobject–Executable discovery and version result.
meltobject–Melt discovery, version, and repository readiness.
path_policyobject–Effective server path and resource policy.
readyboolean––
recommended_actionstring–Machine-readable next action for the caller.
recommended_toolstring|null–MCP tool to call next when one action is preferred.
recoverableboolean–Whether the caller can take a safe corrective action.
shotcutobject–Executable discovery and version result.

No examples provided.

Install

How do I install the Shotcut MCP server?

Shotcut MCP ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, 0f2194bbe39950e703b3b2c6253bfd71ef19dce1f3303e680f1c7853799cefba; the commands to do that are on this page. If it does not match, do not open it.

mcpb · shotcut-mcp-1.6.0.mcpb

Download bundle

Check the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.

SHA-256

0f2194bbe39950e703b3b2c6253bfd71ef19dce1f3303e680f1c7853799cefba

macOS / Linux

echo "0f2194bbe39950e703b3b2c6253bfd71ef19dce1f3303e680f1c7853799cefba  shotcut-mcp-1.6.0.mcpb" | shasum -a 256 -c

Windows (PowerShell)

(Get-FileHash -Algorithm SHA256 .\shotcut-mcp-1.6.0.mcpb).Hash -eq "0f2194bbe39950e703b3b2c6253bfd71ef19dce1f3303e680f1c7853799cefba"

Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.

Common questions

What is the Shotcut MCP server?

Shotcut MCP is listed in the public MCP registry as io.github.matrodrigs/shotcut-mcp. Create, edit, validate, preview, and render Shotcut projects through AI clients. This page covers its MCPB bundle (https://github.com/matrodrigs/shotcut-mcp/releases/download/v1.6.0/shotcut-mcp-1.6.0.mcpb).

Is the Shotcut MCP server safe to use?

Shotcut MCP scores 54 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Shotcut MCP server expose?

Shotcut MCP exposes 28 tools: shotcut_status, shotcut_doctor, shotcut_capabilities, discover_media, probe_media, and 23 more. Their descriptions and schemas cost roughly 3,785 tokens of context every time the server is loaded.

What licence is the Shotcut MCP server under?

Shotcut MCP declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.