JianYing MCP
Click on "Install 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., "@JianYing MCPcreate a 30-second promotional video with upbeat music and text animations"
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.
JianYing MCP - 剪映视频制作 MCP 服务器
一个基于 Model Context Protocol (MCP) 的剪映视频制作自动化工具,让 AI 助手能够通过自然语言创建专业的视频内容。
🎯 项目简介
jianying mcp是一个强大的视频制作自动化工具,通过mcp协议让AI能够:
🎬 自动创建剪映草稿项目
🎵 智能添加音频、视频、文本素材
✨ 应用各种特效、滤镜、动画
🎨 自动化视频编辑流程
📤 导出为剪映可编辑的项目文件
Related MCP server: CapCutAPI-Complete MCP Server
🚀 核心功能
📋 草稿管理
rules- 制作视频规范create_draft- 创建新的视频草稿项目export_draft- 导出为剪映项目文件
🛤️ 轨道管理
create_track- 创建视频/音频/文本轨道
🎥 视频处理
add_video_segment- 添加视频片段(可以是本地文件,也可以是url)add_video_animation- 添加入场/出场动画add_video_transition- 添加转场效果add_video_filter- 应用滤镜效果add_video_mask- 添加蒙版效果add_video_background_filling- 背景填充add_video_keyframe- 关键帧动画
🎵 音频处理
add_audio_segment- 添加音频片段(可以是本地文件,也可以是url)add_audio_effect- 音频特效(电音、混响等)add_audio_fade- 淡入淡出效果add_audio_keyframe- 音频关键帧
📝 文本处理
add_text_segment- 添加文本片段add_text_animation- 文字动画效果add_text_bubble- 文字气泡效果add_text_effect- 文字花字特效
🔧 实用工具
parse_media_info- 解析媒体文件信息find_effects_by_type- 查找可用特效资源
📦 快速开始
1. 安装 uv
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh2. 克隆项目并安装依赖
git clone https://github.com/your-username/jianying-mcp.git
cd jianying-mcp
uv sync3. 配置 MCP 客户端
以 Augment Code 为例,在 MCP 客户端中添加服务器配置:
{
"mcpServers": {
"jianying-mcp": {
"command": "uv",
"args": [
"--directory",
"/your-path/jianying-mcp/jianyingdraft",
"run",
"server.py"
],
"env": {
"SAVE_PATH": "/your-path/draft",
"OUTPUT_PATH": "/your-path/output"
}
}
}
}SAVE_PATH:数据存储路径 - 存储草稿的操作数据
OUTPUT_PATH:导出路径 - 生成的剪映草稿文件存放位置
🎥 演示视频
🔧 开发指南
调试模式
使用 MCP Inspector 进行调试:
uv run mcp dev jianyingdraft/server.py🙏 致谢
Model Context Protocol - 提供了强大的 AI 集成协议
pyJianYingDraft - 剪映项目文件处理库
⭐ 如果这个项目对你有帮助,请给个 Star 支持一下!
Available Tools
20 toolsadd_audio_effectA
为音频片段添加特效
Args: audio_segment_id: 音频片段ID,通过add_audio_segment获得 effect_type: 特效类型,支持以下类型: - "AudioSceneEffectType": 场景音效(如雨声、风声等) - "ToneEffectType": 音调特效(如机器人、电音等) - "SpeechToSongType": 语音转歌声特效(如Lofi、流行等) effect_name: 特效名称,如 "雨声", "机器人", "Lofi", "电音", "回声" 等,可以使用find_effects_by_type工具,资源类型选择AudioSceneEffectType、ToneEffectType、SpeechToSongType,从而获取特效类型有哪些 params: 特效参数列表(可选),参数范围0-100,具体参数数量和含义取决于特效类型,一般不做修改
| Name | Required | Description | Default |
|---|---|---|---|
| audio_segment_id | Yes | ||
| effect_type | Yes | ||
| effect_name | Yes | ||
| params | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that 'params' are optional and generally not modified, but fails to describe critical behaviors such as whether this is a mutating operation, what permissions are required, how effects are applied (e.g., overlay vs. replacement), or what the output contains. The description is insufficient for a tool that modifies audio content.
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 well-structured with a clear purpose statement followed by an 'Args' section detailing each parameter. Every sentence adds value, such as explaining parameter sources or suggesting related tools. It could be slightly more concise by integrating the 'effect_type' examples more seamlessly, but overall it's efficient and front-loaded.
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?
The description is moderately complete given the tool's complexity and lack of annotations. It thoroughly documents parameters but omits behavioral context like mutation effects or error handling. Since an output schema exists, the description doesn't need to explain return values, but it should address how the tool interacts with the audio system (e.g., whether effects are reversible or cumulative).
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?
Given 0% schema description coverage, the description compensates fully by explaining all four parameters in detail. It clarifies that 'audio_segment_id' comes from 'add_audio_segment', enumerates the three 'effect_type' options with examples, describes 'effect_name' with specific instances and how to find more, and notes that 'params' are optional numeric values (0-100) whose meaning depends on the effect type. This adds significant value beyond the bare 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?
The description clearly states the tool's purpose as '为音频片段添加特效' (add effects to audio segments), specifying both the verb (add) and resource (audio segments). It distinguishes from siblings like 'add_audio_fade' or 'add_audio_keyframe' by focusing on general effects rather than specific transformations. However, it doesn't explicitly differentiate from 'add_video_effect' which serves a similar purpose for video.
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 by mentioning that 'audio_segment_id' is obtained via 'add_audio_segment' and suggests using 'find_effects_by_type' to discover available effects. However, it lacks explicit guidance on when to use this tool versus alternatives like 'add_audio_fade' or 'add_video_effect', and doesn't mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_audio_fadeB
为音频片段添加淡入淡出效果
Args: audio_segment_id: 音频片段ID,通过add_audio_segment获得 in_duration: 音频淡入时长,格式如 "1s", "500ms", "0.5s" out_duration: 音频淡出时长,格式如 "1s", "500ms", "0.5s"
| Name | Required | Description | Default |
|---|---|---|---|
| audio_segment_id | Yes | ||
| in_duration | Yes | ||
| out_duration | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
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 states the tool adds effects, implying mutation, but doesn't disclose behavioral traits like whether it modifies the original audio segment in-place, creates a new version, requires specific permissions, has rate limits, or what the output looks like. The description is minimal and lacks crucial operational context.
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 highly concise and well-structured: a one-sentence purpose statement followed by a bullet-point list of parameters with clear explanations. Every sentence earns its place with no wasted words, and key information is front-loaded.
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 3 parameters with 0% schema coverage and no annotations, the description does a decent job explaining parameters but lacks behavioral context. The presence of an output schema (not shown) means return values might be documented elsewhere, reducing the burden. However, for a mutation tool with no safety annotations, more operational details would be helpful.
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 0%, so the description must compensate. It adds significant semantic value by explaining all three parameters: 'audio_segment_id' is sourced from 'add_audio_segment', and 'in_duration'/'out_duration' specify formats like '1s' or '500ms'. This clarifies usage beyond the bare schema, though it doesn't cover edge cases or units beyond seconds/milliseconds.
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's purpose: '为音频片段添加淡入淡出效果' (add fade-in and fade-out effects to an audio segment). It specifies the verb (add) and resource (audio segment), but doesn't explicitly differentiate from sibling tools like 'add_audio_effect' or 'add_audio_keyframe' that might also modify audio segments.
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. It mentions that 'audio_segment_id' is obtained via 'add_audio_segment', which is a prerequisite but not a usage guideline. There's no mention of when fade effects are appropriate or when other audio tools might be better suited.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_audio_keyframeB
为音频片段添加音量关键帧
Args: audio_segment_id: 音频片段ID,通过add_audio_segment获得 time_offset: 关键帧的时间偏移量,格式如 "0s", "1.5s", "500ms" volume: 音量在time_offset处的值,范围通常0.0-1.0,也可以大于1.0实现增益效果
| Name | Required | Description | Default |
|---|---|---|---|
| audio_segment_id | Yes | ||
| time_offset | Yes | ||
| volume | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the action ('添加' - add) which implies a write/mutation operation, but doesn't disclose any behavioral traits like whether this requires specific permissions, if it's idempotent, what happens on invalid inputs, or how it interacts with existing keyframes. The description adds minimal context beyond the basic function, leaving significant gaps for a mutation 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 well-structured with a clear purpose statement followed by parameter explanations. Each sentence earns its place by providing essential information. However, the Chinese formatting with 'Args:' and parameter explanations could be slightly more integrated, and there's some redundancy in stating parameter names that are already in the schema.
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 this is a mutation tool with no annotations but with an output schema (which handles return values), the description is moderately complete. It covers the basic purpose and parameter semantics well, but lacks important behavioral context for a write operation. The presence of an output schema means the description doesn't need to explain return values, but it should still address mutation-specific concerns like side effects or error conditions.
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?
With 0% schema description coverage, the description fully compensates by providing clear semantic explanations for all 3 parameters. It explains that 'audio_segment_id' comes from 'add_audio_segment', specifies the format for 'time_offset' with examples ('0s', '1.5s', '500ms'), and describes 'volume' with its typical range (0.0-1.0) and special case (>1.0 for gain). This adds substantial value beyond the bare 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?
The description clearly states the action ('添加音量关键帧' - add volume keyframe) and the target resource ('音频片段' - audio segment), which is specific and unambiguous. It distinguishes from siblings like 'add_audio_effect' or 'add_audio_fade' by focusing specifically on volume keyframes rather than effects, fades, or segments. However, it doesn't explicitly contrast with 'add_video_keyframe' which might have similar functionality for video.
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. It mentions that 'audio_segment_id' is obtained from 'add_audio_segment', which is a prerequisite but not usage context. There's no indication of when to choose this over other audio manipulation tools like 'add_audio_effect' or 'add_audio_fade', nor does it specify scenarios where volume keyframes are appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_audio_segmentA
添加音频片段到指定轨道,须注意 target_start_end和 source_start_end 的使用规则
Args: track_id: 轨道ID,通过create_track获得 material: 音频文件路径,支持本地文件路径或URL target_start_end: 片段在轨道上的目标时间范围,格式如 "0s-4.2s",表示在轨道上从0s开始,持续4.2s,target_start_end参数描述的是轨道上的时间范围,同一轨道中不可有重复时间段,即0s-4.2s和4s-5s,第一段素材最后0.2s与第二段素材重叠了,只能是0s-4.2s和4.ss-5s source_start_end: 从源音频文件中截取的时间范围,格式如 "1s-4.2s",表示从源音频的1s开始截取,到4.2s结束(可选),source_start_end参数描述的是素材本身取的时长,默认取全部时长,一般情况下不设置,除非用户说明,若素材时长为5s,用户需要取其中1s-5s的内容,才配置 speed: 播放速度,默认为1.0。此项与source_timerange同时指定时,将覆盖target_timerange中的时长(可选) volume: 音量,默认为1.0 change_pitch: 是否跟随变速改变音调,默认为False
| Name | Required | Description | Default |
|---|---|---|---|
| track_id | Yes | ||
| material | Yes | ||
| target_start_end | Yes | ||
| source_start_end | No | ||
| speed | No | ||
| volume | No | ||
| change_pitch | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by explaining important behavioral constraints: the non-overlap rule for target_start_end segments ('同一轨道中不可有重复时间段'), how speed interacts with timing ('此项与source_timerange同时指定时,将覆盖target_timerange中的时长'), and default behaviors. It doesn't mention error conditions, performance characteristics, or mutation consequences beyond the overlap constraint.
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 efficiently structured with a purpose statement followed by detailed parameter explanations. Every sentence adds value, though the Chinese formatting with Args: header is slightly less conventional than English MCP patterns. The information is well-organized and front-loaded with the most critical constraint about target_start_end usage.
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 a 7-parameter mutation tool with no annotations but with output schema present, the description provides strong coverage of input semantics and behavioral constraints. The existence of an output schema means return values don't need explanation. The description adequately covers the tool's complexity, though could benefit from more explicit error case descriptions or prerequisites.
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?
With 0% schema description coverage, the description fully compensates by providing detailed semantic explanations for all 7 parameters: track_id origin, material formats, target_start_end format and constraints, source_start_end optionality and use cases, speed interaction rules, volume default, and change_pitch default. Each parameter gets clear operational meaning beyond the schema's type information.
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 action ('添加音频片段' - add audio segment) and target resource ('到指定轨道' - to specified track), providing a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'add_video_segment' or 'add_text_segment' beyond the 'audio' qualifier in the name.
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 implied usage guidance through parameter explanations (e.g., '一般情况下不设置' for source_start_end, meaning 'generally not set'), but lacks explicit when-to-use vs. alternatives. It mentions track_id comes from 'create_track' but doesn't clarify when to use this vs. other audio manipulation tools like 'add_audio_effect' or 'add_audio_fade'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_text_animationA
为文本片段添加动画效果
Args: text_segment_id: 文本片段ID,通过add_text_segment获得 animation_type: 动画类型,支持以下类型: - "TextIntro": 入场动画 - "TextOutro": 出场动画 - "TextLoopAnim": 循环动画 animation_name: 动画名称,如 "复古打字机", "弹簧", "色差故障", "淡入", "淡出" 等,可以使用find_effects_by_type工具,资源类型选择TextIntro、TextOutro、TextLoopAnim,从而获取动画类型有哪些 duration: 动画持续时间(可选),格式如 "1s", "500ms"
| Name | Required | Description | Default |
|---|---|---|---|
| text_segment_id | Yes | ||
| animation_type | Yes | ||
| animation_name | Yes | ||
| duration | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. While it mentions the tool's purpose and parameters, it doesn't describe important behavioral aspects: whether this is a read-only or mutation operation, what permissions are required, whether animations can be removed or modified, what happens if invalid parameters are provided, or what the output contains. For a tool that presumably modifies content, this is insufficient behavioral context.
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 well-structured with a clear purpose statement followed by organized parameter explanations. Each parameter gets its own line with helpful details. While slightly verbose in the animation_name explanation, every sentence adds value. The structure makes it easy to scan and understand.
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 there's an output schema (though not shown), the description doesn't need to explain return values. However, for a tool with 4 parameters, 0% schema coverage, and no annotations, the description does a good job explaining parameters but lacks behavioral context about what the tool actually does beyond adding effects. It doesn't explain the mutation nature, error conditions, or integration with the broader workflow involving create_draft, create_track, and export_draft siblings.
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?
With 0% schema description coverage, the description provides substantial value by explaining all parameters. It clarifies that text_segment_id comes from add_text_segment, lists the three animation_type options with Chinese translations, provides examples of animation_name values, explains how to discover more names using find_effects_by_type, and specifies the duration format. The only gap is not explaining what happens when duration is omitted (though it's marked optional).
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 specific action ('为文本片段添加动画效果' - add animation effects to text segments) and identifies the resource (text segments). It distinguishes itself from sibling tools like add_video_animation, add_audio_effect, and add_text_segment by focusing specifically on text animation rather than video/audio effects or text segment creation.
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 clear context about when to use this tool: after obtaining a text segment ID from add_text_segment. It also references find_effects_by_type as an alternative for discovering available animation names. However, it doesn't explicitly state when NOT to use this tool or compare it directly to similar sibling tools like add_video_animation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_text_segmentA
添加文本片段到指定轨道
Args: track_id: 轨道ID,通过create_track获得 text: 文本内容 target_start_end: 片段在轨道上的目标时间范围,格式如 "1s-4.2s",表示在轨道上从1s开始,到4.2s结束 font: 字体类型名称(可选) style: 字体样式字典(可选),哪些需要修改就填哪些字段 默认style = { "size": 6.0,# 字体大小, 默认为6.0 "bold": False,# 是否加粗, 默认为否 "italic": False,# 是否斜体, 默认为否 "underline": False,# 是否加下划线, 默认为否 "color": (1.0, 1.0, 1.0), # 字体颜色, RGB三元组, 取值范围为[0, 1], 默认为白色 "alpha": 1.0,# 字体不透明度, 取值范围[0, 1], 默认不透明 "align": 0, # 对齐方式, 0: 左对齐, 1: 居中, 2: 右对齐, 默 认为左对齐 "vertical": False,#是否为竖排文本, 默认为否 "letter_spacing": 0,# 字符间距, 定义与剪映中一致, 默认为0 "line_spacing": 0,# 行间距, 定义与剪映中一致, 默认为0 "auto_wrapping": False,# 是否自动换行, 默认关闭 "max_line_width": 0.82 # 每行最大行宽占屏幕宽度比例, 取值范围为[0, 1], 默认为0.82 } clip_settings: 图像调节设置字典(可选),哪些需要修改就填哪些字段 默认 clip_settings = { "alpha": 1.0, # 图像不透明度, 0-1. 默认为1.0. "flip_horizontal": False, # 是否水平翻转. 默认为False. "flip_vertical": False, # 是否垂直翻转. 默认为False. "rotation": 0.0, # 顺时针旋转的角度, 可正可负. 默认为0.0. "scale_x": 1.0, # 水平缩放比例. 默认为1.0. "scale_y": 1.0, # 垂直缩放比例. 默认为1.0. "transform_x": 0.0, # 水平位移, 单位为半个画布宽. 默认为0.0. "transform_y": 0.0 # 垂直位移, 单位为半个画布高. 默认为0.0.但强烈建议修改为-0.8(这样字幕是在正下方,不影响视频观感) } border: 文本描边参数字典(可选),哪些需要修改就填哪些字段 stroke_style = { "alpha": 1.0, # 描边不透明度, 取值范围[0, 1], 默认为1.0 "color": (0.0, 0.0, 0.0), # 描边颜色, RGB三元组, 取值范围为[0, 1], 默认为黑色 "width": 40.0 # 描边宽度, 与剪映中一致, 取值范围为[0, 100], 默认为40.0 } background: 文本背景参数字典(可选),哪些需要修改就填哪些字段 默认 background = { "color": "#000000", # 背景颜色, 格式为'#RRGGBB' (默认为黑色) "style": 1, # 背景样式, 1和2分别对应剪映中的两种样式, 默认为1 "alpha": 1.0, # 背景不透明度, 与剪映中一致, 取值范围[0, 1], 默认为1.0 "round_radius": 0.0, # 背景圆角半径, 与剪映中一致, 取值范围[0, 1], 默认为0.0 "height": 0. 14, # 背景高度, 与剪映中一致, 取值范围为[0, 1], 默认为0.14 "width": 0.14, # 背景宽度, 与剪映中一致, 取值范围为[0, 1], 默认为0.14 "horizontal_offset": 0.5, # 背景水平偏移, 与剪映中一致, 取值范围为[0, 1], 默认为0.5 "vertical_offset": 0.5 # 背景竖直偏移, 与剪映中一致, 取值范围为[0, 1], 默认为0.5 }
Examples: # 基础文本 add_text_segment("track_id", "Hello World", "0s-5s")
# 带样式的文本
add_text_segment("track_id", "标题文本", "0s-3s",
style={"size": 12.0, "bold": True, "color": (1.0, 0.0, 0.0)})
# 带描边的文本
add_text_segment("track_id", "描边文本", "2s-7s",
border={"width": 20.0, "color": (0.0, 0.0, 0.0)})
# 带背景的文本
add_text_segment("track_id", "背景文本", "5s-10s",
background={"color": "#FF0000", "alpha": 0.8})
| Name | Required | Description | Default |
|---|---|---|---|
| track_id | Yes | ||
| text | Yes | ||
| target_start_end | Yes | ||
| font | No | ||
| style | No | ||
| clip_settings | No | ||
| border | No | ||
| background | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior by detailing optional parameters with default values (e.g., style, clip_settings, border, background), including ranges and effects like 'transform_y: 0.0 但强烈建议修改为-0.8(这样字幕是在正下方,不影响视频观感)' (strongly recommended to change to -0.8 for subtitles at the bottom). It covers mutation aspects (adding segments) and practical tips, though it doesn't mention permissions, rate limits, or error handling.
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 well-structured with sections for Args and Examples, but it is overly verbose due to detailed default dictionaries (style, clip_settings, etc.). While informative, this could be more concise by summarizing defaults or moving some details to the schema. The front-loaded purpose is clear, but the length may reduce readability.
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 tool's complexity (8 parameters, mutation operation) and no annotations, the description is mostly complete: it explains the tool's purpose, parameters with semantics, and includes examples. However, it lacks information on output (though an output schema exists, so this is less critical), error cases, or integration with sibling tools. It compensates well for the missing annotations but has minor gaps in full contextual coverage.
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 schema description coverage is 0%, so the description must compensate fully. It provides extensive parameter details beyond the schema: explains each parameter's purpose (e.g., 'target_start_end: 片段在轨道上的目标时间范围,格式如 "1s-4.2s"'), lists default values for optional dictionaries (style, clip_settings, border, background), includes ranges (e.g., '取值范围为[0, 1]'), and gives examples. This adds significant meaning, fully compensating for the lack of schema descriptions.
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's purpose: '添加文本片段到指定轨道' (Add text segment to specified track). It specifies the verb ('add') and resource ('text segment to track'), making the function explicit. However, it doesn't explicitly differentiate from sibling tools like 'add_text_animation' or 'add_video_segment', which would require a 5.
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 through examples (e.g., basic text, styled text) and mentions prerequisites like 'track_id: 轨道ID,通过create_track获得' (track ID obtained via create_track). However, it lacks explicit guidance on when to use this tool versus alternatives like 'add_text_animation' or 'add_video_segment', and doesn't specify exclusions or detailed context for choosing among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_video_animationB
为视频片段添加动画效果
Args: video_segment_id: 视频片段ID,通过add_video_segment获得 animation_type: 动画类型,支持 "IntroType", "OutroType", "GroupAnimationType" animation_name: 动画名称,如 "上下抖动", "向上滑动" 等,可以使用find_effects_by_type工具,资源类型选择IntroType、OutroType、GroupAnimationType,从而获取动画类型有哪些 duration: 动画持续时间,格式如 "1s"(可选)
| Name | Required | Description | Default |
|---|---|---|---|
| video_segment_id | Yes | ||
| animation_type | Yes | ||
| animation_name | Yes | ||
| duration | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions that duration is optional and provides format examples ('1s'), but doesn't describe what happens when the tool executes (e.g., whether it modifies the video segment in place, creates a new version, requires specific permissions, has side effects, or returns specific output). For a mutation tool with zero annotation coverage, this is insufficient.
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 appropriately sized and structured with a clear purpose statement followed by parameter explanations. Each sentence adds value: the first states the purpose, and the subsequent lines provide necessary parameter context. However, the English translation of the Chinese text is slightly awkward in structure.
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 there's an output schema (which means return values are documented elsewhere), the description covers the basic purpose and parameters adequately. However, for a mutation tool with no annotations, it should provide more behavioral context about what the tool actually does beyond parameter descriptions. The parameter explanations are good, but the overall context for using this tool is incomplete.
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?
With 0% schema description coverage, the description compensates well by explaining all 4 parameters: video_segment_id (obtained from add_video_segment), animation_type (lists supported types), animation_name (gives examples and references find_effects_by_type for discovery), and duration (optional, with format example). This adds significant meaning beyond the bare schema, though it doesn't fully explain constraints or relationships between parameters.
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's purpose: '为视频片段添加动画效果' (add animation effects to video segments). It specifies the verb '添加' (add) and the resource '动画效果' (animation effects) to video segments. However, it doesn't explicitly differentiate from sibling tools like add_video_effect or add_text_animation, which might have overlapping functionality.
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 some usage context by mentioning that video_segment_id should be obtained from add_video_segment and that animation_name can be discovered using find_effects_by_type. However, it doesn't explicitly state when to use this tool versus alternatives like add_video_effect or add_text_animation, nor does it provide exclusion criteria or prerequisites beyond parameter sourcing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_video_background_fillingB
为视频片段添加背景填充效果
Args: video_segment_id: 视频片段ID,通过add_video_segment获得 fill_type: 填充类型,"blur"表示模糊,"color"表示颜色 blur: 模糊程度,范围0.0-1.0,仅在fill_type为"blur"时有效,默认0.0625 剪映中的四档模糊数值分别为0.0625, 0.375, 0.75和1.0 color: 填充颜色,格式为'#RRGGBBAA',仅在fill_type为"color"时有效,默认"#00000000"
| Name | Required | Description | Default |
|---|---|---|---|
| video_segment_id | Yes | ||
| fill_type | Yes | ||
| blur | No | ||
| color | No | #00000000 |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool '添加' (adds) effects, implying mutation, but doesn't clarify permissions, side effects, or what happens to existing background settings. It mentions default values but not rate limits, error conditions, or output format. For a mutation tool with zero annotation coverage, this is insufficient.
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 appropriately sized but not optimally structured. The purpose statement is clear, but the parameter explanations are listed without grouping or prioritization. It includes useful details (e.g., Jianying blur values) but could be more front-loaded with critical usage information.
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 4 parameters with 0% schema coverage, no annotations, but an output schema exists, the description partially compensates. It explains parameters well but lacks behavioral context for a mutation tool. The output schema likely covers return values, so description needn't explain those, but it should address permissions, side effects, or error handling more explicitly.
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 0%, so the description must compensate. It adds significant semantic value: it explains video_segment_id comes from add_video_segment, defines fill_type options ('blur' and 'color'), specifies blur range (0.0-1.0) with practical examples from Jianying app, and clarifies color format (#RRGGBBAA). However, it doesn't fully cover all 4 parameters' interdependencies beyond conditional validity.
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's purpose: '为视频片段添加背景填充效果' (add background filling effect to video segments). It specifies the verb '添加' (add) and resource '视频片段背景填充效果' (video segment background filling effect). However, it doesn't explicitly differentiate from sibling tools like add_video_filter or add_video_effect, which might also modify video appearance.
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. It doesn't mention prerequisites (e.g., needing a video segment from add_video_segment first), nor does it compare with similar tools like add_video_filter. The only implicit context is the parameter reference to video_segment_id from add_video_segment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_video_effectA
为视频片段添加特效
Args: video_segment_id: 视频片段ID,通过add_video_segment获得 effect_type: 特效类型名称,可以使用find_effects_by_type工具,资源类型选择VIDEO_SCENE、VIDEO_CHARACTER,从而获取特效类型有哪些 params: 特效参数列表(可选),参数范围0-100,具体参数数量和含义取决于特效类型
| Name | Required | Description | Default |
|---|---|---|---|
| video_segment_id | Yes | ||
| effect_type | Yes | ||
| params | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it describes what the tool does, it doesn't address important behavioral aspects: whether this is a destructive/mutative operation, what permissions are required, how errors are handled, or what the output contains. The description only covers basic functionality without behavioral context.
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 efficiently structured with a clear purpose statement followed by parameter explanations. Each sentence adds value: the first states the tool's function, and the three parameter explanations provide necessary context without redundancy. The bilingual format (Chinese purpose, English parameter labels) is slightly inconsistent but doesn't significantly impact clarity.
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 there's an output schema (which handles return values), no annotations, and 3 parameters with good description coverage, the description is moderately complete. However, for a tool that likely performs mutations (adding effects), the lack of behavioral transparency about side effects, permissions, or error handling represents a significant gap in completeness.
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?
With 0% schema description coverage, the description provides substantial parameter semantics beyond the bare schema. It explains that video_segment_id comes from add_video_segment, effect_type values can be discovered via find_effects_by_type with specific resource types, and params are optional with value range 0-100 and meaning dependent on effect_type. This compensates well for the schema's lack of descriptions.
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's purpose: '为视频片段添加特效' (add special effects to video segments). It specifies the verb ('添加' - add) and resource ('视频片段特效' - video segment effects). However, it doesn't explicitly differentiate from sibling tools like add_video_filter or add_video_animation, which likely perform similar visual modifications.
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 clear context for usage: it references how to obtain video_segment_id (from add_video_segment) and how to discover available effect_type values (using find_effects_by_type with specific resource types). It doesn't explicitly state when NOT to use this tool or name specific alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_video_filterB
为视频片段添加滤镜效果
Args: video_segment_id: 视频片段ID,通过add_video_segment获得 filter_type: 滤镜类型名称,可以使用find_effects_by_type工具,资源类型选择filter_type,从而获取滤镜类型有哪些 intensity: 滤镜强度,范围0-100,默认100.0
| Name | Required | Description | Default |
|---|---|---|---|
| video_segment_id | Yes | ||
| filter_type | Yes | ||
| intensity | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
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 of behavioral disclosure. The description states it 'adds' filter effects, implying a mutation operation, but doesn't disclose whether this requires specific permissions, whether the operation is reversible, what happens to existing effects, or any rate limits. It mentions parameter sources but lacks behavioral context about the tool's impact or constraints.
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 appropriately sized and front-loaded: the first sentence states the purpose clearly, followed by a structured 'Args:' section with bullet points for each parameter. Each sentence earns its place by providing essential information without redundancy. Minor improvement could be made by integrating the purpose more seamlessly with the parameter details.
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 tool has an output schema (implied by 'Has output schema: true'), the description doesn't need to explain return values. It covers the purpose, parameter semantics, and usage hints adequately. However, as a mutation tool with no annotations, it could benefit from more behavioral context about effects and constraints to reach full completeness.
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 0%, so the description must compensate. It provides meaningful semantics for all three parameters: 'video_segment_id' is explained as obtained from 'add_video_segment', 'filter_type' is linked to 'find_effects_by_type', and 'intensity' specifies a range (0-100) and default (100.0). This adds significant value beyond the bare schema, though it doesn't fully detail format or validation rules.
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's purpose: '为视频片段添加滤镜效果' (add filter effects to video segments). It specifies the verb '添加' (add) and the resource '视频片段' (video segments) with the specific effect type '滤镜效果' (filter effects). However, it doesn't explicitly differentiate from sibling tools like 'add_video_effect' or 'add_video_animation', which reduces it from a perfect score.
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 implied usage guidance by mentioning that 'video_segment_id' should be obtained via 'add_video_segment' and that 'filter_type' can be discovered using 'find_effects_by_type'. However, it doesn't explicitly state when to use this tool versus alternatives like 'add_video_effect' or 'add_video_animation', nor does it provide exclusions or prerequisites beyond parameter sources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_video_keyframeA
为视频片段添加关键帧
Args:
video_segment_id: 视频片段ID,通过add_video_segment获得
property_name: 属性名称,可选参数如下:
position_x:右移为正, 此处的数值应该为剪映中显示的值 / 草稿宽度, 也即单位是半个画布宽
position_y:上移为正, 此处的数值应该为剪映中显示的值 / 草稿高度, 也即单位是半个画布高
rotation:顺时针旋转的角度
scale_x:单独控制X轴缩放比例(1.0为不缩放), 与uniform_scale互斥
scale_y:单独控制Y轴缩放比例(1.0为不缩放), 与uniform_scale互斥
uniform_scale:同时控制X轴及Y轴缩放比例(1.0为不缩放), 与scale_x和scale_y互斥
alpha:不透明度, 1.0为完全不透明, 仅对VideoSegment有效
saturation:饱和度, 0.0为原始饱和度, 范围为-1.0到1.0
contrast:对比度, 0.0为原始对比度, 范围为-1.0到1.0
brightness:亮度, 0.0为原始亮度, 范围为-1.0到1.0
volume:音量, 1.0为原始音量
time_offset: 时间偏移量,格式如 "0.5s", "1s" 等
value: 属性值
Examples:
# 在0.5秒时设置水平位置
add_video_keyframe("video_segment_id", "position_x", "0.5s", 0.2)
# 在1秒时设置旋转角度
add_video_keyframe("video_segment_id", "rotation", "1s", 45.0)
# 在2秒时设置透明度
add_video_keyframe("video_segment_id", "alpha", "2s", 0.5)
| Name | Required | Description | Default |
|---|---|---|---|
| video_segment_id | Yes | ||
| property_name | Yes | ||
| time_offset | Yes | ||
| value | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It explains what properties can be modified (position, rotation, scale, etc.) and provides examples, but doesn't mention whether this is a destructive operation, if it requires specific permissions, rate limits, or what happens on success/failure. The examples show usage but lack broader behavioral context like error conditions or side effects.
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 appropriately sized but not optimally structured. It starts with the purpose, then has an 'Args:' section with detailed parameter explanations, and ends with examples. However, the parameter explanations are quite lengthy (listing 11 property options with formulas), making it dense. The structure is functional but could be more front-loaded with critical usage information.
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 4 parameters with 0% schema coverage and no annotations, the description does an excellent job explaining parameters with detailed options and examples. Since there's an output schema (though not shown here), the description doesn't need to explain return values. The main gap is lack of behavioral context (permissions, errors, etc.), but for parameter semantics, it's quite complete.
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 schema description coverage is 0%, so the description must fully compensate. It provides extensive parameter documentation: video_segment_id is explained as coming from add_video_segment, property_name has 11 detailed options with formulas and constraints, time_offset specifies format, and value is shown through examples. This adds significant meaning beyond the bare schema, fully compensating for the lack of schema descriptions.
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's purpose as '为视频片段添加关键帧' (add keyframes to video segments), which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like add_video_animation or add_video_effect, which might also involve video manipulation. The purpose is clear but lacks sibling differentiation.
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. It mentions that video_segment_id should be obtained from add_video_segment, which is a prerequisite but not usage context. There's no mention of when to use keyframes versus other video manipulation tools in the sibling list, nor any exclusions or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_video_maskA
为视频片段添加蒙版效果
Args:
video_segment_id: 视频片段ID,通过add_video_segment获得
mask_type: 蒙版类型名称,可以使用find_effects_by_type工具,资源类型选择mask_type,从而获取蒙版类型有哪些
center_x: 蒙版中心点X坐标(以素材的像素为单位),默认0.0(素材中心)
center_y: 蒙版中心点Y坐标(以素材的像素为单位),默认0.0(素材中心)
size: 蒙版的主要尺寸,以占素材高度的比例表示,默认0.5
rotation: 蒙版顺时针旋转的角度,默认0.0
feather: 蒙版的羽化参数,取值范围0100,默认0.0
invert: 是否反转蒙版,默认False
rect_width: 矩形蒙版的宽度,仅在蒙版类型为矩形时有效,以占素材宽度的比例表示
round_corner: 矩形蒙版的圆角参数,仅在蒙版类型为矩形时有效,取值范围0100
| Name | Required | Description | Default |
|---|---|---|---|
| video_segment_id | Yes | ||
| mask_type | Yes | ||
| center_x | No | ||
| center_y | No | ||
| size | No | ||
| rotation | No | ||
| feather | No | ||
| invert | No | ||
| rect_width | No | ||
| round_corner | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it documents parameters thoroughly, it doesn't describe what the tool actually does behaviorally: whether it modifies the video segment in-place, creates a new version, requires specific permissions, has side effects, or what the output looks like. '添加蒙版效果' (add mask effect) suggests a mutation but lacks critical behavioral context.
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 appropriately sized but not optimally structured. The purpose statement is clear but brief, followed by a detailed parameter list. While all information is useful, it could be more front-loaded with higher-level context before diving into parameters. The parameter documentation is thorough but makes the description somewhat dense.
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 tool's complexity (10 parameters, mutation operation), no annotations, but with an output schema present, the description does reasonably well. It thoroughly documents all parameters and their semantics. The main gap is lack of behavioral context about what the tool actually does and how it affects the video segment. The output schema existence means return values don't need explanation, but operational behavior is underspecified.
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?
With 0% schema description coverage and 10 parameters, the description provides comprehensive semantic information beyond the bare schema. It explains what each parameter means, provides defaults, valid ranges (feather: 0~100), conditional validity (rect_width/round_corner only for rectangle masks), and references to other tools for obtaining values. This fully compensates for the schema's lack of descriptions.
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 '为视频片段添加蒙版效果' (add mask effect to video segment), which is a specific verb+resource combination. It distinguishes this tool from siblings like add_video_effect or add_video_filter by focusing specifically on masks. However, it doesn't explicitly differentiate mask effects from other visual effects in the sibling list.
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 context through parameter documentation (e.g., video_segment_id comes from add_video_segment, mask_type can be found using find_effects_by_type). However, it lacks explicit guidance on when to use this tool versus alternatives like add_video_effect or add_video_filter, and doesn't mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_video_segmentA
添加视频片段到指定轨道,须注意target_timerange和source_timerange的使用规则
Args:
track_id: 轨道ID,通过create_track获得
material: 视频文件路径,包括文本文件路径或者url
target_start_end: 片段在轨道上的目标时间范围,格式如 "1s-4.2s",表示在轨道上从1s开始,到4.2s结束,target_start_end参数描述的是轨道上的时间范围,同一轨道中不可有重复时间段,即0s-4.2s和4s-5s,第一段素材最后0.2s与第二段素材重叠了,只能是0s-4.2s和4.ss-5s
source_start_end: 从源视频文件中截取的时间范围,格式如 "1s-4.2s",表示从源视频的1s开始截取,到4.2s结束(可选),source_start_end参数描述的是素材本身取的时长,默认取全部时长,一般情况下不设置,除非用户说明,若素材时长为5s,用户需要取其中1s-5s的内容,才配置
speed: (float, optional): 播放速度, 默认为1.0,此项与source_timerange同时指定时, 将覆盖target_timerange中的时长
volume: (float, optional): 音量, 默认为1.0
change_pitch: (bool, optional): 是否跟随变速改变音调, 默认为否
clip_settings: (Dict, optional)图像调节设置字典(可选),哪些需要修改就填哪些字段
默认 clip_settings = {
"alpha": 1.0, # 图像不透明度, 0-1. 默认为1.0.
"flip_horizontal": False, # 是否水平翻转. 默认为False.
"flip_vertical": False, # 是否垂直翻转. 默认为False.
"rotation": 0.0, # 顺时针旋转的角度, 可正可负. 默认为0.0.
"scale_x": 1.0, # 水平缩放比例. 默认为1.0.
"scale_y": 1.0, # 垂直缩放比例. 默认为1.0.
"transform_x": 0.0, # 水平位移, 单位为半个画布宽. 默认为0.0.
"transform_y": 0.0 # 垂直位移, 单位为半个画布高. 默认为0.0.
}
Returns: ToolResponse: 包含操作结果的响应,格式为 {"success": bool, "message": str, "data": dict, "video_segment_id": str}
Examples: # 基本用法 add_video_segment("track_id", "/path/to/video.mp4", "0s-5s")
# 指定源时间范围
add_video_segment("track_id", "/path/to/video.mp4", "0s-3s", source_timerange="10s-3s")
# 设置播放速度和音量
add_video_segment("track_id", "/path/to/video.mp4", "0s-5s", speed=2.0, volume=0.8)
# 设置图像调节
add_video_segment("track_id", "/path/to/video.mp4", "0s-5s",
clip_settings={"alpha": 0.8, "scale_x": 1.2, "rotation": 45})
| Name | Required | Description | Default |
|---|---|---|---|
| track_id | Yes | ||
| material | Yes | ||
| target_start_end | Yes | ||
| source_start_end | No | ||
| speed | No | ||
| volume | No | ||
| change_pitch | No | ||
| clip_settings | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well. It explains critical behavioral constraints: target timeranges cannot overlap on the same track, source timerange defaults to full duration, and speed parameter overrides target timerange duration when combined with source timerange. It also describes the return format with video_segment_id.
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 comprehensive but lengthy with parameter documentation that might be better handled in schema descriptions. However, it's well-structured with clear sections (Args, Returns, Examples) and every sentence adds value. The front-loaded purpose statement is clear, but the overall length reduces conciseness.
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?
For a complex 8-parameter mutation tool with no annotations and 0% schema coverage, the description provides exceptional completeness. It covers purpose, parameter semantics, behavioral constraints, return format with video_segment_id, and includes practical examples. The output schema exists but the description still adds valuable context about the response structure.
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?
With 0% schema description coverage, the description fully compensates by providing detailed semantic explanations for all 8 parameters. It clarifies format requirements (e.g., '1s-4.2s'), default values, optional vs required status, interaction rules between parameters, and even provides a complete default structure for clip_settings with all sub-parameters documented.
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 starts with a clear purpose statement: '添加视频片段到指定轨道' (Add video segment to specified track). It specifies the exact action (add) and resource (video segment to track), and distinguishes from siblings like add_audio_segment, add_text_segment, and add_video_effect by focusing specifically on video segments.
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 clear context about when to use source_start_end ('一般情况下不设置,除非用户说明' - generally not set unless user specifies) and explains interaction rules between speed and target_timerange. However, it doesn't explicitly state when to use this tool versus alternatives like add_video_effect or add_video_transition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_video_transitionA
为视频片段添加转场效果,注意两视频间添加转场应该在前一个添加转场,即video_segment_id使用前一个视频
Args: video_segment_id: 视频片段ID,通过add_video_segment获得 transition_type: 转场类型名称,可以使用find_effects_by_type工具,资源类型选择TransitionType,从而获取转场类型有哪些 duration: 转场持续时间,格式如 "1s"(可选)
| Name | Required | Description | Default |
|---|---|---|---|
| video_segment_id | Yes | ||
| transition_type | Yes | ||
| duration | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
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 of behavioral disclosure. While it mentions the action ('添加转场效果' - add transition effects) and provides some implementation guidance, it doesn't disclose critical behavioral traits: whether this is a mutating operation, what permissions are required, whether changes are reversible, error conditions, or what the output contains. For a tool that modifies video content with zero annotation coverage, this is a significant gap.
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 efficiently structured: a clear purpose statement, important usage note, then parameter explanations in a labeled 'Args:' section. Every sentence earns its place by providing essential information without redundancy. The Chinese text is direct and front-loads the core functionality.
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 there's an output schema (which reduces the need to describe return values) but zero annotation coverage and 0% schema description coverage, the description does reasonably well. It covers the tool's purpose, important usage nuance, and parameter semantics. However, for a video editing tool that likely performs mutations, it should disclose more about behavioral aspects like side effects, error handling, or prerequisites. The presence of an output schema helps, but doesn't fully compensate for the lack of behavioral transparency.
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 0%, so the description must compensate. It provides meaningful semantic context for all three parameters: 'video_segment_id' is explained as coming from 'add_video_segment' and should reference the previous video segment; 'transition_type' is linked to 'find_effects_by_type' with resource type 'TransitionType'; 'duration' is described as optional with format example '1s'. This adds substantial value beyond the bare schema, though it doesn't cover all possible parameter constraints or validation rules.
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's purpose: '为视频片段添加转场效果' (add transition effects to video segments). It specifies the verb ('添加' - add) and resource ('转场效果' - transition effects), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'add_video_effect' or 'add_video_animation' beyond the specific transition focus.
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 important contextual guidance: '注意两视频间添加转场应该在前一个添加转场,即video_segment_id使用前一个视频' (note that when adding transitions between two videos, it should be added to the previous one, i.e., video_segment_id uses the previous video). This clarifies a non-obvious implementation detail. It also references 'find_effects_by_type' as a way to discover available transition types, though it doesn't explicitly state when NOT to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_draftC
创建草稿
Args: draft_name: str 草稿名称 width: int,视频宽度,默认1920 height: int,视频高度,默认1080 fps: int,帧率,默认30
| Name | Required | Description | Default |
|---|---|---|---|
| draft_name | Yes | ||
| width | No | ||
| height | No | ||
| fps | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states '创建草稿' (create draft) which implies a write/mutation operation, but doesn't disclose behavioral traits like whether this is idempotent, what permissions are needed, what happens on failure, or what the return value contains. The parameter defaults are mentioned, but no other behavioral context is provided.
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 appropriately sized with a clear purpose statement followed by parameter explanations. The structure with 'Args:' section is helpful. While efficient, the Chinese-only text might limit accessibility in multilingual contexts, but the content itself is well-organized.
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?
For a mutation tool with no annotations and no output schema, the description is incomplete. It explains parameters adequately but doesn't address critical behavioral aspects like what happens after creation, error conditions, or how the created draft integrates with other tools. The lack of output information is particularly problematic for a creation tool.
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?
With 0% schema description coverage, the description compensates well by explaining all 4 parameters in Chinese: draft_name (草稿名称), width (视频宽度), height (视频高度), and fps (帧率). It provides default values and clarifies that draft_name is required while others have defaults. This adds significant meaning beyond the bare 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?
The description states '创建草稿' (create draft) which is a clear verb+resource, but it's vague about what type of draft is being created (video draft based on parameters) and doesn't distinguish from sibling tools like 'create_track' or 'export_draft'. The purpose is understandable but lacks specificity about the resource domain.
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?
No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites, when this should be called in a workflow, or how it relates to sibling tools like 'create_track' or 'export_draft'. Only basic parameter information is given without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_trackC
创建轨道 Args: draft_id: 草稿ID track_type: 轨道类型,支持 "video", "audio", "text", 一个轨道可以有多个素材,如video轨道想添加两个视频,使用同一个track_id就可以 track_name: 轨道名称,同类型轨道名不能相同
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| track_type | Yes | ||
| track_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
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 states that a track can have multiple materials using the same track_id, which adds useful context about behavior. However, it lacks critical details: whether this is a mutation (implied by 'create'), what permissions are needed, what happens on failure, or what the output contains. For a creation tool with zero annotation coverage, this is insufficient.
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 brief and structured with an 'Args:' section, which is helpful. However, it includes an extra sentence about multiple materials that, while informative, could be more integrated. It's front-loaded with the purpose but could be more streamlined.
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 3 parameters with 0% schema coverage and no annotations, the description adds basic semantics but lacks depth. An output schema exists, so return values needn't be explained. However, for a creation tool in a media editing context, more behavioral context (e.g., error handling, dependencies) would improve completeness.
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 0%, so the schema provides no parameter descriptions. The description adds meaningful semantics: draft_id is a '草稿ID' (draft ID), track_type supports specific values ('video', 'audio', 'text') and explains that multiple materials can use the same track_id, and track_name must be unique within the same type. This compensates partially but doesn't cover all aspects (e.g., format of draft_id, constraints on track_name).
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 action ('创建轨道' means 'create track') and identifies the resource (a track within a draft). It distinguishes from siblings by focusing on track creation rather than effects, segments, or other operations. However, it doesn't explicitly differentiate from potential similar tools like 'create_draft' beyond the resource scope.
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?
No explicit guidance on when to use this tool versus alternatives is provided. The description mentions that track names must be unique within the same type, which is a constraint but not usage guidance. There's no mention of prerequisites (e.g., needing an existing draft) or comparisons to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_draftC
导出草稿为剪映项目,导出到本地剪映的草稿路径下
Args: draft_id: 草稿ID,必须是已存在的草稿 jianying_draft_path: 导出路径
| Name | Required | Description | Default |
|---|---|---|---|
| draft_id | Yes | ||
| jianying_draft_path | No | /app/output |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
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 mentions exporting to a local path, implying a write operation, but doesn't disclose critical behavioral traits such as whether this overwrites existing files, requires specific permissions, has rate limits, or what happens on failure. The description is too sparse for a mutation tool with no annotation coverage.
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 concise and well-structured: a clear purpose statement followed by an 'Args:' section listing parameters with brief explanations. There's no wasted text, and information is front-loaded. However, the Chinese-only text might limit accessibility in some contexts, slightly affecting structure.
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 tool has an output schema (which should cover return values), no annotations, and low schema description coverage, the description is moderately complete. It covers the basic purpose and parameters but lacks behavioral details and usage context. For a mutation tool with 2 parameters, it's adequate but has clear gaps in transparency and guidelines.
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 0%, so the schema provides no parameter descriptions. The description adds some semantics: it explains that 'draft_id' must be an existing draft ID, and 'jianying_draft_path' is the export path (with a default noted in the schema). However, it doesn't fully compensate for the coverage gap—e.g., no details on path format or constraints. With 0% coverage, baseline is lower, but the description adds marginal value.
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's purpose: '导出草稿为剪映项目' (export draft as Jianying project). It specifies the verb (export) and resource (draft), and mentions the destination (local Jianying draft path). However, it doesn't explicitly differentiate from sibling tools like 'create_draft', which creates rather than exports drafts.
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 minimal usage guidance. It states that the draft must already exist ('必须是已存在的草稿'), which is a prerequisite, but offers no explicit guidance on when to use this tool versus alternatives like 'create_draft' or other editing tools. There's no mention of when-not-to-use scenarios or comparisons with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_effects_by_typeB
根据类型查找剪映特效资源
Args: effect_type: 特效类型,支持以下类型: - "VIDEO_SCENE": 视频画面特效 - "ToneEffectType": 音频音色特效 - "AudioSceneEffectType": 音频场景特效 - "filter_type": 滤镜特效 - "SpeechToSongType": 语音转歌曲特效 - "mask_type": 蒙版特效 - "TransitionType": 转场特效 - "Font": 字体 - "TextIntro": 文字入场动画 - "TextOutro": 文字出场动画 - "TextLoopAnim": 文字循环动画 - "GroupAnimationType": 组合动画 - "VIDEO_CHARACTER": 视频人物特效 - "IntroType": 视频/图片入场动画 - "OutroType": 视频/图片出场动画 is_vip: 是否只获取VIP资源,None表示获取所有 limit: 返回数量限制,None表示返回全部 keyword: 模糊匹配关键词,用于搜索特效名称
| Name | Required | Description | Default |
|---|---|---|---|
| effect_type | Yes | ||
| is_vip | No | ||
| limit | No | ||
| keyword | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It describes what the tool does (search/filter effects by type) but lacks critical behavioral details: whether this is a read-only operation, what permissions are needed, rate limits, pagination behavior (despite having a 'limit' parameter), or what happens when no matches are found. The description is functional but misses important operational context.
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 well-structured with a clear purpose statement followed by organized parameter documentation. Each parameter gets its own line with clear explanations. While slightly verbose due to the long effect_type list, every sentence earns its place by providing essential information. The structure helps with quick scanning and understanding.
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 tool has 4 parameters, no annotations, but does have an output schema, the description is moderately complete. It thoroughly documents parameters but lacks behavioral context about the search operation itself. The output schema existence means return values don't need explanation, but the description should still cover operational aspects like error conditions, performance characteristics, or relationship to other tools.
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?
With 0% schema description coverage, the description provides excellent parameter semantics that fully compensate. It documents all 4 parameters with clear explanations: 'effect_type' gets a comprehensive list of supported values with Chinese translations, 'is_vip' explains the None behavior, 'limit' clarifies None means return all, and 'keyword' describes fuzzy matching. This adds substantial value beyond the bare 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?
The description clearly states the tool's purpose as '根据类型查找剪映特效资源' (find CapCut effect resources by type), which is a specific verb+resource combination. It distinguishes itself from siblings like 'add_video_effect' or 'add_audio_effect' by focusing on searching/finding rather than adding effects. However, it doesn't explicitly contrast with potential search alternatives beyond type-based filtering.
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. With siblings like 'add_video_effect' and 'add_audio_effect' that add specific effects, there's no indication whether this tool should be used for discovery before adding effects, or how it relates to other search/filtering tools. The parameter documentation implies usage context but doesn't state explicit guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
parse_media_infoB
解析媒体文件信息
Args: media_path: 媒体文件路径或URL,支持本地文件和网络URL,不论任何类型的文件都可以,视频可返回时长、分辨率,图片可返回尺寸
| Name | Required | Description | Default |
|---|---|---|---|
| media_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | Yes | |
| success | Yes |
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 mentions that the tool returns duration and resolution for videos, and dimensions for images, which gives some behavioral insight. However, it lacks details on error handling, performance characteristics, rate limits, authentication needs, or what happens with unsupported file types. The description is minimal but doesn't contradict any annotations.
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 brief and front-loaded with the main purpose, followed by parameter details. However, the structure is somewhat informal with 'Args:' and mixed language (Chinese and English), and some sentences could be more polished. It avoids unnecessary fluff but could be more structured for clarity.
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 tool has one parameter with no schema description but an output schema exists, the description provides basic parameter semantics and return value hints. However, as a media parsing tool with no annotations, it lacks details on supported formats, error cases, or integration context. The output schema likely covers return values, but the description doesn't fully address behavioral transparency 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?
The description adds significant meaning beyond the input schema, which has 0% description coverage. It explains that 'media_path' can be a local file path or URL, supports any file type, and specifies what information is returned for videos and images. This compensates well for the schema's lack of documentation, though it doesn't detail format constraints or examples.
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's purpose: '解析媒体文件信息' (parse media file information). It specifies the action (parse) and resource (media files), and distinguishes from sibling tools which are mostly about adding effects, creating drafts, or finding effects. However, it doesn't explicitly differentiate from potential similar tools like 'get_media_metadata' if they existed.
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. It mentions support for local files and network URLs, but doesn't specify scenarios where this tool is preferred over other media-related tools or what prerequisites might be needed. No explicit when/when-not statements are present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rulesC
制作视频的规范,这一步必须执行,方便了解如何规范的使用工具制作视频
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions '必须执行' (must execute) suggesting importance, but doesn't disclose behavioral traits like whether it's read-only, modifies state, requires authentication, has side effects, or returns structured data. For a tool with zero annotation coverage, this is inadequate - it fails to describe what happens when invoked.
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 in Chinese, but it's not front-loaded with clear purpose. It mixes purpose ('制作视频的规范' - video production rules) with vague instruction ('这一步必须执行' - this step must be executed). While concise, the structure could be improved by separating intent from usage more clearly.
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 no annotations, no output schema, and 0 parameters, the description is incomplete. It doesn't explain what the tool returns (e.g., a list of rules, a document, validation results) or how it integrates with sibling tools like 'create_draft'. For a tool in a video editing context, this leaves critical gaps in understanding its role.
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 tool has 0 parameters with 100% schema description coverage (empty schema). The description doesn't add parameter details, which is appropriate since there are none. Baseline for 0 parameters is 4, as no compensation is needed for missing schema information.
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 states '制作视频的规范,这一步必须执行,方便了解如何规范的使用工具制作视频' which translates to 'Video production rules, this step must be executed to understand how to use tools to make videos properly.' This is tautological - it restates the tool name 'rules' as 'video production rules' without specifying what the tool actually does (e.g., retrieves rules, displays guidelines, validates content). It doesn't distinguish from siblings like 'create_draft' or 'export_draft'.
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 says '这一步必须执行' (this step must be executed), implying it's mandatory, but provides no guidance on when to use it versus alternatives. It doesn't specify prerequisites, timing in workflow, or relationships to sibling tools (e.g., whether to call it before 'create_draft' or after 'add_video_segment'). This lack of contextual guidance leaves usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose targeting specific resources and actions in video editing, such as adding segments, effects, animations, or managing drafts and tracks. There is no significant overlap; for example, add_audio_effect and add_audio_fade serve different audio manipulation functions, and tools are well-separated by media type (audio, video, text).
Tool names follow a highly consistent verb_noun pattern throughout, such as add_audio_segment, add_video_effect, create_track, and export_draft. This uniformity makes it easy for agents to predict and understand tool functions based on naming conventions.
With 20 tools, the count is slightly high but reasonable for a comprehensive video editing server covering audio, video, text, effects, and project management. It includes essential operations without being overly bloated, though it borders on the upper limit for typical scope.
The tool set provides complete coverage for video editing workflows, including CRUD-like operations for segments, effects, animations, and project management (create_draft, export_draft). It supports audio, video, and text manipulation with no obvious gaps, ensuring agents can handle end-to-end editing tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Edit video by talking to your AI — search footage, cut timelines, apply effects, add captions.
AI video editor: create projects, edit timelines, add captions and effects, and render videos.
Create and edit AI videos from chat: plan shots, generate scenes, and export stories and ads.
A real timeline video editor for AI agents: journaled edits, FFmpeg/MLT rendering, exports
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceIntegrates with Jianying (CapCut) and Chinese LLMs to automate short drama video editing, including commentary generation, remix creation, and draft import.16MIT
- FlicenseNot gradedqualityFmaintenanceEnables video editing operations such as trimming, merging, adding audio/text/effects, and exporting via MCP protocol, leveraging CapCut core functionalities.92
- AlicenseAqualityDmaintenanceEnables AI assistants to fully control CapCut video editing projects, including creating projects, importing media, adding text/subtitles, managing audio, and editing timelines.251MIT
- FlicenseNot gradedqualityFmaintenanceAutomates CapCut video editing through an HTTP/MCP API, enabling draft creation, material addition (video, audio, text, images), effects, and AI-powered enhancements via natural language.95
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hey-jian-wei/jianying-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server