原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Kdenlive MCP Server

作者:Va1bhav512版本 0.1.3i★ –i在你的电脑上运行
注册名称io.github.Va1bhav512/kdenlive-mcp-server

安装

概览

作者提供的说明(英文原文)

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

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 设计、图片与音频

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

你需要

  • PyPI已安装 Python 的 uv(用于 uvx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "kdenlive": {
      "command": "uvx",
      "args": [
        "kdenlive-mcp-server"
      ]
    }
  }
}

在终端中运行这条命令

claude mcp add kdenlive -- uvx kdenlive-mcp-server

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "kdenlive": {
      "command": "uvx",
      "args": [
        "kdenlive-mcp-server"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "kdenlive": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "kdenlive-mcp-server"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 Va1bhav512 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“设计、图片与音频”中的其他服务器比较i

  • 星标数多于此分类中其他 2805 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 2805 个服务器的 28% 更新
  • 基础检查结果等于或优于此分类中其他 2805 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Kdenlive MCP Server 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.1.3)于2个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。

有什么可以替代它?

同一分类中有:Figma Context MCP, Claude Real Video, Figma MCP Server

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Figma Context MCP

Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.

作者:GLips广泛使用↓ 16.1万/周★ 1.6万5个月前更新

在你的电脑上运行

Claude Real Video

Let any LLM watch a video locally — and search everything it has ever watched.

作者:HUANGCHIHHUNGLeo广泛使用↓ 1106/周★ 22842个月前更新

在你的电脑上运行

Figma MCP Server

The Figma MCP server brings Figma design context directly into your AI workflow.

作者:figma广泛使用★ 215213个月前更新

在云端运行✓ mcp.figma.com

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

Kdenlive MCP Server

A Model Context Protocol (MCP) server wrapping cli-anything-kdenlive for LLM-driven video editing workflows via Kdenlive.

Overview

This FastMCP server enables AI models to perform complex video editing tasks on Kdenlive projects through a set of 75 tools. The server uses the Python API of cli-anything-kdenlive directly (not subprocess) to maintain a persistent session state, ensuring modifications are immediately available to subsequent tool calls.

Key Features
  • Persistent Session State: Uses CLI's in-memory session API, auto-saves after every mutation
  • Gen 5 XML Export: Kdenlive-compatible XML output with proper bin references and version metadata
  • Robust Error Handling: All exceptions caught and returned as structured JSON payloads
  • Auto-Project Tracking: Globally tracks project path; all tools automatically target the active project
  • 75 MCP Tools: Comprehensive coverage of Kdenlive operations

Installation

Prerequisites
# Python 3.10+

Ensure uv is installed for dependency management

pip install uv

Install Dependencies
cd kdenlive-mcp-server

uv sync

Usage

As an MCP Server

The server runs as a FastMCP server compatible with any LLM platform that supports MCP (e.g., Claude Code, Pi, OpenCode).

Command Line
# Run the MCP server

uv run kdenlive-mcp

Or directly via Python

uv run python3 -m kdenlive_mcp_server.server

Python Integration
from kdenlive_mcp_server.server import (

project_new, bin_import_clip, timeline_add_clip, export_xml )

Create project

result = project_new(output_path="my_project.kdenlive-cli.json", profile="hd1080p30")

Import media

result = bin_import_clip(clip_path="video.mp4", name="Interview", duration=120.0)

Add to timeline

result = timeline_add_clip(clip_id="clip0", track=0, position=0.0)

Export XML

result = export_xml(output_path="output.kdenlive")

Project Structure

kdenlive-mcp-server/

├── kdenlive_mcp_server/ │ ├── init.py # Empty package init │ └── server.py # FastMCP server with 75 tools ├── main.py # Entry point delegating to server module ├── pyproject.toml # Project configuration and dependencies ├── uv.lock # Dependency lock file └── README.md # This file

Tools

Project (5 tools)
ToolDescription
project_new()Create a new Kdenlive project with optional profile override
project_open()Load an existing .kdenlive-cli.json project
project_save()Persist the current project state to disk
project_get_info()Get project metadata (resolution, FPS, track layout, clip counts)
project_list_profiles()List all available video output profiles (hd1080p30, 4k60, sd_pal, etc.)
Bin (4 tools)
ToolDescription
bin_import_clip()Ingest media files (video, audio, image) into the project bin
bin_remove_clip()Delete a clip from the bin by ID
bin_list_clips()List all assets in the project bin
bin_get_clip_details()Fetch detailed properties of a clip (duration, type, source)
Timeline (8 tools)
ToolDescription
timeline_add_track()Append a video or audio track to the timeline
timeline_remove_track()Delete a track and all its clips
timeline_add_clip()Place a bin clip on a track at a specific position
timeline_remove_clip()Remove a clip from a track
timeline_move_clip()Reposition a clip on the same track
timeline_trim_clip()Adjust clip in/out crop handles
timeline_split_clip()Cut a clip into two pieces at a precise offset
timeline_list()List all tracks with clip counts and status
Filters (5 tools)
ToolDescription
filter_add()Attach a video/audio effect (blur, brightness, frei0r.opacity, volume)
filter_remove()Remove an effect from a clip
filter_set_param()Update a single filter parameter (radius, opacity, level)
filter_list()List all active filters on a clip
filter_list_available()Discover all available filters by category
Transitions (4 tools)
ToolDescription
transition_add()Create blend transitions (dissolve, wipe, slide, composite, affine)
transition_remove()Delete a transition by ID
transition_set()Update a transition parameter
transition_list()List all transitions on the timeline
Guides (3 tools)
ToolDescription
guide_add()Add timeline markers/chapters
guide_remove()Remove a guide by ID
guide_list()List all guide markers
Export (3 tools)
ToolDescription
export_xml()Generate Kdenlive/MLT XML for the project
export_list_presets()List available render presets
export_render()Render project to video via melt CLI
Session (4 tools)
ToolDescription
session_undo()Revert the most recent operation (up to 50 history entries)
session_redo()Redo the last undone operation
session_status()Inspect session state (project loaded, modified flag, history depth)
session_history()List all undo/redo history entries
Batch Editing & Vertical Video (new in 0.2.0)
ToolDescription
timeline_build_from_segments()Place many keep-segments of one bin clip back to back in a single, single-undo call
clip_reframe_vertical()Center-crop a 16:9 clip to fill a 9:16 frame, with a horizontal pan
timeline_build_from_segments(clip_id, segments, track=0, start=0.0, gap=0.0, include_audio=True, audio_track=None)

Cutting a long take with timeline_split_clip / timeline_remove_clip is fragile because every removal shifts the clip_index of the clips after it. Instead, compute the ranges you want to keep and place them all at once:

timeline_add_track()  # video track 0

timeline_build_from_segments( clip_id="clip0", segments=[{"start": 0.5, "end": 1.5}, {"start": 3.0, "end": 4.5}, {"start": 6.0, "end": 8.0}], )

-> {"placed": 3, "timeline_duration": 4.5, "kept_seconds": 4.5, "track": 0, "audio_track": 1, ...}

  • segments is a list of {start, end} in source seconds, or a path to a JSON file containing {"segments": [...]}.
  • Segments are sorted, clamped to the clip's duration, merged where they overlap or touch, and dropped if shorter than 0.05 s. An empty result is an error.
  • Segments are laid out from start, separated by gap seconds.
  • Clips on a video track render without sound, so when the source has an audio stream the same segments are mirrored onto an audio track (the first existing one, or a new A1). Pass include_audio=False to skip this, or audio_track= to choose the track.
  • The whole build, including any auto-created audio track, is one undo step: a single session_undo() reverts it.
clip_reframe_vertical(track_id, clip_index, x_offset=0.0)

For Shorts/Reels/TikTok, start the project with a vertical profile (vertical1080p30 or vertical1080p60, both 1080x1920), then reframe each landscape clip:

project_new("short.kdenlive-cli.json", profile="vertical1080p30")

... import + timeline_build_from_segments ...

clip_reframe_vertical(track_id=0, clip_index=0) # center clip_reframe_vertical(track_id=0, clip_index=1, x_offset=-0.5) # pan left

The source is scaled so its height fills the frame, then shifted horizontally: x_offset -1 shows the left edge, 0 the center, 1 the right edge. It adds an affine filter (Kdenlive's Transform effect) with a transition.rect; calling it again on the same clip updates that filter instead of stacking another. Center crop only, no face tracking.

Example Workflows

Create a Simple Video Project
from kdenlive_mcp_server.server import (

project_new, bin_import_clip, timeline_add_track, timeline_add_clip, export_xml, project_save )

1. Create project

result = project_new( output_path="intro_video.kdenlive-cli.json", profile="hd1080p30", name="Introduction" )

2. Import media

result = bin_import_clip( clip_path="interview.mp4", name="Interview", duration=120.0 )

3. Add track and place clip

result = timeline_add_track(track_type="video", track_name="V1") result = timeline_add_clip( clip_id="clip0", # From bin_import_clip response track=0, position=0.0 )

4. Export

result = export_xml(output_path="intro.kdenlive")

Apply Effects to Clips
from kdenlive_mcp_server.server import (

project_new, bin_import_clip, timeline_add_track, timeline_add_clip, filter_add, filter_set_param, filter_list )

Setup

result = project_new(output_path="effects_demo.kdenlive-cli.json", profile="hd720p60") result = bin_import_clip(clip_path="movie.mp4", name="Movie", duration=300.0) result = timeline_add_track(track_type="video") result = timeline_add_clip(clip_id="clip0", track=0, position=0.0)

Add brightness filter

result = filter_add( track_id=0, clip_index=0, filter_type="brightness", params=["level=0.8"] )

Update brightness

result = filter_set_param( track_id=0, clip_index=0, filter_index=0, parameter="level", value="1.2" )

List filters

result = filter_list(track_id=0, clip_index=0)

Add Chapter Markers
from kdenlive_mcp_server.server import (

project_new, bin_import_clip, timeline_add_track, timeline_add_clip, guide_add, guide_list, project_save )

Setup

result = project_new(output_path="documentary.kdenlive-cli.json", profile="4k30") result = bin_import_clip(clip_path="documentary.mp4", name="Doc", duration=900.0) result = timeline_add_track(track_type="video") result = timeline_add_clip(clip_id="clip0", track=0, position=0.0)

Add chapter markers

result = guide_add(position=60.0, label="Chapter 1: Introduction", guide_type="chapter") result = guide_add(position=180.0, label="Chapter 2: Main Content", guide_type="chapter") result = guide_add(position=300.0, label="Chapter 3: Conclusion", guide_type="chapter")

List guides

result = guide_list()

Save

result = project_save()

Error Handling

All tools return consistent response formats:

# Success

{ "success": True, "data": {...} }

Error

{ "success": False, "error": "Error message describing the failure" }

Configuration

pyproject.toml
[project]

name = "kdenlive-mcp-server" version = "0.1.0" description = "MCP server for Kdenlive video editing via cli-anything-kdenlive" requires-python = ">=3.10" dependencies = [ "mcp>=1.28.0", "cli-anything-kdenlive>=1.0.0", ]

[project.scripts] kdenlive-mcp = "kdenlive_mcp_server.server:main"

[tool.uv.sources] cli-anything-kdenlive = { git = "https://github.com/HKUDS/CLI-Anything.git", subdirectory = "kdenlive/agent-harness" }

uv.lock

Auto-generated by uv sync. Contains locked dependency versions.

Dependencies

  • mcp>=1.28.0: FastMCP server framework for MCP protocol
  • cli-anything-kdenlive @ git+https://github.com/HKUDS/CLI-Anything.git#subdirectory=kdenlive/agent-harness:
  • CLI harness for Kdenlive video editing via melt
  • Includes Gen 5 MLT XML format rewrite (PR #216)
  • Provides Python API for project management

Troubleshooting

Kdenlive XML Compatibility Issues

If Kdenlive reports "Version of the project file cannot be read" or "Timeline clip without bin reference found":

  1. Cause: Using PyPI v1.0.0 (Gen 4 format) which lacks proper Kdenlive metadata
  2. Fix: The package now installs from GitHub HEAD with Gen 5 format that includes:

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx