jianying-local-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_environmentA | Detect the installed app, local draft folder, implemented features and limitations. |
| inspect_mediaA | Read duration, resolution and audio presence of an absolute local media path; no uploads. |
| read_native_draftB | Inspect a plaintext native draft directory/file without changing it. Encoded drafts return unsupported. |
| list_managed_projectsA | List only projects authored by this MCP in its configured workspace. |
| read_managed_projectA | Read a compact summary; view=clips returns paged clip IDs/timing (limit<=200). Use track to filter a clip page. view=full explicitly returns the complete plan. |
| batch_editA | Apply 1-100 ordered editing steps in memory, then save ONE new revision. Each step has action plus the fields of its corresponding tool: edit(operations), features(clip_ids,features), motion(clip_ids,preset,strength?), subtitles(content,track?,offset?,font_size?,color?), style_subtitles(style,track?,clip_ids?), reorder(track,clip_ids,start?), ripple_delete(start,end). No intermediate project or media copies are created. Invalid steps abort before any project write. Does not publish or export. |
| create_draftA | Validate/build a new self-contained Mac draft; does not register it in the native app. plan fields: name, width=1920, height=1080, fps=30, clips=[]. Each clip: id(optional unique ASCII), kind(video/audio/image/text), track, start, duration. Media requires absolute path, optional source_start=0, speed=1, volume=1. Text requires text, optional font_size=48, color=#FFFFFF, x=0,y=-0.75. Coordinates are normalized; font size has an experimental /6 mapping to native schema units. Same-track overlaps are rejected; overlays need separate tracks. Duration is timeline seconds, source duration=duration*speed. dry_run=True writes nothing; false copies media and writes a new project. |
| edit_draftA | Create a new revision of an MCP-managed project; source always remains unchanged. Operations: {op:append,clip:{...}}, {op:remove,id:clip_id}, {op:update,id:clip_id,changes:{start,duration,source_start,speed,volume,text,...}}, {op:split,id:clip_id,at:timeline_seconds}. Trim/move through update; gaps are preserved and there is no implicit ripple editing. Get IDs using read_managed_project. |
| add_srtA | Import SRT text into a new managed revision. Invalid cues fail explicitly; no partial import. |
| publish_draftA | Add a managed revision as a NEW native draft and register it on Jianying's home page. draft_root must be the absolute existing com.lveditor.draft folder with a recognized plaintext root_meta_info.json. Fully quit Jianying first and keep it closed until a real publication finishes. Defaults to no-write validation. Existing drafts are never replaced; the index is backed up. Native edits are not synced back to the managed source. Publishing does not launch the app or export video. Requires native folder write access. |
| list_motion_presetsA | List local linear motion recipes; native exported behavior has version-specific limits. |
| set_clip_featuresA | Apply advanced controls to selected clips in a new revision. Groups: transform {x,y,scale_x,scale_y,rotation,opacity,flip_horizontal,flip_vertical}; crop {left,top,right,bottom} normalized source bounds; text_style supports bold, italic,underline,alignment,stroke_color,stroke_width,background_color, background_opacity,background_radius,shadow_color,shadow_opacity,shadow_diffuse, shadow_distance,shadow_angle,letter_spacing,line_spacing; keyframes {x|y|scale_x|scale_y|rotation|opacity:[{time,value}]} with clip-relative seconds and linear interpolation; audio_fade {in,out} seconds. mask {shape:circle|rectangle|linear,x,y,width,height,rotation,feather:0..100, invert,round_corner:0..100}; circle width defaults to compensate aspect ratio. animations [{type:in|out|group,duration,resource:{name,effect_id,resource_id,path}}]; transition_out {duration,resource:{name,effect_id,resource_id,path,is_overlap}}. Features merge per group for transform/style/keyframes; others replace. Pass null for a group to remove it. Resolve downloaded native resources first. |
| apply_motion_presetA | Create clip-relative motion keyframes: zoom_in/out, pan_left/right, slide_up/down, fade_in/out, pulse. Existing keyframes on the same properties are replaced. Alpha animation requires exported-frame verification in your installed app. |
| reorder_trackA | Reorder ALL clips of one track into a gapless sequence; other tracks remain unchanged. |
| ripple_deleteC | Delete a timeline interval from all tracks, trim crossing clips and close the gap. Source in-points account for playback speed. Animated intervals may be rejected. |
| style_subtitlesA | Batch update subtitle font_size/color/x/y by track or clip IDs, in a new revision. |
| export_srtA | Return a managed project's subtitles as SRT text; does not write or upload files. |
| montage_createB | Assemble local videos/photos in order. None uses full video lengths; audio-only inputs fail. Fixed duration uses the shorter of requested and source length. Copies all media into a new draft. |
| process_mediaA | Create NEW media with baked local effects: brightness[-1,1],contrast[0,3], saturation[0,3],gamma[0.1,10],reverse,extract_audio,normalize_audio,denoise_audio. Boolean operations use true/false. Source is untouched; this is preprocessing, not editable native adjustment parameters. Reverse limit 10 minutes. Output has a unique filename and can be reused with create_draft or montage_create. |
| extract_frameB | Extract a NEW PNG at a source time for inspection, covers or freeze frames. Add the output as an image clip to hold it for any desired timeline duration. |
| list_native_resourcesA | Find reviewed native video/text animations and transitions in the local effect cache. kind: all, animation, video_animation, text_animation, transition. Cache presence and public catalog pricing do not prove current account entitlement or playback. No effect scripts execute here and nothing is downloaded. |
| apply_native_resourceA | Apply one uniquely cached catalog-free transition or entrance/exit animation. resource_kind is transition/video_animation/text_animation; resource_name is an exact name from list_native_resources. A transition attaches to the outgoing visual clip. Animation replaces the same phase while preserving its other phase. This creates a new managed revision and never downloads resources. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
Most tools map to distinct resources/actions, but batch_edit intentionally mirrors operations from edit_draft, set_clip_features, motion, subtitles, reorder_track, and ripple_delete, creating overlapping selection paths. style_subtitles also partially overlaps with set_clip_features' text_style group.
Names are overwhelmingly snake_case imperative verb + object, like list_*, read_*, create_draft, export_srt, and apply_native_resource. montage_create is inverted and batch_edit/ripple_delete are less clearly verb-first, but these are minor deviations.
22 tools is in the heavy range, though the domain is broad enough that most tools serve a distinct purpose. The batch_edit meta-tool duplicating many other operations makes the surface feel larger than necessary.
The set covers the main local draft lifecycle well: environment checks, media preprocessing, project create/list/read/edit/publish, subtitles, motion, and native resources. Missing delete/revert and render/export are notable but agents can work around them.