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.

Kdenlive MCP Server

PYPI · KDENLIVE-MCP-SERVER · SCANNED SEP 20

Kdenlive video editing MCP - 36 tools for project, timeline, filters and melt rendering

+4 this week 75 Trust /100
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 Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
  • 0 of 31 dependencies flagged as unhealthy. View diagnostics → Pass
Provenance & Transparency45
Schema Quality & AI Usability75
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 3535 tokens (~48/item across 73 items; 73 tools + 0 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management57
  • Stability observed for 17 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 7 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "bin_remove_clip" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 73 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
Install

How do I install the Kdenlive MCP Server server?

Kdenlive MCP Server runs locally as a PyPI package, launched with uvx kdenlive-mcp-server. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · kdenlive-mcp-server

# add to Claude Code
claude mcp add va1bhav512-kdenlive-mcp-server -- uvx kdenlive-mcp-server
// .cursor/mcp.json
{
  "mcpServers": {
    "va1bhav512-kdenlive-mcp-server": {
      "command": "uvx",
      "args": [
        "kdenlive-mcp-server"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "va1bhav512-kdenlive-mcp-server": {
      "command": "uvx",
      "args": [
        "kdenlive-mcp-server"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add va1bhav512-kdenlive-mcp-server -- uvx kdenlive-mcp-server
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "va1bhav512-kdenlive-mcp-server": {
      "type": "local",
      "command": [
        "uvx",
        "kdenlive-mcp-server"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add va1bhav512-kdenlive-mcp-server --command uvx --arg kdenlive-mcp-server
# ~/.hermes/config.yaml
mcp_servers:
  va1bhav512-kdenlive-mcp-server:
    command: "uvx"
    args: ["kdenlive-mcp-server"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "va1bhav512-kdenlive-mcp-server": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "kdenlive-mcp-server"
      ]
    }
  }
}
# add to Vellum
assistant mcp add va1bhav512-kdenlive-mcp-server -t stdio -c uvx -a kdenlive-mcp-server
// mcp.json
{
  "mcpServers": {
    "va1bhav512-kdenlive-mcp-server": {
      "command": "uvx",
      "args": [
        "kdenlive-mcp-server"
      ]
    }
  }
}
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.

  • 20 Sept 26 +1

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

  • 18 Sept 26 +1

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

  • 16 Sept 26 +1

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

  • 15 Sept 26 +15
    • Malware scan: unverified → pass security
  • 14 Sept 26 −14
    • Malware scan: pass → unverified security
  • 12 Sept 26 +16
    • Malware scan: unverified → pass security
  • 11 Sept 26 −15
    • Malware scan: pass → unverified security
  • 10 Sept 26 +3
    • Stability: unverified → 0.23 functional
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 20 Sept 2026 · Analysed pypi/kdenlive-mcp-server@0.1.3

Provenance No attestation

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

Result No attestation
Ecosystem pypi

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 31 packages
Packages resolved 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 73 exposed · ~3,535 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
bin_create_folder ~27

Create folder in project bin.

NameTypeReqDescription
namestringyes
parent

Structured output declared, but exposes no named fields.

No examples provided.

bin_get_clip_details ~47

Get detailed properties of a bin clip (length, aspect ratio, media info). Args: clip_id: The clip identifier from the bin.

NameTypeReqDescription
clip_idstringyes

Structured output declared, but exposes no named fields.

No examples provided.

bin_import_clip ~122

Ingest a media file into the project bin for later timeline use. Args: clip_path: Path to the media file (video, audio, or image). name: Optional display name. Defaults to the filename. duration: Optional duration override in seconds (useful for images). If None, auto-probed via ffprobe. clip_type: Media type hint: video, audio, image, color, title.

NameTypeReqDescription
clip_pathstringyes
clip_typestring
duration
name

Structured output declared, but exposes no named fields.

No examples provided.

bin_list_clips ~27

List every asset in the project bin with ID, name, type, and duration.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

bin_move_clip ~33

Move clip to folder (or root if folder None).

NameTypeReqDescription
clip_idstringyes
folder

Structured output declared, but exposes no named fields.

No examples provided.

bin_remove_clip ~47

Delete a clip from the media bin by its ID. Args: clip_id: The clip identifier from bin_list_clips or bin_import_clip.

NameTypeReqDescription
clip_idstringyes

Structured output declared, but exposes no named fields.

No examples provided.

bin_rename ~29

Rename bin clip.

NameTypeReqDescription
clip_idstringyes
new_namestringyes

Structured output declared, but exposes no named fields.

No examples provided.

clip_add_note ~32

Add / update note for bin clip.

NameTypeReqDescription
clip_idstringyes
notestringyes

Structured output declared, but exposes no named fields.

No examples provided.

clip_get_properties ~41

Get timeline clip properties: in/out, duration, speed, opacity, reverse.

NameTypeReqDescription
clip_indexintegeryes
track_idintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

clip_reverse ~35

Reverse playback direction of a timeline clip (toggles).

NameTypeReqDescription
clip_indexintegeryes
track_idintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

clip_set_color ~35

Set color label for bin clip (hex or named).

NameTypeReqDescription
clip_idstringyes
colorstringyes

Structured output declared, but exposes no named fields.

No examples provided.

clip_set_opacity ~51

Set opacity of a timeline clip (0.0 transparent .. 1.0 opaque).

NameTypeReqDescription
clip_indexintegeryes
opacitynumberyes
track_idintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

clip_set_speed ~65

Set playback speed of a timeline clip (1.0=normal, 2.0=2x, 0.5=half, negative=reverse).

NameTypeReqDescription
clip_indexintegeryes
speednumberyes
track_idintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

export_list_presets ~20

List all available render presets for final video output.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

export_render ~90

Render the project to a video file via melt. Generates MLT XML from the current project then pipes it through melt. Requires 'melt' on the system (apt install melt). Args: output_path: Destination video file (e.g. output.mp4). preset: Optional render preset name (see export_list_presets).

NameTypeReqDescription
output_pathstringyes
preset

Structured output declared, but exposes no named fields.

No examples provided.

export_xml ~72

Generate Kdenlive/MLT XML for the current project. Args: output_path: Optional file path to write the XML to (e.g. ~/Downloads/myproj.kdenlive). If None, no file is written and XML is returned in data.xml for you to copy.

NameTypeReqDescription
output_path

Structured output declared, but exposes no named fields.

No examples provided.

filter_add ~129

Attach a video/audio effect to a timeline clip. Args: track_id: Track containing the clip. clip_index: 0-based clip index on that track. filter_type: Filter name (e.g. blur, brightness, frei0r.opacity, volume). Run filter_list_available for all options. params: 'key=value' parameter strings (e.g. ['radius=5.0', 'opacity=0.8']).

NameTypeReqDescription
clip_indexintegeryes
filter_typestringyes
params
track_idintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

filter_list ~55

List all active filters on a specific timeline clip. Args: track_id: Track containing the clip. clip_index: 0-based clip index.

NameTypeReqDescription
clip_indexintegeryes
track_idintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

filter_list_available ~42

Discover all filters the Kdenlive runtime exposes. Args: category: Optional category filter (e.g. blur, color, audio).

NameTypeReqDescription
category

Structured output declared, but exposes no named fields.

No examples provided.

filter_remove ~75

Detach an effect from a clip. Args: track_id: Track containing the clip. clip_index: 0-based clip index. filter_index: 0-based filter index (see filter_list).

NameTypeReqDescription
clip_indexintegeryes
filter_indexintegeryes
track_idintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

filter_set_param ~118

Update a single parameter on an active filter. Args: track_id: Track containing the clip. clip_index: 0-based clip index. filter_index: 0-based filter index. parameter: Parameter name (e.g. radius, opacity, level). value: New value (auto-converted to int/float if numeric).

NameTypeReqDescription
clip_indexintegeryes
filter_indexintegeryes
parameterstringyes
track_idintegeryes
valuestringyes

Structured output declared, but exposes no named fields.

No examples provided.

guide_add ~86

Place a navigation guide marker along the timeline. Args: position: Time position in seconds. label: Short label for the guide. guide_type: 'default', 'chapter', or 'segment'. comment: Optional longer description.

NameTypeReqDescription
commentstring
guide_typestring
labelstring
positionnumberyes

Structured output declared, but exposes no named fields.

No examples provided.

guide_get ~22

Get single guide by ID.

NameTypeReqDescription
guide_idintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

guide_list ~16

Return all guide markers on the timeline.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

guide_remove ~34

Delete a guide marker by its ID. Args: guide_id: Numeric guide identifier.

NameTypeReqDescription
guide_idintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

guide_update ~41

Update guide properties.

NameTypeReqDescription
comment
guide_idintegeryes
guide_type
label
position

Structured output declared, but exposes no named fields.

No examples provided.

marker_add ~60

Add timeline or clip marker (markers separate from guides).

NameTypeReqDescription
clip_index
commentstring
labelstring
marker_typestring
positionnumberyes
track_id

Structured output declared, but exposes no named fields.

No examples provided.

marker_list ~12

List all markers.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

marker_remove ~21

Remove marker by ID.

NameTypeReqDescription
marker_idintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

project_get_info ~24

Return project metadata: FPS, resolution, track layout, bin clip count.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

project_get_profile ~23

Get the current project's video profile (resolution, FPS, aspect ratio).

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

project_get_render_profiles ~21

Alias for project_list_profiles - get available render presets.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

project_list_profiles ~33

Enumerate all available video output profiles (hd1080p30, 4k60, sd_pal, etc.).

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

project_new ~220

Create a brand new Kdenlive project session. After this call the project path is stored so subsequent tools automatically target this project. Args: output_path: Path where the project JSON will be saved (.kdenlive-cli.json). profile: Preset profile (hd1080p30, hd1080p25, hd720p60, 4k30, 4k60, sd_pal, sd_ntsc). Overrides width/height/fps if set. name: Human-readable project name. width: Video width in pixels (ignored when profile is set). height: Video height in pixels (ignored when profile is set). fps_num: FPS numerator (ignored when profile is set). fps_den: FPS denominator (ignored when profile is set).

NameTypeReqDescription
fps_deninteger
fps_numinteger
heightinteger
namestring
output_pathstringyes
profile
widthinteger

Structured output declared, but exposes no named fields.

No examples provided.

project_open ~43

Load an existing .kdenlive-cli.json project into the session. Args: project_path: Path to an existing project file.

NameTypeReqDescription
project_pathstringyes

Structured output declared, but exposes no named fields.

No examples provided.

project_save ~42

Persist the current project state to a file. Args: output_path: Optional path to write to. Defaults to the original project path.

NameTypeReqDescription
output_path

Structured output declared, but exposes no named fields.

No examples provided.

project_set_profile ~171

Set or update the project's video profile. Args: profile: Preset profile name (hd1080p30, hd1080p25, hd720p60, 4k30, 4k60, sd_pal, sd_ntsc). Overrides width/height/fps if set. width: Video width in pixels. height: Video height in pixels. fps_num: FPS numerator. fps_den: FPS denominator. progressive: Whether video is progressive. dar_num: Display aspect ratio numerator. dar_den: Display aspect ratio denominator.

NameTypeReqDescription
dar_den
dar_num
fps_den
fps_num
height
profile
progressive
width

Structured output declared, but exposes no named fields.

No examples provided.

render_queue_add ~40

Add job to render queue.

NameTypeReqDescription
in_point
out_point
output_pathstringyes
preset

Structured output declared, but exposes no named fields.

No examples provided.

render_queue_list ~14

List render queue jobs.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

render_queue_start ~20

Start processing render queue (renders sequentially via melt).

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

render_queue_status ~14

Get render queue status.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

render_queue_stop ~18

Stop render queue (marks running as stopped).

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

session_history ~18

List all undo/redo history entries with descriptions.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

session_redo ~16

Reapply the last undone operation.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

session_redo_step ~25

Redo N steps (granular).

NameTypeReqDescription
stepsinteger

Structured output declared, but exposes no named fields.

No examples provided.

session_status ~21

Inspect session state: project loaded, modified flag, history depth.

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

session_undo ~24

Revert the most recent state change (up to 50 history entries).

Input schema present but exposes no named parameters.

Structured output declared, but exposes no named fields.

No examples provided.

session_undo_step ~24

Undo N steps (granular).

NameTypeReqDescription
stepsinteger

Structured output declared, but exposes no named fields.

No examples provided.

timeline_add_clip ~146

Place a bin clip onto a specific track at a given time position. Args: clip_id: Bin clip identifier to place (from bin_list_clips). track: Target track number. position: Start time on the timeline in seconds. in_point: Media trim-in (where to start playback inside source) in seconds. out_point: Media trim-out (where to end playback inside source) in seconds. Defaults to full bin duration. Use timeline_trim_clip to adjust after placement.

NameTypeReqDescription
clip_idstringyes
in_pointnumber
out_point
positionnumberyes
trackintegeryes

Structured output declared, but exposes no named fields.

No examples provided.

timeline_add_track ~100

Append a video or audio track to the timeline. Args: track_type: 'video' or 'audio'. track_name: Optional name (auto-generated if omitted). mute: Start muted. hide: Start hidden. locked: Prevent edits on this track.

NameTypeReqDescription
hideboolean
lockedboolean
muteboolean
track_name
track_typestring

Structured output declared, but exposes no named fields.

No examples provided.

Common questions

What is the Kdenlive MCP Server server?

Kdenlive MCP Server is listed in the public MCP registry as io.github.Va1bhav512/kdenlive-mcp-server. Kdenlive video editing MCP - 36 tools for project, timeline, filters and melt rendering. This page covers its PyPI package (kdenlive-mcp-server).

Is the Kdenlive MCP Server server safe to use?

Kdenlive MCP Server scores 75 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. 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 Kdenlive MCP Server server expose?

Kdenlive MCP Server exposes 73 tools: project_new, project_open, project_save, project_get_info, project_list_profiles, and 68 more. Their descriptions and schemas cost roughly 3,535 tokens of context every time the server is loaded.

Is the Kdenlive MCP Server server still maintained?

Kdenlive MCP Server is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Kdenlive MCP Server server under?

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