Smart Clip MCP
An AI-powered video editing server that transforms long videos into highlight clips with intelligent editing and platform adaptation. It provides 5 tools:
smart_clip: Automatically detect and extract the most engaging moments from a long video, with controls for clip count, duration range, platform target, subtitle burn-in, and background music.repurpose: Convert long-form video into platform-optimized short clips for TikTok, YouTube Shorts, or Instagram Reels, with style preferences (informative, entertaining, emotional) and automatic aspect ratio adjustment.highlight_reel: Aggregate highlight clips from multiple videos into a single themed compilation reel with a configurable target duration.analyze_content: Get a structured analysis report (highlights, structure, sentiment) without performing any actual clipping — useful for previewing content before editing.get_edit_plan: Generate a detailed clipping plan for human review and approval before any actual edits are executed; the approved plan can then be passed tosmart_clip.
Underneath, the server uses LLM-driven semantic analysis, Whisper-based subtitle transcription, and audio energy/silence detection to identify precise cut points.
Repurpose long videos into platform-optimized short clips for Instagram Reels, with auto-resize and formatting.
Uses OpenAI language models (e.g., GPT-4o-mini) for LLM-driven highlight detection, semantic analysis, and editing decisions.
Repurpose long videos into platform-optimized short clips for TikTok, with auto-resize and formatting.
Repurpose long videos into platform-optimized short clips for YouTube Shorts, with auto-resize and formatting.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Smart Clip MCPExtract 5 highlight clips from this 1-hour podcast video"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Smart Clip MCP
AI-powered smart video clipping MCP server. Input a long video + editing intent, output highlight short clips.
Not another FFmpeg wrapper — it's the "editing brain". Uses subtitle semantic analysis + LLM-driven decision making to identify highlight moments, with mcp-video as the execution layer (FFmpeg fallback built-in).
Features
🧠 LLM-driven highlight detection — analyzes subtitles to identify the most engaging moments
🎬 5 MCP tools — smart_clip, repurpose, highlight_reel, analyze_content, get_edit_plan
🎯 Platform-adaptive — auto-resize and format for TikTok, YouTube Shorts, Instagram Reels
📝 Auto subtitles — Whisper transcription + burn-in with platform-specific styling
🔊 Audio analysis — energy peaks and silence detection for precise cut points
👀 Human-in-the-loop — preview edit plans before execution
💰 Low cost — ¥0.8-1.16 per hour of video (50x cheaper than cloud alternatives)
Related MCP server: podcli
Quick Start
Prerequisites
Python 3.11+
FFmpeg installed and on PATH
mcp-video (auto-installed as dependency)
Whisper model (auto-downloaded on first use)
Install
pip install smart-clip-mcpConfigure MCP Client
Claude Code:
claude mcp add smart-clip -- uvx --from smart-clip-mcp smart-clip-mcpClaude Desktop / Cursor:
{
"mcpServers": {
"smart-clip": {
"command": "uvx",
"args": ["--from", "smart-clip-mcp", "smart-clip-mcp"],
"env": {
"OPENAI_API_KEY": "sk-..."
}
}
}
}Usage
Ask your AI agent:
"Extract 5 highlight clips from this 1-hour podcast video"
"Turn this interview into 3 TikTok-ready shorts"
"Analyze this video and tell me the most engaging moments"
MCP Tools
Tool | Description |
| Auto-detect highlights and clip them from a long video |
| Convert long video to platform-specific short clips |
| Compile highlights from multiple videos into a reel |
| Analyze video content without clipping (preview mode) |
| Generate an edit plan for human review before execution |
Architecture
Video → [Analyzer] → [Planner] → [Executor] → Clips
│ │ │
│ Whisper │ LLM │ mcp-video
│ librosa │ Prompts │ FFmpeg
│ PySceneDetect │ Strategy │Analyzer — Content understanding: Whisper transcription, audio energy analysis, scene detection
Planner — Decision making: LLM highlight detection, template matching, strategy engine
Executor — Clip generation: trim, merge, subtitles, platform adaptation via mcp-video
Configuration
Create ~/.smart-clip/config.yaml:
analyzer:
whisper:
mode: local # local | api
model: large-v3
language: zh
audio:
energy_percentile: 90
silence_threshold: 0.3
planner:
llm:
model: gpt-4o-mini
temperature: 0
strategy:
min_score: 6.0
min_gap: 10
executor:
output:
format: mp4
quality: highDevelopment
# Clone
git clone git@github.com:Ambrose1/Smart-Clip-MCP.git
cd Smart-Clip-MCP
# Create venv
python -m venv .venv
source .venv/bin/activate
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run MCP server locally (stdio mode)
smart-clip-mcp
# Run MCP server with SSE transport (HTTP)
smart-clip-mcp --transport sse --port 8000Docker
Build & Run
# Build image
docker build -t smart-clip-mcp .
# Run with SSE transport (accessible via HTTP)
docker run -d \
-p 8000:8000 \
-e OPENAI_API_KEY=sk-... \
-v $(pwd)/videos:/workspace/videos \
-v $(pwd)/output:/workspace/output \
smart-clip-mcpDocker Compose (recommended)
# Set your API key
export OPENAI_API_KEY=sk-...
# Start
docker compose up -d
# View logs
docker compose logs -f
# Stop
docker compose downTest with MCP Inspector
Once the server is running in SSE mode:
# Install MCP Inspector
npx @modelcontextprotocol/inspector
# Connect to http://localhost:8000/sseOr test with curl:
# List available tools
curl -X POST http://localhost:8000/messages \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1.0"}}}'License
Apache 2.0 — see LICENSE.
Available Tools
5 toolsanalyze_content_toolA
分析视频内容,输出结构化报告,不执行剪辑。用于预览和决策。
| Name | Required | Description | Default |
|---|---|---|---|
| video_path | Yes | 输入视频文件路径 | |
| focus | No | 分析重点 (highlights/structure/sentiment/all) | all |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries the burden. It adds that the tool does not perform editing, which is a behavioral trait. However, it lacks details on permissions, rate limits, or what exact analysis is performed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is one short sentence with two clauses, front-loaded with the action. Every part is essential and there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, return values need not be explained. However, the description is minimal and does not specify what the structured report contains or handle input formats. Adequate but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description mentions 'analysis focus' corresponding to the focus parameter but adds no extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it analyzes video content and outputs a structured report, explicitly saying it does not perform editing. This distinguishes it from sibling editing tools like smart_clip_tool and highlight_reel_tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description says it is used for preview and decision, implying when to use. However, it does not explicitly state when not to use or mention alternative tools. The non-editing disclaimer provides some guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_edit_plan_toolA
生成剪辑方案但不执行,返回方案供人工审核。审核通过后调用 smart_clip 执行。
| Name | Required | Description | Default |
|---|---|---|---|
| video_path | Yes | 输入视频文件路径 | |
| intent | No | 剪辑意图,自然语言描述 | 提取精彩片段 |
| clip_count | No | 期望输出的片段数量 | |
| clip_duration_min | No | 单片段最短秒数 | |
| clip_duration_max | No | 单片段最长秒数 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool is non-destructive (generates plan, does not execute), returns a plan for human review, and requires subsequent execution via smart_clip. This gives sufficient behavioral clarity for a planning tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose, non-execution nature, and the subsequent execution step. Every clause is necessary and contributes to understanding. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters all described in the schema and an output schema (though not shown), the description adequately explains the tool's role in the workflow. It could mention the output format or that the plan is suitable for input to smart_clip, but given the output schema existence, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so each parameter is already documented. The tool description does not add any extra meaning or context beyond what the schema provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool generates an editing plan without executing it, returning the plan for human review. It explicitly distinguishes from sibling tool 'smart_clip' by indicating that after approval, smart_clip should be called for execution. Purpose is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a workflow: use this tool to create a plan, then after human approval, use smart_clip to execute. This provides clear context for when to use this tool vs alternatives. However, it does not explicitly state when not to use it, such as for direct execution or other analysis tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
highlight_reel_toolB
从多个视频中提取精彩片段合成集锦视频。支持跨视频主题聚合。
| Name | Required | Description | Default |
|---|---|---|---|
| video_paths | Yes | 输入视频文件路径列表 | |
| theme | Yes | 集锦主题,如'搞笑瞬间''核心观点' | |
| target_duration | No | 目标总时长(秒) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully bears the burden of behavioral disclosure. It only states the basic operation without revealing potential side effects, authorization requirements, or limitations (e.g., file format constraints, processing time). This is insufficient for a tool that creates a new file.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two short sentences that are front-loaded with the core action. Every word is meaningful and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (as per context signals), the description is not required to explain return values. It adequately covers the basic purpose and scope, but lacks usage guidance and behavioral details. It is minimally viable but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. However, the description adds no extra meaning to the parameters beyond what the schema provides (e.g., no examples, constraints, or relationships between parameters). It could have clarified how 'theme' influences extraction or the role of 'target_duration'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool extracts highlights from multiple videos to create a highlight reel, and mentions support for cross-video theme aggregation. This is a specific verb-resource combination that distinguishes it from sibling tools like 'analyze_content_tool' (analysis) or 'smart_clip_tool' (single clip generation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. Without such context, an AI agent cannot determine if this tool is appropriate for a given task among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repurpose_toolA
将长视频自动重制为适配目标平台的短视频。自动识别精彩内容、裁切、加字幕、调比例。
| Name | Required | Description | Default |
|---|---|---|---|
| video_path | Yes | 输入视频文件路径 | |
| platform | No | 目标平台 (tiktok/youtube_shorts/instagram_reels) | tiktok |
| clip_count | No | 期望输出的片段数量 | |
| style | No | 剪辑风格偏好 (informative/entertaining/emotional) | informative |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the automatic process but lacks details on side effects (e.g., original video unchanged), output format, or prerequisites. More behavioral context like 'does not modify original' or 'requires ffmpeg' would improve.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear Chinese sentence that front-loads the main action. No wasted words; every part is meaningful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists and all parameters are documented in the schema, the description adequately covers the tool's purpose and behavior. No major gaps are apparent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds overall context but does not significantly enhance individual parameter understanding beyond the schema (e.g., what 'informative' style entails).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool repurposes long videos into short videos for target platforms, specifying actions like auto-detect highlights, crop, add subtitles, adjust ratio. It is distinct from sibling tools like 'analyze_content_tool' or 'highlight_reel_tool' which are sub-steps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for repurposing long videos to short form, but does not explicitly state when to use versus alternatives or when not to use. It is clear enough that this is the main repurposing tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
smart_clip_toolA
从长视频中自动识别精彩片段并裁切输出。适用于口播、播客、直播回放等语音驱动内容。
| Name | Required | Description | Default |
|---|---|---|---|
| video_path | Yes | 输入视频文件路径 | |
| intent | No | 剪辑意图,自然语言描述。如:'提取最精彩的5个片段' / '找出所有金句' | 提取精彩片段 |
| clip_count | No | 期望输出的片段数量 | |
| clip_duration_min | No | 单片段最短秒数 | |
| clip_duration_max | No | 单片段最长秒数 | |
| platform | No | 目标平台 (auto/tiktok/youtube_shorts/instagram_reels/youtube/original) | original |
| with_subtitles | No | 是否烧录字幕 | |
| with_bgm | No | 是否添加背景音乐 | |
| output_dir | No | 输出目录 | ./smart-clip-output |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the core behavior (auto-identify and clip) but does not detail side effects (e.g., non-destructive), required permissions, or limitations. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences with key information front-loaded. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (9 parameters, sibling tools) and lack of annotations, the description is minimal. It covers basic purpose but lacks context on how it differs from sibling tools like highlight_reel_tool. Output schema exists, so return values are covered elsewhere.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The tool description adds no extra parameter information, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool identifies highlights and clips them from long videos, with examples of suitable content types. However, it does not explicitly differentiate from sibling tools like highlight_reel_tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context on when to use (voice-driven content) but lacks guidance on when not to use or mention alternatives, which would help for sibling differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
v0.1.0- First observed
analyze_content_tool - First observed
get_edit_plan_tool - First observed
highlight_reel_tool - First observed
repurpose_tool - First observed
smart_clip_tool
TDQS
Scored across 5 tools
Each tool has a distinct role: analysis, planning, single-video clipping, multi-video compilation, and platform-specific repurposing. There is slight overlap between smart_clip_tool and repurpose_tool in basic clipping, but their descriptions clarify different use cases.
Tool names follow a consistent snake_case pattern with the _tool suffix. Most use a verb_noun structure (analyze_content, get_edit_plan, highlight_reel, repurpose), but 'smart_clip_tool' uses an adjective-noun combination, breaking the verb pattern.
With 5 tools, the server covers the essential functions of a video clipping assistant without being overwhelming. The count is well-scoped for the intended domain of automated editing and repurposing.
The tool set provides a complete workflow from analysis to planning to execution, plus specialized features like highlight reels and repurposing. Missing direct manual editing or plan modification, but these are not core to the automated focus.
Maintenance
Related MCP Connectors
AI clips from long videos: analyze, clip, render and publish via the CutPro API.
Turns long videos into captioned vertical clips, cut at the moments that stand on their own.
Turn any video or livestream into scored, captioned, ready-to-post vertical clips.
Turn long videos into AI-curated short clips: caption, reframe, thumbnail, schedule, and publish.
Related MCP Servers
- MIT
- AlicenseCqualityAmaintenanceAI-powered podcast clipper that generates vertical clips with face tracking and burned-in captions, with an MCP server enabling Claude Desktop and Claude Code integration.2664AGPL 3.0
- FlicenseNot gradedqualityDmaintenanceTurns long-form videos into short-form clips (TikTok/Reels) by reasoning over word-timestamped transcripts, with silence-aware rendering, STT-based validation, and optional reframing/captions.-
- AlicenseNot gradedqualityDmaintenanceAn MCP server for comprehensive video analysis — AI-powered transcription, visual frame analysis, and metadata extraction from 1000+ platforms.1MIT