Figma Context MCP
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
作者による説明(英語の原文)
Kdenlive video editing MCP - 36 tools for project, timeline, filters and melt rendering
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
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/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"kdenlive": {
"command": "uvx",
"args": [
"kdenlive-mcp-server"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"kdenlive": {
"type": "stdio",
"command": "uvx",
"args": [
"kdenlive-mcp-server"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント Va1bhav512 で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.3)がレジストリに届いたのは2 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Figma Context MCP, Claude Real Video, Figma MCP Server
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Give your coding agent access to your Figma data. Implement designs in any framework in one-shot.
Let any LLM watch a video locally — and search everything it has ever watched.
The Figma MCP server brings Figma design context directly into your AI workflow.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A Model Context Protocol (MCP) server wrapping cli-anything-kdenlive for LLM-driven video editing workflows via Kdenlive.
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.
# Python 3.10+
pip install uv
cd kdenlive-mcp-server
uv sync
The server runs as a FastMCP server compatible with any LLM platform that supports MCP (e.g., Claude Code, Pi, OpenCode).
# Run the MCP server
uv run kdenlive-mcp
uv run python3 -m kdenlive_mcp_server.server
from kdenlive_mcp_server.server import (
project_new, bin_import_clip, timeline_add_clip, export_xml )
result = project_new(output_path="my_project.kdenlive-cli.json", profile="hd1080p30")
result = bin_import_clip(clip_path="video.mp4", name="Interview", duration=120.0)
result = timeline_add_clip(clip_id="clip0", track=0, position=0.0)
result = export_xml(output_path="output.kdenlive")
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
| Tool | Description |
|---|---|
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.) |
| Tool | Description |
|---|---|
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) |
| Tool | Description |
|---|---|
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 |
| Tool | Description |
|---|---|
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 |
| Tool | Description |
|---|---|
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 |
| Tool | Description |
|---|---|
guide_add() | Add timeline markers/chapters |
guide_remove() | Remove a guide by ID |
guide_list() | List all guide markers |
| Tool | Description |
|---|---|
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 |
| Tool | Description |
|---|---|
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 |
| Tool | Description |
|---|---|
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}], )
segments is a list of {start, end} in source seconds, or a path to a JSON file containing {"segments": [...]}.start, separated by gap seconds.A1). Pass include_audio=False to skip this, or audio_track= to choose the track.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")
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.
from kdenlive_mcp_server.server import (
project_new, bin_import_clip, timeline_add_track, timeline_add_clip, export_xml, project_save )
result = project_new( output_path="intro_video.kdenlive-cli.json", profile="hd1080p30", name="Introduction" )
result = bin_import_clip( clip_path="interview.mp4", name="Interview", duration=120.0 )
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 )
result = export_xml(output_path="intro.kdenlive")
from kdenlive_mcp_server.server import (
project_new, bin_import_clip, timeline_add_track, timeline_add_clip, filter_add, filter_set_param, filter_list )
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)
result = filter_add( track_id=0, clip_index=0, filter_type="brightness", params=["level=0.8"] )
result = filter_set_param( track_id=0, clip_index=0, filter_index=0, parameter="level", value="1.2" )
result = filter_list(track_id=0, clip_index=0)
from kdenlive_mcp_server.server import (
project_new, bin_import_clip, timeline_add_track, timeline_add_clip, guide_add, guide_list, project_save )
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)
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")
result = guide_list()
result = project_save()
All tools return consistent response formats:
# Success
{ "success": True, "data": {...} }
{ "success": False, "error": "Error message describing the failure" }
[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" }
Auto-generated by uv sync. Contains locked dependency versions.
If Kdenlive reports "Version of the project file cannot be read" or "Timeline clip without bin reference found":
冒頭だけを表示しています。続きはリポジトリで読めます