kdenlive-mcp
MCP (Model Context Protocol) server for Kdenlive video editor automation. Enables AI assistants like Claude to control Kdenlive through natural language.
Installation
pip install kdenlive-mcp
Or with uv:
uv tool install kdenlive-mcp
Requirements
- Python 3.11+
- Kdenlive with WebSocket RPC server (requires kdenlive-websocket fork)
- Kdenlive must be running before starting the MCP server
Quick Start
-
Start Kdenlive (with RPC server enabled)
-
Configure your MCP client (see below)
-
Start using AI to control Kdenlive!
MCP Client Configuration
Claude Desktop
Add to your Claude Desktop configuration file:
Linux (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"kdenlive": {
"command": "kdenlive-mcp"
}
}
}
Windows (%APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"kdenlive": {
"command": "kdenlive-mcp"
}
}
}
macOS (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"kdenlive": {
"command": "kdenlive-mcp"
}
}
}
With Custom Configuration
{
"mcpServers": {
"kdenlive": {
"command": "kdenlive-mcp",
"env": {
"KDENLIVE_WS_URL": "ws://localhost:9876",
"KDENLIVE_AUTH_TOKEN": "your-secret-token"
}
}
}
}
Using uvx (no installation required)
{
"mcpServers": {
"kdenlive": {
"command": "uvx",
"args": ["kdenlive-mcp"]
}
}
}
Environment Variables
| Variable | Description | Default |
|---|---|---|
KDENLIVE_WS_URL |
WebSocket URL to Kdenlive RPC server | ws://localhost:9876 |
KDENLIVE_AUTH_TOKEN |
Bearer token for authentication | None |
Available Tools
The MCP server exposes 60+ tools for controlling Kdenlive:
Project Management
project_get_info- Get current project informationproject_open- Open a project fileproject_save- Save the current projectproject_close- Close the current projectproject_new- Create a new projectproject_undo/project_redo- Undo/redo actions
Timeline Operations
timeline_get_info- Get timeline informationtimeline_get_tracks- List all trackstimeline_get_clips- Get clips on timelinetimeline_insert_clip- Insert clip from bintimeline_move_clip- Move a cliptimeline_delete_clip- Delete a cliptimeline_split_clip- Split a cliptimeline_resize_clip- Trim/resize a cliptimeline_add_track/timeline_delete_track- Manage trackstimeline_seek/timeline_get_position- Playhead control
Bin/Media Management
bin_list_clips/bin_list_folders- Browse bin contentsbin_get_clip_info- Get clip detailsbin_import_clip/bin_import_clips- Import media filesbin_delete_clip- Remove clipsbin_create_folder- Create foldersbin_rename_item/bin_move_item- Organize itemsbin_add_clip_marker/bin_delete_clip_marker- Manage markers
Effects
effect_list_available- List all effectseffect_get_info- Get effect parameterseffect_add/effect_remove- Add/remove effectseffect_get_clip_effects- List effects on a clipeffect_set_property- Modify effect parameterseffect_enable/effect_disable- Toggle effectseffect_get_keyframes/effect_set_keyframe/effect_delete_keyframe- Keyframe animation
Rendering
render_get_presets- List render presetsrender_start- Start renderingrender_stop- Stop a render jobrender_get_status- Check render progressrender_get_jobs/render_get_active_job- Monitor jobs
Assets
asset_list_categories- Browse effect categoriesasset_search- Search effects/transitionsasset_get_effects_by_category- Filter by categoryasset_get_favorites/asset_add_favorite/asset_remove_favorite- Manage favoritesasset_get_presets/asset_save_preset- Effect presets
Transitions & Compositions
transition_list- List available transitionstransition_add/transition_remove- Manage transitionscomposition_list- List compositionscomposition_add/composition_remove- Manage compositions
Utilities
kdenlive_ping- Check connectionkdenlive_version- Get version info
Example Conversations
Once configured, you can ask Claude to:
"Import all MP4 files from my Downloads folder into Kdenlive"
"Add a blur effect to the first clip on the timeline"
"Split the video at the 5 second mark"
"Render the project as MP4 to my Desktop"
"Create a new folder called 'B-Roll' in the bin and move all clips shorter than 10 seconds into it"
Troubleshooting
"Cannot connect to Kdenlive"
- Make sure Kdenlive is running
- Verify the RPC server is enabled in Kdenlive settings
- Check that the WebSocket URL is correct (default:
ws://localhost:9876)
"Connection refused"
The Kdenlive RPC server might be on a different port or host. Check your Kdenlive settings and update KDENLIVE_WS_URL accordingly.
Windows PATH Issues
If kdenlive-mcp command is not found, use the full path:
{
"mcpServers": {
"kdenlive": {
"command": "C:\\Users\\YourName\\AppData\\Local\\Programs\\Python\\Python311\\Scripts\\kdenlive-mcp.exe"
}
}
}
Or use uvx which handles this automatically:
{
"mcpServers": {
"kdenlive": {
"command": "uvx",
"args": ["kdenlive-mcp"]
}
}
}
Development
# Clone the repository
git clone https://github.com/IO-AtelierTech/kdenlive-automation.git
cd kdenlive-automation
# Install dependencies
uv sync
# Run the MCP server locally
uv run kdenlive-mcp
Related Projects
- kdenlive-api - Python client library for Kdenlive RPC
- Kdenlive - Free and open source video editor
- Model Context Protocol - Open protocol for AI tool integration
License
MIT License - see LICENSE file for details.
Metadata
Release files for kdenlive-mcp 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| kdenlive_mcp-0.2.1.tar.gz | 17.4 kB | Without provenance | Details for kdenlive_mcp-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kdenlive_mcp-0.2.1-py3-none-any.whl | Python 3 | none | any | Details for kdenlive_mcp-0.2.1-py3-none-any.whl |
Total release size: 41.7 kB
Release files / kdenlive_mcp-0.2.1.tar.gz
| Download URL | kdenlive_mcp-0.2.1.tar.gz |
|---|---|
| Size | 17.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b912c5fdc03fb42cde5309dc7f09870ca6ef9dcf7a56ad4540887e968797234f
|
|
BLAKE2b-256 checksum How to use checksums |
a80808826c91fc057ba8c94e1c329d568d56a6e3ef5d1da49beac5719f82ad3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.11
|
Release files / kdenlive_mcp-0.2.1-py3-none-any.whl
| Download URL | kdenlive_mcp-0.2.1-py3-none-any.whl |
|---|---|
| Size | 24.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c938402be700402ed3cf1e63b83ab1c933dda25e8e8dc32c44918f177a90d0ab
|
|
BLAKE2b-256 checksum How to use checksums |
80b4848666559bd93707b4ba7648d18017a0fd6bb9fc2be390935dd162894509
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.11
|
Security for kdenlive-mcp 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.