{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_ex4mfupx63qn","handle":"tech-kyanitelabs-kinocut","url":"https://wellknown.network/agents/tech-kyanitelabs-kinocut","links":{"self":"https://wellknown.network/agents/tech-kyanitelabs-kinocut/record.json","html":"https://wellknown.network/agents/tech-kyanitelabs-kinocut","markdown":"https://wellknown.network/agents/tech-kyanitelabs-kinocut/record.md","api":"https://wellknown.network/api/v1/agents/tech-kyanitelabs-kinocut","status":"https://wellknown.network/api/v1/agents/tech-kyanitelabs-kinocut/status","claim":"https://wellknown.network/agents/tech-kyanitelabs-kinocut/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/tech-kyanitelabs-kinocut/claim.json","badge":"https://wellknown.network/agents/tech-kyanitelabs-kinocut/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/tech-kyanitelabs-kinocut/history","tools":"https://wellknown.network/api/v1/agents/tech-kyanitelabs-kinocut/tools"},"ard":{"identifier":"urn:air:mcp.kyanitelabs.tech:server:tech-kyanitelabs-kinocut","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Kinocut","summary":"Guardrailed video editing MCP server: 200 FFmpeg tools, Video Receipts, Shorts repurposing.","description":"Guardrailed video editing MCP server: 200 FFmpeg tools, Video Receipts, Shorts repurposing.","publisher":{"name":"tech.kyanitelabs","url":null},"homepage":"https://kinocut.dev","repository":"https://github.com/KyaniteLabs/kinocut","version":"1.16.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.kyanitelabs.tech/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-13T01:59:01.212603Z","publishedAt":"2026-10-13T01:59:01.212603Z","registryName":"tech.kyanitelabs/kinocut"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"media.video-editing","name":"Video Editing","confidence":1,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":1,"provenance":"derived"},{"slug":"dev.filesystem","name":"Filesystem","confidence":1,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":1,"provenance":"derived"},{"slug":"data.vector-search","name":"Vector Search","confidence":0.992,"provenance":"derived"},{"slug":"media.music","name":"Music & Audio","confidence":0.962,"provenance":"derived"},{"slug":"media.3d","name":"3D & Design","confidence":0.933,"provenance":"derived"},{"slug":"media.video-generation","name":"Video Generation","confidence":0.583,"provenance":"derived"}],"categories":["commerce","data","dev","documents","media"],"language":"en"},"observed":{"status":"recently_observed","statusReason":"Responded 4d ago; 3 recent checks failed (latest 35h ago).","lastOkAt":"2026-10-21T00:28:43.909Z","lastProbedAt":"2026-10-23T01:29:32.765Z","statusComputedAt":"2026-10-23T01:32:28.681Z","reliability30d":{"probes":26,"successRate":0.8462,"p50Ms":287,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":26,"ok":22,"authBoundaryOk":0,"serviceOk":22,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-23T01:29:32.765Z","kind":"mcp_initialize","ok":false,"httpStatus":404,"latencyMs":263,"error":"http 404","detail":null},{"at":"2026-10-21T23:27:06.754Z","kind":"mcp_initialize","ok":false,"httpStatus":404,"latencyMs":267,"error":"http 404","detail":null},{"at":"2026-10-21T09:34:22.329Z","kind":"mcp_initialize","ok":false,"httpStatus":502,"latencyMs":283,"error":"http 502","detail":null},{"at":"2026-10-21T00:28:43.909Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":263,"error":null,"detail":{"tools":[{"name":"video_info","description":"Probe a video file for metadata. Returns JSON {success, info:{duration, resolution, codec, fps, size, ...}}. Use before any edit to learn the source's dimension"},{"name":"video_trim","description":"Trim a video clip by start time and duration. Returns JSON {success, output_path} pointing at the rendered clip. Use to cut a segment out of a longer video. Pas"},{"name":"video_merge","description":"Concatenate two or more existing video clips into one rendered output file. Returns JSON {success, output_path}. Use to join ordered clips into a single video. "},{"name":"video_add_text","description":"Overlay text on a video (titles, captions, watermarks). Returns JSON {success, output_path}. Use to burn a single text element into a video. Pass input_path as "},{"name":"video_add_texts","description":"Overlay multiple text elements on a video in a single FFmpeg pass.\n\nReturns JSON {success, output_path}. Use when one video needs several captions at once.\nPass"},{"name":"video_add_audio","description":"Add, replace, or mix an audio track into an existing video and render a new output file. Returns JSON {success, output_path}. Use to score or re-voice a video; "},{"name":"video_resize","description":"Resize a video or change its aspect ratio. Returns JSON {success, output_path}. Use to fit a video to target dimensions or a preset ratio. Pass input_path as th"},{"name":"video_convert","description":"Transcode a video into a different container or codec (mp4, webm, gif, mov, ...). Returns JSON {success, output_path}. Use for format conversion; prefer video_e"},{"name":"video_speed","description":"Render a new video with playback speed changed; the source video is left unchanged. Returns JSON {success, output_path}. Use for slow-motion or fast-forward eff"},{"name":"search_tools","description":"Find registered MCP tools by name, keyword, or a supported task phrase.\n\nReturns JSON {success, query, count, tools:[{name, description, required_params}]}.\nUse"},{"name":"video_ingest","description":"Ingest immutable source bytes into an existing or new private project."},{"name":"video_preflight","description":"Run unified technical, loudness, color, and decode preflight."},{"name":"video_inspect_temporal","description":"Build and persist the complete deterministic temporal evidence package."},{"name":"video_verdict","description":"Persist exact-asset analysis; approvals require active human evidence."},{"name":"video_acceptance_eval","description":"Evaluate exact-spec verdict and defect evidence without approving anything."},{"name":"video_body_swap","description":"Replace video while preserving approved audio with explicit duration policy."},{"name":"video_salvage","description":"Create one lineage-bound salvage derivative and a fresh review slot."},{"name":"video_thumbnail","description":"Extract a single frame (thumbnail / frame grab) from a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    timestamp: Time in seconds to extract"},{"name":"video_preview","description":"Generate a fast low-resolution preview for quick review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the preview. Au"},{"name":"video_storyboard","description":"Extract key frames and create a storyboard grid for human review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save fra"},{"name":"video_subtitles","description":"Burn subtitles (SRT/VTT/authored ASS) into a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    subtitle_path: Absolute path to the subtitle fi"},{"name":"video_watermark","description":"Overlay an image watermark onto an existing video and render a new output file. The video and watermark image are read only; output_path is created or overwritt"},{"name":"video_export","description":"Re-encode an existing video for final delivery using a quality preset and output format. Use this for publishing-ready renders; use video_convert when the main "},{"name":"video_crop","description":"Crop an existing video to a rectangular region or centered percentage crop and render a new output file. The source video is read only; x/y default to a centere"},{"name":"video_rotate","description":"Rotate and/or flip an existing video and render a new output file. Supports right-angle rotations plus horizontal and vertical flips; the input video is not mod"},{"name":"video_fade","description":"Render fade-in and/or fade-out effects onto an existing video without modifying the source file. Use fade_in for a fade from black at the start and fade_out for"},{"name":"video_edit","description":"Execute a full timeline-based edit from a JSON specification.\n\nThe timeline JSON describes video clips, audio tracks, text overlays,\nimage overlays, transitions"},{"name":"video_template_preview","description":"Preview what a video template would do before rendering.\n\nAnalyzes the template and returns a list of operations, estimated output\nduration, resolution, and fil"},{"name":"video_extract_audio","description":"Extract the audio track from a video file.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the audio file. Auto-generate"},{"name":"video_filter","description":"Apply a visual filter to a video.\n\nCommon presets:\n    - blur: params={\"radius\": 5, \"strength\": 1}\n    - color_preset: params={\"preset\": \"warm\"} (warm, cool, vi"},{"name":"video_luma_key","description":"Mask out dark regions based on luminance (brightness).\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Luminance threshold (0.0-1.0). Pi"},{"name":"video_shape_mask","description":"Apply a geometric shape mask to a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    shape: Shape to use — \"circle\", \"rounded_rect\", or \"oval\"."},{"name":"video_hls_segment","description":"Segment a video into HLS (HTTP Live Streaming) format.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save segments. Auto"},{"name":"video_reverse","description":"Reverse video and audio playback so it plays backwards.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the output. Auto"},{"name":"video_chroma_key","description":"Remove a solid color background (green screen / chroma key).\n\nArgs:\n    input_path: Absolute path to the input video.\n    color: Color to make transparent in he"},{"name":"video_normalize_audio","description":"Normalize audio loudness to a target LUFS level.\n\nCommon presets: -16 (YouTube), -23 (EBU R128/broadcast), -14 (Apple/Spotify).\n\nArgs:\n    input_path: Absolute "},{"name":"video_overlay","description":"Picture-in-picture: overlay a video on top of another.\n\nArgs:\n    background_path: Absolute path to the background video.\n    overlay_path: Absolute path to the"},{"name":"video_split_screen","description":"Place two videos side by side or top/bottom.\n\nArgs:\n    left_path: Absolute path to the first video.\n    right_path: Absolute path to the second video.\n    layo"},{"name":"video_detect_scenes","description":"Detect scene changes in a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Scene detection sensitivity (0.0-1.0, lower = more sens"},{"name":"video_create_from_images","description":"Create a video from a sequence of images.\n\nArgs:\n    images: List of absolute paths to image files (in order).\n    output_path: Where to save the output video. "},{"name":"video_export_frames","description":"Export frames from a video as individual images.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory for extracted frames. Auto-g"},{"name":"video_generate_subtitles","description":"Generate SRT subtitles from text entries and optionally burn into video.\n\nArgs:\n    entries: List of subtitle entries with keys: start (float), end (float), tex"},{"name":"video_compare_quality","description":"Compare video quality between original and processed versions.\n\nArgs:\n    original_path: Absolute path to the original/reference video.\n    distorted_path: Abso"},{"name":"video_read_metadata","description":"Read metadata tags from a video/audio file.\n\nArgs:\n    input_path: Absolute path to the video or audio file.\n"},{"name":"video_write_metadata","description":"Write metadata tags to a video/audio file.\n\nArgs:\n    input_path: Absolute path to the input file.\n    metadata: Dict of tag key-value pairs (e.g. {'title': 'My"},{"name":"video_stabilize","description":"Stabilize a shaky video using motion vector analysis.\n\nArgs:\n    input_path: Absolute path to the input video.\n    smoothing: Smoothing strength (default 15, hi"},{"name":"video_apply_mask","description":"Apply an image mask to a video with edge feathering.\n\nArgs:\n    input_path: Absolute path to the input video.\n    mask_path: Absolute path to the mask image (wh"},{"name":"video_audio_waveform","description":"Extract audio waveform data (peaks and silence regions).\n\nArgs:\n    input_path: Absolute path to the input video/audio file.\n    bins: Number of time segments t"},{"name":"video_batch","description":"Apply the same operation to multiple video files.\n\nArgs:\n    inputs: List of absolute paths to input video files.\n    operation: Operation (trim, resize, conver"},{"name":"video_cleanup","description":"Delete intermediate video files after a workflow.\n\nUseful for multi-step pipelines that leave temporary outputs.\nFiles in ``keep`` are preserved even if listed "},{"name":"video_composite_layers","description":"Composite ordered image/video layers from a JSON spec.\n\nSupports explicit straight/premultiplied input alpha, opacity, positioning,\ntransforms, timing windows, "},{"name":"image_extract_colors","description":"Extract dominant colors from an image or video frame.\n\nUses K-means clustering to find the most prominent colors. Returns hex codes,\nRGB values, CSS color names"},{"name":"image_generate_palette","description":"Generate a color harmony palette from an image or video frame.\n\nExtracts the dominant color and generates harmonious colors based on\ncolor theory (complementary"},{"name":"image_analyze_product","description":"Analyze a product image or video frame — extract colors and optionally generate AI description.\n\nExtracts dominant colors from an image. Optionally uses Claude "},{"name":"still_match","description":"Match a package of stills to a hero plate with one shared WB/exposure gain.\n\nDoes not overwrite sources. Writes matched stills + JSON receipt under output_dir.\n"},{"name":"still_grade","description":"Grade stills in order correct→match→look; optional 3D LUT applied last.\n\nSignal mode marks the LUT as signal-alignment (not film cosplay) and records\nnear-black"},{"name":"still_gate","description":"Fail-closed cohesion gate for a still package + contact sheet.\n\nChecks luma spread and shadow green/cyan wash. Returns passed=false with\nnamed metric/frame fail"},{"name":"image_edit","description":"Establish-locked still match with plan/receipt (intent is audit metadata).\n\nv1 pixel path is free establish mean-RGB match only; ``intent`` is required\nmetadata"},{"name":"still_package","description":"Multi-still package workflow: edit beats → match → grade → cohesion gate.\n\nArgs:\n    establish: Absolute establish/hero still.\n    beats: Absolute beat still pa"},{"name":"video_project_create","description":"Scaffold a cinematic video project with style, storyboard, and refs folders.\n\nArgs:\n    slug: Project slug using lowercase letters, numbers, hyphens, or undersc"},{"name":"style_pack_read","description":"Read STYLE_ and NEG_ blocks from a style.md file or project directory.\n\nArgs:\n    path: Absolute path to style.md or to a project directory containing style.md."},{"name":"storyboard_read","description":"Read a PUSHING CREATION storyboard table from storyboard.md or a project directory.\n\nArgs:\n    path: Absolute path to storyboard.md or to a project directory co"},{"name":"shot_prompt_render","description":"Expand one storyboard shot into prompt and negative_prompt strings.\n\nArgs:\n    project_path: Absolute path to a project directory containing style.md and storyb"},{"name":"hyperframes_render","description":"Render a Hyperframes composition to video.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Where to save the video"},{"name":"hyperframes_compositions","description":"List compositions in a Hyperframes project.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_preview","description":"Launch Hyperframes preview studio for live preview.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    port: Port for the preview "},{"name":"hyperframes_still","description":"Render a single frame as image from a Hyperframes composition.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Whe"},{"name":"hyperframes_snapshot","description":"Capture key frames as PNG screenshots for visual verification."},{"name":"hyperframes_inspect","description":"Inspect rendered composition layout for overflow and visual issues."},{"name":"hyperframes_info","description":"Print Hyperframes project metadata."},{"name":"hyperframes_catalog","description":"Browse Hyperframes catalog blocks/components."},{"name":"hyperframes_capture","description":"Capture a website as editable Hyperframes components."},{"name":"hyperframes_tts","description":"Generate speech audio or list available Hyperframes local TTS voices."},{"name":"hyperframes_transcribe","description":"Transcribe audio/video to word-level timestamps or import transcripts."},{"name":"hyperframes_remove_background","description":"Cut a person or a product out of a still or video.\n\nDefault model ``u2net_human_seg`` is people-only (talking heads).\nFor products, packaging, jewelry, bottles,"},{"name":"hyperframes_doctor","description":"Run Hyperframes environment diagnostics."},{"name":"hyperframes_benchmark","description":"Benchmark Hyperframes render speed and file size."},{"name":"hyperframes_init","description":"Scaffold a new Hyperframes project.\n\nArgs:\n    name: Project name.\n    output_dir: Directory to create the project in. Defaults to current directory.\n    templa"},{"name":"hyperframes_add_block","description":"Install a block from the Hyperframes catalog.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    block_name: Registry item name (e"},{"name":"hyperframes_validate","description":"Validate a Hyperframes project for rendering readiness.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_to_mcpvideo","description":"Render a Hyperframes composition and post-process with mcp-video in one step.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    p"},{"name":"video_record_motion_acceptance","description":"Record an authorized human caller's explicit whole-film motion attestation.\n\nThe caller must provide the exact source/report hashes, complete watched\nintervals "},{"name":"video_mix_audio","description":"Mix timed sounds with one AAC encode and stream-copy the primary picture.\n\nSounds is an array or JSON array of objects with path, start (seconds),\nvolume (linea"},{"name":"audio_synthesize","description":"Generate audio procedurally using synthesis.\n\nCreates WAV files from scratch using mathematical waveforms. No external audio\nfiles needed. Supports envelopes, r"},{"name":"audio_preset","description":"Generate preset sound design elements.\n\nPre-configured sound effects for common use cases. No external audio files needed.\n\nAvailable presets:\n- UI: ui-blip, ui"},{"name":"audio_sequence","description":"Compose multiple audio events into a timed sequence.\n\nCreates a layered audio track from multiple timed sound events.\n\nArgs:\n    sequence: List of audio events,"},{"name":"audio_compose","description":"Layer multiple audio tracks with volume mixing.\n\nMix multiple WAV files together with individual volume control.\n\nArgs:\n    tracks: List of track configs with:\n"},{"name":"audio_effects","description":"Apply audio effects chain to a WAV file.\n\nProcess audio through a chain of effects like reverb, filtering, normalization.\n\nArgs:\n    input_path: Absolute path t"},{"name":"video_add_generated_audio","description":"Add procedurally generated audio to a video.\n\nOne-shot convenience function to generate and add audio to video.\n\nArgs:\n    input_path: Absolute path to input vi"},{"name":"video_audio_spatial","description":"Apply 3D spatial audio positioning."},{"name":"video_duck_audio","description":"Mix background music under a video's voice with automatic ducking.\n\nThe video's own audio (voice/dialog) drives FFmpeg's sidechain compressor,\nso the music dips"},{"name":"video_audio_bed","description":"Mix a looped music bed under a voice source with ducking and loudness normalization.\n\nThe voice drives sidechain ducking and loudness normalization. A determini"},{"name":"effect_vignette","description":"Apply vignette effect - darkened edges.\n\nCreates a darkened border effect that draws attention to the center of the frame.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_chromatic_aberration","description":"Apply chromatic aberration - RGB channel separation.\n\nCreates a trendy RGB split effect popular in tech/glitch aesthetics.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_scanlines","description":"Apply CRT-style scanlines overlay.\n\nSimulates old CRT monitor scanline effect with optional flicker.\n\nArgs:\n    input_path: Absolute path to input video.\n    ou"},{"name":"effect_noise","description":"Apply film grain or digital noise.\n\nAdds texture noise to video for vintage or lo-fi aesthetics.\n\nArgs:\n    input_path: Absolute path to input video.\n    output"},{"name":"effect_glow","description":"Apply bloom/glow effect for highlights.\n\nCreates a soft glow around bright areas of the video.\n\nArgs:\n    input_path: Absolute path to input video.\n    output_p"},{"name":"video_layout_grid","description":"Create grid-based multi-video layout.\n\nArranges multiple videos in a grid pattern (2x2, 3x1, etc.).\n\nArgs:\n    clips: List of absolute paths to video files.\n   "},{"name":"video_layout_pip","description":"Picture-in-picture overlay.\n\nOverlay a smaller video on top of a main video.\n\nArgs:\n    main_path: Absolute path to main video.\n    pip_path: Absolute path to p"},{"name":"video_text_animated","description":"Add animated text to video.\n\nOverlay text with animation effects (fade, slide, etc.).\n\nArgs:\n    input_path: Absolute path to input video.\n    text: Text to dis"}],"toolCount":203,"toolsHash":"96d8aa8e13083fd7d1dd2e037938624f335b908008bbd18dd2ecb51553c65e9f","serverName":"kinocut","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.16.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T17:26:53.239Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":304,"error":null,"detail":{"tools":[{"name":"video_info","description":"Probe a video file for metadata. Returns JSON {success, info:{duration, resolution, codec, fps, size, ...}}. Use before any edit to learn the source's dimension"},{"name":"video_trim","description":"Trim a video clip by start time and duration. Returns JSON {success, output_path} pointing at the rendered clip. Use to cut a segment out of a longer video. Pas"},{"name":"video_merge","description":"Concatenate two or more existing video clips into one rendered output file. Returns JSON {success, output_path}. Use to join ordered clips into a single video. "},{"name":"video_add_text","description":"Overlay text on a video (titles, captions, watermarks). Returns JSON {success, output_path}. Use to burn a single text element into a video. Pass input_path as "},{"name":"video_add_texts","description":"Overlay multiple text elements on a video in a single FFmpeg pass.\n\nReturns JSON {success, output_path}. Use when one video needs several captions at once.\nPass"},{"name":"video_add_audio","description":"Add, replace, or mix an audio track into an existing video and render a new output file. Returns JSON {success, output_path}. Use to score or re-voice a video; "},{"name":"video_resize","description":"Resize a video or change its aspect ratio. Returns JSON {success, output_path}. Use to fit a video to target dimensions or a preset ratio. Pass input_path as th"},{"name":"video_convert","description":"Transcode a video into a different container or codec (mp4, webm, gif, mov, ...). Returns JSON {success, output_path}. Use for format conversion; prefer video_e"},{"name":"video_speed","description":"Render a new video with playback speed changed; the source video is left unchanged. Returns JSON {success, output_path}. Use for slow-motion or fast-forward eff"},{"name":"search_tools","description":"Find registered MCP tools by name, keyword, or a supported task phrase.\n\nReturns JSON {success, query, count, tools:[{name, description, required_params}]}.\nUse"},{"name":"video_ingest","description":"Ingest immutable source bytes into an existing or new private project."},{"name":"video_preflight","description":"Run unified technical, loudness, color, and decode preflight."},{"name":"video_inspect_temporal","description":"Build and persist the complete deterministic temporal evidence package."},{"name":"video_verdict","description":"Persist exact-asset analysis; approvals require active human evidence."},{"name":"video_acceptance_eval","description":"Evaluate exact-spec verdict and defect evidence without approving anything."},{"name":"video_body_swap","description":"Replace video while preserving approved audio with explicit duration policy."},{"name":"video_salvage","description":"Create one lineage-bound salvage derivative and a fresh review slot."},{"name":"video_thumbnail","description":"Extract a single frame (thumbnail / frame grab) from a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    timestamp: Time in seconds to extract"},{"name":"video_preview","description":"Generate a fast low-resolution preview for quick review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the preview. Au"},{"name":"video_storyboard","description":"Extract key frames and create a storyboard grid for human review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save fra"},{"name":"video_subtitles","description":"Burn subtitles (SRT/VTT/authored ASS) into a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    subtitle_path: Absolute path to the subtitle fi"},{"name":"video_watermark","description":"Overlay an image watermark onto an existing video and render a new output file. The video and watermark image are read only; output_path is created or overwritt"},{"name":"video_export","description":"Re-encode an existing video for final delivery using a quality preset and output format. Use this for publishing-ready renders; use video_convert when the main "},{"name":"video_crop","description":"Crop an existing video to a rectangular region or centered percentage crop and render a new output file. The source video is read only; x/y default to a centere"},{"name":"video_rotate","description":"Rotate and/or flip an existing video and render a new output file. Supports right-angle rotations plus horizontal and vertical flips; the input video is not mod"},{"name":"video_fade","description":"Render fade-in and/or fade-out effects onto an existing video without modifying the source file. Use fade_in for a fade from black at the start and fade_out for"},{"name":"video_edit","description":"Execute a full timeline-based edit from a JSON specification.\n\nThe timeline JSON describes video clips, audio tracks, text overlays,\nimage overlays, transitions"},{"name":"video_template_preview","description":"Preview what a video template would do before rendering.\n\nAnalyzes the template and returns a list of operations, estimated output\nduration, resolution, and fil"},{"name":"video_extract_audio","description":"Extract the audio track from a video file.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the audio file. Auto-generate"},{"name":"video_filter","description":"Apply a visual filter to a video.\n\nCommon presets:\n    - blur: params={\"radius\": 5, \"strength\": 1}\n    - color_preset: params={\"preset\": \"warm\"} (warm, cool, vi"},{"name":"video_luma_key","description":"Mask out dark regions based on luminance (brightness).\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Luminance threshold (0.0-1.0). Pi"},{"name":"video_shape_mask","description":"Apply a geometric shape mask to a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    shape: Shape to use — \"circle\", \"rounded_rect\", or \"oval\"."},{"name":"video_hls_segment","description":"Segment a video into HLS (HTTP Live Streaming) format.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save segments. Auto"},{"name":"video_reverse","description":"Reverse video and audio playback so it plays backwards.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the output. Auto"},{"name":"video_chroma_key","description":"Remove a solid color background (green screen / chroma key).\n\nArgs:\n    input_path: Absolute path to the input video.\n    color: Color to make transparent in he"},{"name":"video_normalize_audio","description":"Normalize audio loudness to a target LUFS level.\n\nCommon presets: -16 (YouTube), -23 (EBU R128/broadcast), -14 (Apple/Spotify).\n\nArgs:\n    input_path: Absolute "},{"name":"video_overlay","description":"Picture-in-picture: overlay a video on top of another.\n\nArgs:\n    background_path: Absolute path to the background video.\n    overlay_path: Absolute path to the"},{"name":"video_split_screen","description":"Place two videos side by side or top/bottom.\n\nArgs:\n    left_path: Absolute path to the first video.\n    right_path: Absolute path to the second video.\n    layo"},{"name":"video_detect_scenes","description":"Detect scene changes in a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Scene detection sensitivity (0.0-1.0, lower = more sens"},{"name":"video_create_from_images","description":"Create a video from a sequence of images.\n\nArgs:\n    images: List of absolute paths to image files (in order).\n    output_path: Where to save the output video. "},{"name":"video_export_frames","description":"Export frames from a video as individual images.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory for extracted frames. Auto-g"},{"name":"video_generate_subtitles","description":"Generate SRT subtitles from text entries and optionally burn into video.\n\nArgs:\n    entries: List of subtitle entries with keys: start (float), end (float), tex"},{"name":"video_compare_quality","description":"Compare video quality between original and processed versions.\n\nArgs:\n    original_path: Absolute path to the original/reference video.\n    distorted_path: Abso"},{"name":"video_read_metadata","description":"Read metadata tags from a video/audio file.\n\nArgs:\n    input_path: Absolute path to the video or audio file.\n"},{"name":"video_write_metadata","description":"Write metadata tags to a video/audio file.\n\nArgs:\n    input_path: Absolute path to the input file.\n    metadata: Dict of tag key-value pairs (e.g. {'title': 'My"},{"name":"video_stabilize","description":"Stabilize a shaky video using motion vector analysis.\n\nArgs:\n    input_path: Absolute path to the input video.\n    smoothing: Smoothing strength (default 15, hi"},{"name":"video_apply_mask","description":"Apply an image mask to a video with edge feathering.\n\nArgs:\n    input_path: Absolute path to the input video.\n    mask_path: Absolute path to the mask image (wh"},{"name":"video_audio_waveform","description":"Extract audio waveform data (peaks and silence regions).\n\nArgs:\n    input_path: Absolute path to the input video/audio file.\n    bins: Number of time segments t"},{"name":"video_batch","description":"Apply the same operation to multiple video files.\n\nArgs:\n    inputs: List of absolute paths to input video files.\n    operation: Operation (trim, resize, conver"},{"name":"video_cleanup","description":"Delete intermediate video files after a workflow.\n\nUseful for multi-step pipelines that leave temporary outputs.\nFiles in ``keep`` are preserved even if listed "},{"name":"video_composite_layers","description":"Composite ordered image/video layers from a JSON spec.\n\nSupports explicit straight/premultiplied input alpha, opacity, positioning,\ntransforms, timing windows, "},{"name":"image_extract_colors","description":"Extract dominant colors from an image or video frame.\n\nUses K-means clustering to find the most prominent colors. Returns hex codes,\nRGB values, CSS color names"},{"name":"image_generate_palette","description":"Generate a color harmony palette from an image or video frame.\n\nExtracts the dominant color and generates harmonious colors based on\ncolor theory (complementary"},{"name":"image_analyze_product","description":"Analyze a product image or video frame — extract colors and optionally generate AI description.\n\nExtracts dominant colors from an image. Optionally uses Claude "},{"name":"still_match","description":"Match a package of stills to a hero plate with one shared WB/exposure gain.\n\nDoes not overwrite sources. Writes matched stills + JSON receipt under output_dir.\n"},{"name":"still_grade","description":"Grade stills in order correct→match→look; optional 3D LUT applied last.\n\nSignal mode marks the LUT as signal-alignment (not film cosplay) and records\nnear-black"},{"name":"still_gate","description":"Fail-closed cohesion gate for a still package + contact sheet.\n\nChecks luma spread and shadow green/cyan wash. Returns passed=false with\nnamed metric/frame fail"},{"name":"image_edit","description":"Establish-locked still match with plan/receipt (intent is audit metadata).\n\nv1 pixel path is free establish mean-RGB match only; ``intent`` is required\nmetadata"},{"name":"still_package","description":"Multi-still package workflow: edit beats → match → grade → cohesion gate.\n\nArgs:\n    establish: Absolute establish/hero still.\n    beats: Absolute beat still pa"},{"name":"video_project_create","description":"Scaffold a cinematic video project with style, storyboard, and refs folders.\n\nArgs:\n    slug: Project slug using lowercase letters, numbers, hyphens, or undersc"},{"name":"style_pack_read","description":"Read STYLE_ and NEG_ blocks from a style.md file or project directory.\n\nArgs:\n    path: Absolute path to style.md or to a project directory containing style.md."},{"name":"storyboard_read","description":"Read a PUSHING CREATION storyboard table from storyboard.md or a project directory.\n\nArgs:\n    path: Absolute path to storyboard.md or to a project directory co"},{"name":"shot_prompt_render","description":"Expand one storyboard shot into prompt and negative_prompt strings.\n\nArgs:\n    project_path: Absolute path to a project directory containing style.md and storyb"},{"name":"hyperframes_render","description":"Render a Hyperframes composition to video.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Where to save the video"},{"name":"hyperframes_compositions","description":"List compositions in a Hyperframes project.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_preview","description":"Launch Hyperframes preview studio for live preview.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    port: Port for the preview "},{"name":"hyperframes_still","description":"Render a single frame as image from a Hyperframes composition.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Whe"},{"name":"hyperframes_snapshot","description":"Capture key frames as PNG screenshots for visual verification."},{"name":"hyperframes_inspect","description":"Inspect rendered composition layout for overflow and visual issues."},{"name":"hyperframes_info","description":"Print Hyperframes project metadata."},{"name":"hyperframes_catalog","description":"Browse Hyperframes catalog blocks/components."},{"name":"hyperframes_capture","description":"Capture a website as editable Hyperframes components."},{"name":"hyperframes_tts","description":"Generate speech audio or list available Hyperframes local TTS voices."},{"name":"hyperframes_transcribe","description":"Transcribe audio/video to word-level timestamps or import transcripts."},{"name":"hyperframes_remove_background","description":"Cut a person or a product out of a still or video.\n\nDefault model ``u2net_human_seg`` is people-only (talking heads).\nFor products, packaging, jewelry, bottles,"},{"name":"hyperframes_doctor","description":"Run Hyperframes environment diagnostics."},{"name":"hyperframes_benchmark","description":"Benchmark Hyperframes render speed and file size."},{"name":"hyperframes_init","description":"Scaffold a new Hyperframes project.\n\nArgs:\n    name: Project name.\n    output_dir: Directory to create the project in. Defaults to current directory.\n    templa"},{"name":"hyperframes_add_block","description":"Install a block from the Hyperframes catalog.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    block_name: Registry item name (e"},{"name":"hyperframes_validate","description":"Validate a Hyperframes project for rendering readiness.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_to_mcpvideo","description":"Render a Hyperframes composition and post-process with mcp-video in one step.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    p"},{"name":"video_record_motion_acceptance","description":"Record an authorized human caller's explicit whole-film motion attestation.\n\nThe caller must provide the exact source/report hashes, complete watched\nintervals "},{"name":"video_mix_audio","description":"Mix timed sounds with one AAC encode and stream-copy the primary picture.\n\nSounds is an array or JSON array of objects with path, start (seconds),\nvolume (linea"},{"name":"audio_synthesize","description":"Generate audio procedurally using synthesis.\n\nCreates WAV files from scratch using mathematical waveforms. No external audio\nfiles needed. Supports envelopes, r"},{"name":"audio_preset","description":"Generate preset sound design elements.\n\nPre-configured sound effects for common use cases. No external audio files needed.\n\nAvailable presets:\n- UI: ui-blip, ui"},{"name":"audio_sequence","description":"Compose multiple audio events into a timed sequence.\n\nCreates a layered audio track from multiple timed sound events.\n\nArgs:\n    sequence: List of audio events,"},{"name":"audio_compose","description":"Layer multiple audio tracks with volume mixing.\n\nMix multiple WAV files together with individual volume control.\n\nArgs:\n    tracks: List of track configs with:\n"},{"name":"audio_effects","description":"Apply audio effects chain to a WAV file.\n\nProcess audio through a chain of effects like reverb, filtering, normalization.\n\nArgs:\n    input_path: Absolute path t"},{"name":"video_add_generated_audio","description":"Add procedurally generated audio to a video.\n\nOne-shot convenience function to generate and add audio to video.\n\nArgs:\n    input_path: Absolute path to input vi"},{"name":"video_audio_spatial","description":"Apply 3D spatial audio positioning."},{"name":"video_duck_audio","description":"Mix background music under a video's voice with automatic ducking.\n\nThe video's own audio (voice/dialog) drives FFmpeg's sidechain compressor,\nso the music dips"},{"name":"video_audio_bed","description":"Mix a looped music bed under a voice source with ducking and loudness normalization.\n\nThe voice drives sidechain ducking and loudness normalization. A determini"},{"name":"effect_vignette","description":"Apply vignette effect - darkened edges.\n\nCreates a darkened border effect that draws attention to the center of the frame.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_chromatic_aberration","description":"Apply chromatic aberration - RGB channel separation.\n\nCreates a trendy RGB split effect popular in tech/glitch aesthetics.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_scanlines","description":"Apply CRT-style scanlines overlay.\n\nSimulates old CRT monitor scanline effect with optional flicker.\n\nArgs:\n    input_path: Absolute path to input video.\n    ou"},{"name":"effect_noise","description":"Apply film grain or digital noise.\n\nAdds texture noise to video for vintage or lo-fi aesthetics.\n\nArgs:\n    input_path: Absolute path to input video.\n    output"},{"name":"effect_glow","description":"Apply bloom/glow effect for highlights.\n\nCreates a soft glow around bright areas of the video.\n\nArgs:\n    input_path: Absolute path to input video.\n    output_p"},{"name":"video_layout_grid","description":"Create grid-based multi-video layout.\n\nArranges multiple videos in a grid pattern (2x2, 3x1, etc.).\n\nArgs:\n    clips: List of absolute paths to video files.\n   "},{"name":"video_layout_pip","description":"Picture-in-picture overlay.\n\nOverlay a smaller video on top of a main video.\n\nArgs:\n    main_path: Absolute path to main video.\n    pip_path: Absolute path to p"},{"name":"video_text_animated","description":"Add animated text to video.\n\nOverlay text with animation effects (fade, slide, etc.).\n\nArgs:\n    input_path: Absolute path to input video.\n    text: Text to dis"}],"toolCount":203,"toolsHash":"96d8aa8e13083fd7d1dd2e037938624f335b908008bbd18dd2ecb51553c65e9f","serverName":"kinocut","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.16.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T10:27:25.739Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":281,"error":null,"detail":{"tools":[{"name":"video_info","description":"Probe a video file for metadata. Returns JSON {success, info:{duration, resolution, codec, fps, size, ...}}. Use before any edit to learn the source's dimension"},{"name":"video_trim","description":"Trim a video clip by start time and duration. Returns JSON {success, output_path} pointing at the rendered clip. Use to cut a segment out of a longer video. Pas"},{"name":"video_merge","description":"Concatenate two or more existing video clips into one rendered output file. Returns JSON {success, output_path}. Use to join ordered clips into a single video. "},{"name":"video_add_text","description":"Overlay text on a video (titles, captions, watermarks). Returns JSON {success, output_path}. Use to burn a single text element into a video. Pass input_path as "},{"name":"video_add_texts","description":"Overlay multiple text elements on a video in a single FFmpeg pass.\n\nReturns JSON {success, output_path}. Use when one video needs several captions at once.\nPass"},{"name":"video_add_audio","description":"Add, replace, or mix an audio track into an existing video and render a new output file. Returns JSON {success, output_path}. Use to score or re-voice a video; "},{"name":"video_resize","description":"Resize a video or change its aspect ratio. Returns JSON {success, output_path}. Use to fit a video to target dimensions or a preset ratio. Pass input_path as th"},{"name":"video_convert","description":"Transcode a video into a different container or codec (mp4, webm, gif, mov, ...). Returns JSON {success, output_path}. Use for format conversion; prefer video_e"},{"name":"video_speed","description":"Render a new video with playback speed changed; the source video is left unchanged. Returns JSON {success, output_path}. Use for slow-motion or fast-forward eff"},{"name":"search_tools","description":"Find registered MCP tools by name, keyword, or a supported task phrase.\n\nReturns JSON {success, query, count, tools:[{name, description, required_params}]}.\nUse"},{"name":"video_ingest","description":"Ingest immutable source bytes into an existing or new private project."},{"name":"video_preflight","description":"Run unified technical, loudness, color, and decode preflight."},{"name":"video_inspect_temporal","description":"Build and persist the complete deterministic temporal evidence package."},{"name":"video_verdict","description":"Persist exact-asset analysis; approvals require active human evidence."},{"name":"video_acceptance_eval","description":"Evaluate exact-spec verdict and defect evidence without approving anything."},{"name":"video_body_swap","description":"Replace video while preserving approved audio with explicit duration policy."},{"name":"video_salvage","description":"Create one lineage-bound salvage derivative and a fresh review slot."},{"name":"video_thumbnail","description":"Extract a single frame (thumbnail / frame grab) from a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    timestamp: Time in seconds to extract"},{"name":"video_preview","description":"Generate a fast low-resolution preview for quick review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the preview. Au"},{"name":"video_storyboard","description":"Extract key frames and create a storyboard grid for human review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save fra"},{"name":"video_subtitles","description":"Burn subtitles (SRT/VTT/authored ASS) into a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    subtitle_path: Absolute path to the subtitle fi"},{"name":"video_watermark","description":"Overlay an image watermark onto an existing video and render a new output file. The video and watermark image are read only; output_path is created or overwritt"},{"name":"video_export","description":"Re-encode an existing video for final delivery using a quality preset and output format. Use this for publishing-ready renders; use video_convert when the main "},{"name":"video_crop","description":"Crop an existing video to a rectangular region or centered percentage crop and render a new output file. The source video is read only; x/y default to a centere"},{"name":"video_rotate","description":"Rotate and/or flip an existing video and render a new output file. Supports right-angle rotations plus horizontal and vertical flips; the input video is not mod"},{"name":"video_fade","description":"Render fade-in and/or fade-out effects onto an existing video without modifying the source file. Use fade_in for a fade from black at the start and fade_out for"},{"name":"video_edit","description":"Execute a full timeline-based edit from a JSON specification.\n\nThe timeline JSON describes video clips, audio tracks, text overlays,\nimage overlays, transitions"},{"name":"video_template_preview","description":"Preview what a video template would do before rendering.\n\nAnalyzes the template and returns a list of operations, estimated output\nduration, resolution, and fil"},{"name":"video_extract_audio","description":"Extract the audio track from a video file.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the audio file. Auto-generate"},{"name":"video_filter","description":"Apply a visual filter to a video.\n\nCommon presets:\n    - blur: params={\"radius\": 5, \"strength\": 1}\n    - color_preset: params={\"preset\": \"warm\"} (warm, cool, vi"},{"name":"video_luma_key","description":"Mask out dark regions based on luminance (brightness).\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Luminance threshold (0.0-1.0). Pi"},{"name":"video_shape_mask","description":"Apply a geometric shape mask to a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    shape: Shape to use — \"circle\", \"rounded_rect\", or \"oval\"."},{"name":"video_hls_segment","description":"Segment a video into HLS (HTTP Live Streaming) format.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save segments. Auto"},{"name":"video_reverse","description":"Reverse video and audio playback so it plays backwards.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the output. Auto"},{"name":"video_chroma_key","description":"Remove a solid color background (green screen / chroma key).\n\nArgs:\n    input_path: Absolute path to the input video.\n    color: Color to make transparent in he"},{"name":"video_normalize_audio","description":"Normalize audio loudness to a target LUFS level.\n\nCommon presets: -16 (YouTube), -23 (EBU R128/broadcast), -14 (Apple/Spotify).\n\nArgs:\n    input_path: Absolute "},{"name":"video_overlay","description":"Picture-in-picture: overlay a video on top of another.\n\nArgs:\n    background_path: Absolute path to the background video.\n    overlay_path: Absolute path to the"},{"name":"video_split_screen","description":"Place two videos side by side or top/bottom.\n\nArgs:\n    left_path: Absolute path to the first video.\n    right_path: Absolute path to the second video.\n    layo"},{"name":"video_detect_scenes","description":"Detect scene changes in a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Scene detection sensitivity (0.0-1.0, lower = more sens"},{"name":"video_create_from_images","description":"Create a video from a sequence of images.\n\nArgs:\n    images: List of absolute paths to image files (in order).\n    output_path: Where to save the output video. "},{"name":"video_export_frames","description":"Export frames from a video as individual images.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory for extracted frames. Auto-g"},{"name":"video_generate_subtitles","description":"Generate SRT subtitles from text entries and optionally burn into video.\n\nArgs:\n    entries: List of subtitle entries with keys: start (float), end (float), tex"},{"name":"video_compare_quality","description":"Compare video quality between original and processed versions.\n\nArgs:\n    original_path: Absolute path to the original/reference video.\n    distorted_path: Abso"},{"name":"video_read_metadata","description":"Read metadata tags from a video/audio file.\n\nArgs:\n    input_path: Absolute path to the video or audio file.\n"},{"name":"video_write_metadata","description":"Write metadata tags to a video/audio file.\n\nArgs:\n    input_path: Absolute path to the input file.\n    metadata: Dict of tag key-value pairs (e.g. {'title': 'My"},{"name":"video_stabilize","description":"Stabilize a shaky video using motion vector analysis.\n\nArgs:\n    input_path: Absolute path to the input video.\n    smoothing: Smoothing strength (default 15, hi"},{"name":"video_apply_mask","description":"Apply an image mask to a video with edge feathering.\n\nArgs:\n    input_path: Absolute path to the input video.\n    mask_path: Absolute path to the mask image (wh"},{"name":"video_audio_waveform","description":"Extract audio waveform data (peaks and silence regions).\n\nArgs:\n    input_path: Absolute path to the input video/audio file.\n    bins: Number of time segments t"},{"name":"video_batch","description":"Apply the same operation to multiple video files.\n\nArgs:\n    inputs: List of absolute paths to input video files.\n    operation: Operation (trim, resize, conver"},{"name":"video_cleanup","description":"Delete intermediate video files after a workflow.\n\nUseful for multi-step pipelines that leave temporary outputs.\nFiles in ``keep`` are preserved even if listed "},{"name":"video_composite_layers","description":"Composite ordered image/video layers from a JSON spec.\n\nSupports explicit straight/premultiplied input alpha, opacity, positioning,\ntransforms, timing windows, "},{"name":"image_extract_colors","description":"Extract dominant colors from an image or video frame.\n\nUses K-means clustering to find the most prominent colors. Returns hex codes,\nRGB values, CSS color names"},{"name":"image_generate_palette","description":"Generate a color harmony palette from an image or video frame.\n\nExtracts the dominant color and generates harmonious colors based on\ncolor theory (complementary"},{"name":"image_analyze_product","description":"Analyze a product image or video frame — extract colors and optionally generate AI description.\n\nExtracts dominant colors from an image. Optionally uses Claude "},{"name":"still_match","description":"Match a package of stills to a hero plate with one shared WB/exposure gain.\n\nDoes not overwrite sources. Writes matched stills + JSON receipt under output_dir.\n"},{"name":"still_grade","description":"Grade stills in order correct→match→look; optional 3D LUT applied last.\n\nSignal mode marks the LUT as signal-alignment (not film cosplay) and records\nnear-black"},{"name":"still_gate","description":"Fail-closed cohesion gate for a still package + contact sheet.\n\nChecks luma spread and shadow green/cyan wash. Returns passed=false with\nnamed metric/frame fail"},{"name":"image_edit","description":"Establish-locked still match with plan/receipt (intent is audit metadata).\n\nv1 pixel path is free establish mean-RGB match only; ``intent`` is required\nmetadata"},{"name":"still_package","description":"Multi-still package workflow: edit beats → match → grade → cohesion gate.\n\nArgs:\n    establish: Absolute establish/hero still.\n    beats: Absolute beat still pa"},{"name":"video_project_create","description":"Scaffold a cinematic video project with style, storyboard, and refs folders.\n\nArgs:\n    slug: Project slug using lowercase letters, numbers, hyphens, or undersc"},{"name":"style_pack_read","description":"Read STYLE_ and NEG_ blocks from a style.md file or project directory.\n\nArgs:\n    path: Absolute path to style.md or to a project directory containing style.md."},{"name":"storyboard_read","description":"Read a PUSHING CREATION storyboard table from storyboard.md or a project directory.\n\nArgs:\n    path: Absolute path to storyboard.md or to a project directory co"},{"name":"shot_prompt_render","description":"Expand one storyboard shot into prompt and negative_prompt strings.\n\nArgs:\n    project_path: Absolute path to a project directory containing style.md and storyb"},{"name":"hyperframes_render","description":"Render a Hyperframes composition to video.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Where to save the video"},{"name":"hyperframes_compositions","description":"List compositions in a Hyperframes project.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_preview","description":"Launch Hyperframes preview studio for live preview.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    port: Port for the preview "},{"name":"hyperframes_still","description":"Render a single frame as image from a Hyperframes composition.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Whe"},{"name":"hyperframes_snapshot","description":"Capture key frames as PNG screenshots for visual verification."},{"name":"hyperframes_inspect","description":"Inspect rendered composition layout for overflow and visual issues."},{"name":"hyperframes_info","description":"Print Hyperframes project metadata."},{"name":"hyperframes_catalog","description":"Browse Hyperframes catalog blocks/components."},{"name":"hyperframes_capture","description":"Capture a website as editable Hyperframes components."},{"name":"hyperframes_tts","description":"Generate speech audio or list available Hyperframes local TTS voices."},{"name":"hyperframes_transcribe","description":"Transcribe audio/video to word-level timestamps or import transcripts."},{"name":"hyperframes_remove_background","description":"Cut a person or a product out of a still or video.\n\nDefault model ``u2net_human_seg`` is people-only (talking heads).\nFor products, packaging, jewelry, bottles,"},{"name":"hyperframes_doctor","description":"Run Hyperframes environment diagnostics."},{"name":"hyperframes_benchmark","description":"Benchmark Hyperframes render speed and file size."},{"name":"hyperframes_init","description":"Scaffold a new Hyperframes project.\n\nArgs:\n    name: Project name.\n    output_dir: Directory to create the project in. Defaults to current directory.\n    templa"},{"name":"hyperframes_add_block","description":"Install a block from the Hyperframes catalog.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    block_name: Registry item name (e"},{"name":"hyperframes_validate","description":"Validate a Hyperframes project for rendering readiness.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_to_mcpvideo","description":"Render a Hyperframes composition and post-process with mcp-video in one step.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    p"},{"name":"video_record_motion_acceptance","description":"Record an authorized human caller's explicit whole-film motion attestation.\n\nThe caller must provide the exact source/report hashes, complete watched\nintervals "},{"name":"video_mix_audio","description":"Mix timed sounds with one AAC encode and stream-copy the primary picture.\n\nSounds is an array or JSON array of objects with path, start (seconds),\nvolume (linea"},{"name":"audio_synthesize","description":"Generate audio procedurally using synthesis.\n\nCreates WAV files from scratch using mathematical waveforms. No external audio\nfiles needed. Supports envelopes, r"},{"name":"audio_preset","description":"Generate preset sound design elements.\n\nPre-configured sound effects for common use cases. No external audio files needed.\n\nAvailable presets:\n- UI: ui-blip, ui"},{"name":"audio_sequence","description":"Compose multiple audio events into a timed sequence.\n\nCreates a layered audio track from multiple timed sound events.\n\nArgs:\n    sequence: List of audio events,"},{"name":"audio_compose","description":"Layer multiple audio tracks with volume mixing.\n\nMix multiple WAV files together with individual volume control.\n\nArgs:\n    tracks: List of track configs with:\n"},{"name":"audio_effects","description":"Apply audio effects chain to a WAV file.\n\nProcess audio through a chain of effects like reverb, filtering, normalization.\n\nArgs:\n    input_path: Absolute path t"},{"name":"video_add_generated_audio","description":"Add procedurally generated audio to a video.\n\nOne-shot convenience function to generate and add audio to video.\n\nArgs:\n    input_path: Absolute path to input vi"},{"name":"video_audio_spatial","description":"Apply 3D spatial audio positioning."},{"name":"video_duck_audio","description":"Mix background music under a video's voice with automatic ducking.\n\nThe video's own audio (voice/dialog) drives FFmpeg's sidechain compressor,\nso the music dips"},{"name":"video_audio_bed","description":"Mix a looped music bed under a voice source with ducking and loudness normalization.\n\nThe voice drives sidechain ducking and loudness normalization. A determini"},{"name":"effect_vignette","description":"Apply vignette effect - darkened edges.\n\nCreates a darkened border effect that draws attention to the center of the frame.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_chromatic_aberration","description":"Apply chromatic aberration - RGB channel separation.\n\nCreates a trendy RGB split effect popular in tech/glitch aesthetics.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_scanlines","description":"Apply CRT-style scanlines overlay.\n\nSimulates old CRT monitor scanline effect with optional flicker.\n\nArgs:\n    input_path: Absolute path to input video.\n    ou"},{"name":"effect_noise","description":"Apply film grain or digital noise.\n\nAdds texture noise to video for vintage or lo-fi aesthetics.\n\nArgs:\n    input_path: Absolute path to input video.\n    output"},{"name":"effect_glow","description":"Apply bloom/glow effect for highlights.\n\nCreates a soft glow around bright areas of the video.\n\nArgs:\n    input_path: Absolute path to input video.\n    output_p"},{"name":"video_layout_grid","description":"Create grid-based multi-video layout.\n\nArranges multiple videos in a grid pattern (2x2, 3x1, etc.).\n\nArgs:\n    clips: List of absolute paths to video files.\n   "},{"name":"video_layout_pip","description":"Picture-in-picture overlay.\n\nOverlay a smaller video on top of a main video.\n\nArgs:\n    main_path: Absolute path to main video.\n    pip_path: Absolute path to p"},{"name":"video_text_animated","description":"Add animated text to video.\n\nOverlay text with animation effects (fade, slide, etc.).\n\nArgs:\n    input_path: Absolute path to input video.\n    text: Text to dis"}],"toolCount":203,"toolsHash":"96d8aa8e13083fd7d1dd2e037938624f335b908008bbd18dd2ecb51553c65e9f","serverName":"kinocut","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.16.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-20T03:29:33.172Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":275,"error":null,"detail":{"tools":[{"name":"video_info","description":"Probe a video file for metadata. Returns JSON {success, info:{duration, resolution, codec, fps, size, ...}}. Use before any edit to learn the source's dimension"},{"name":"video_trim","description":"Trim a video clip by start time and duration. Returns JSON {success, output_path} pointing at the rendered clip. Use to cut a segment out of a longer video. Pas"},{"name":"video_merge","description":"Concatenate two or more existing video clips into one rendered output file. Returns JSON {success, output_path}. Use to join ordered clips into a single video. "},{"name":"video_add_text","description":"Overlay text on a video (titles, captions, watermarks). Returns JSON {success, output_path}. Use to burn a single text element into a video. Pass input_path as "},{"name":"video_add_texts","description":"Overlay multiple text elements on a video in a single FFmpeg pass.\n\nReturns JSON {success, output_path}. Use when one video needs several captions at once.\nPass"},{"name":"video_add_audio","description":"Add, replace, or mix an audio track into an existing video and render a new output file. Returns JSON {success, output_path}. Use to score or re-voice a video; "},{"name":"video_resize","description":"Resize a video or change its aspect ratio. Returns JSON {success, output_path}. Use to fit a video to target dimensions or a preset ratio. Pass input_path as th"},{"name":"video_convert","description":"Transcode a video into a different container or codec (mp4, webm, gif, mov, ...). Returns JSON {success, output_path}. Use for format conversion; prefer video_e"},{"name":"video_speed","description":"Render a new video with playback speed changed; the source video is left unchanged. Returns JSON {success, output_path}. Use for slow-motion or fast-forward eff"},{"name":"search_tools","description":"Find registered MCP tools by name, keyword, or a supported task phrase.\n\nReturns JSON {success, query, count, tools:[{name, description, required_params}]}.\nUse"},{"name":"video_ingest","description":"Ingest immutable source bytes into an existing or new private project."},{"name":"video_preflight","description":"Run unified technical, loudness, color, and decode preflight."},{"name":"video_inspect_temporal","description":"Build and persist the complete deterministic temporal evidence package."},{"name":"video_verdict","description":"Persist exact-asset analysis; approvals require active human evidence."},{"name":"video_acceptance_eval","description":"Evaluate exact-spec verdict and defect evidence without approving anything."},{"name":"video_body_swap","description":"Replace video while preserving approved audio with explicit duration policy."},{"name":"video_salvage","description":"Create one lineage-bound salvage derivative and a fresh review slot."},{"name":"video_thumbnail","description":"Extract a single frame (thumbnail / frame grab) from a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    timestamp: Time in seconds to extract"},{"name":"video_preview","description":"Generate a fast low-resolution preview for quick review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the preview. Au"},{"name":"video_storyboard","description":"Extract key frames and create a storyboard grid for human review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save fra"},{"name":"video_subtitles","description":"Burn subtitles (SRT/VTT/authored ASS) into a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    subtitle_path: Absolute path to the subtitle fi"},{"name":"video_watermark","description":"Overlay an image watermark onto an existing video and render a new output file. The video and watermark image are read only; output_path is created or overwritt"},{"name":"video_export","description":"Re-encode an existing video for final delivery using a quality preset and output format. Use this for publishing-ready renders; use video_convert when the main "},{"name":"video_crop","description":"Crop an existing video to a rectangular region or centered percentage crop and render a new output file. The source video is read only; x/y default to a centere"},{"name":"video_rotate","description":"Rotate and/or flip an existing video and render a new output file. Supports right-angle rotations plus horizontal and vertical flips; the input video is not mod"},{"name":"video_fade","description":"Render fade-in and/or fade-out effects onto an existing video without modifying the source file. Use fade_in for a fade from black at the start and fade_out for"},{"name":"video_edit","description":"Execute a full timeline-based edit from a JSON specification.\n\nThe timeline JSON describes video clips, audio tracks, text overlays,\nimage overlays, transitions"},{"name":"video_template_preview","description":"Preview what a video template would do before rendering.\n\nAnalyzes the template and returns a list of operations, estimated output\nduration, resolution, and fil"},{"name":"video_extract_audio","description":"Extract the audio track from a video file.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the audio file. Auto-generate"},{"name":"video_filter","description":"Apply a visual filter to a video.\n\nCommon presets:\n    - blur: params={\"radius\": 5, \"strength\": 1}\n    - color_preset: params={\"preset\": \"warm\"} (warm, cool, vi"},{"name":"video_luma_key","description":"Mask out dark regions based on luminance (brightness).\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Luminance threshold (0.0-1.0). Pi"},{"name":"video_shape_mask","description":"Apply a geometric shape mask to a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    shape: Shape to use — \"circle\", \"rounded_rect\", or \"oval\"."},{"name":"video_hls_segment","description":"Segment a video into HLS (HTTP Live Streaming) format.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save segments. Auto"},{"name":"video_reverse","description":"Reverse video and audio playback so it plays backwards.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the output. Auto"},{"name":"video_chroma_key","description":"Remove a solid color background (green screen / chroma key).\n\nArgs:\n    input_path: Absolute path to the input video.\n    color: Color to make transparent in he"},{"name":"video_normalize_audio","description":"Normalize audio loudness to a target LUFS level.\n\nCommon presets: -16 (YouTube), -23 (EBU R128/broadcast), -14 (Apple/Spotify).\n\nArgs:\n    input_path: Absolute "},{"name":"video_overlay","description":"Picture-in-picture: overlay a video on top of another.\n\nArgs:\n    background_path: Absolute path to the background video.\n    overlay_path: Absolute path to the"},{"name":"video_split_screen","description":"Place two videos side by side or top/bottom.\n\nArgs:\n    left_path: Absolute path to the first video.\n    right_path: Absolute path to the second video.\n    layo"},{"name":"video_detect_scenes","description":"Detect scene changes in a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Scene detection sensitivity (0.0-1.0, lower = more sens"},{"name":"video_create_from_images","description":"Create a video from a sequence of images.\n\nArgs:\n    images: List of absolute paths to image files (in order).\n    output_path: Where to save the output video. "},{"name":"video_export_frames","description":"Export frames from a video as individual images.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory for extracted frames. Auto-g"},{"name":"video_generate_subtitles","description":"Generate SRT subtitles from text entries and optionally burn into video.\n\nArgs:\n    entries: List of subtitle entries with keys: start (float), end (float), tex"},{"name":"video_compare_quality","description":"Compare video quality between original and processed versions.\n\nArgs:\n    original_path: Absolute path to the original/reference video.\n    distorted_path: Abso"},{"name":"video_read_metadata","description":"Read metadata tags from a video/audio file.\n\nArgs:\n    input_path: Absolute path to the video or audio file.\n"},{"name":"video_write_metadata","description":"Write metadata tags to a video/audio file.\n\nArgs:\n    input_path: Absolute path to the input file.\n    metadata: Dict of tag key-value pairs (e.g. {'title': 'My"},{"name":"video_stabilize","description":"Stabilize a shaky video using motion vector analysis.\n\nArgs:\n    input_path: Absolute path to the input video.\n    smoothing: Smoothing strength (default 15, hi"},{"name":"video_apply_mask","description":"Apply an image mask to a video with edge feathering.\n\nArgs:\n    input_path: Absolute path to the input video.\n    mask_path: Absolute path to the mask image (wh"},{"name":"video_audio_waveform","description":"Extract audio waveform data (peaks and silence regions).\n\nArgs:\n    input_path: Absolute path to the input video/audio file.\n    bins: Number of time segments t"},{"name":"video_batch","description":"Apply the same operation to multiple video files.\n\nArgs:\n    inputs: List of absolute paths to input video files.\n    operation: Operation (trim, resize, conver"},{"name":"video_cleanup","description":"Delete intermediate video files after a workflow.\n\nUseful for multi-step pipelines that leave temporary outputs.\nFiles in ``keep`` are preserved even if listed "},{"name":"video_composite_layers","description":"Composite ordered image/video layers from a JSON spec.\n\nSupports explicit straight/premultiplied input alpha, opacity, positioning,\ntransforms, timing windows, "},{"name":"image_extract_colors","description":"Extract dominant colors from an image or video frame.\n\nUses K-means clustering to find the most prominent colors. Returns hex codes,\nRGB values, CSS color names"},{"name":"image_generate_palette","description":"Generate a color harmony palette from an image or video frame.\n\nExtracts the dominant color and generates harmonious colors based on\ncolor theory (complementary"},{"name":"image_analyze_product","description":"Analyze a product image or video frame — extract colors and optionally generate AI description.\n\nExtracts dominant colors from an image. Optionally uses Claude "},{"name":"still_match","description":"Match a package of stills to a hero plate with one shared WB/exposure gain.\n\nDoes not overwrite sources. Writes matched stills + JSON receipt under output_dir.\n"},{"name":"still_grade","description":"Grade stills in order correct→match→look; optional 3D LUT applied last.\n\nSignal mode marks the LUT as signal-alignment (not film cosplay) and records\nnear-black"},{"name":"still_gate","description":"Fail-closed cohesion gate for a still package + contact sheet.\n\nChecks luma spread and shadow green/cyan wash. Returns passed=false with\nnamed metric/frame fail"},{"name":"image_edit","description":"Establish-locked still match with plan/receipt (intent is audit metadata).\n\nv1 pixel path is free establish mean-RGB match only; ``intent`` is required\nmetadata"},{"name":"still_package","description":"Multi-still package workflow: edit beats → match → grade → cohesion gate.\n\nArgs:\n    establish: Absolute establish/hero still.\n    beats: Absolute beat still pa"},{"name":"video_project_create","description":"Scaffold a cinematic video project with style, storyboard, and refs folders.\n\nArgs:\n    slug: Project slug using lowercase letters, numbers, hyphens, or undersc"},{"name":"style_pack_read","description":"Read STYLE_ and NEG_ blocks from a style.md file or project directory.\n\nArgs:\n    path: Absolute path to style.md or to a project directory containing style.md."},{"name":"storyboard_read","description":"Read a PUSHING CREATION storyboard table from storyboard.md or a project directory.\n\nArgs:\n    path: Absolute path to storyboard.md or to a project directory co"},{"name":"shot_prompt_render","description":"Expand one storyboard shot into prompt and negative_prompt strings.\n\nArgs:\n    project_path: Absolute path to a project directory containing style.md and storyb"},{"name":"hyperframes_render","description":"Render a Hyperframes composition to video.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Where to save the video"},{"name":"hyperframes_compositions","description":"List compositions in a Hyperframes project.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_preview","description":"Launch Hyperframes preview studio for live preview.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    port: Port for the preview "},{"name":"hyperframes_still","description":"Render a single frame as image from a Hyperframes composition.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Whe"},{"name":"hyperframes_snapshot","description":"Capture key frames as PNG screenshots for visual verification."},{"name":"hyperframes_inspect","description":"Inspect rendered composition layout for overflow and visual issues."},{"name":"hyperframes_info","description":"Print Hyperframes project metadata."},{"name":"hyperframes_catalog","description":"Browse Hyperframes catalog blocks/components."},{"name":"hyperframes_capture","description":"Capture a website as editable Hyperframes components."},{"name":"hyperframes_tts","description":"Generate speech audio or list available Hyperframes local TTS voices."},{"name":"hyperframes_transcribe","description":"Transcribe audio/video to word-level timestamps or import transcripts."},{"name":"hyperframes_remove_background","description":"Cut a person or a product out of a still or video.\n\nDefault model ``u2net_human_seg`` is people-only (talking heads).\nFor products, packaging, jewelry, bottles,"},{"name":"hyperframes_doctor","description":"Run Hyperframes environment diagnostics."},{"name":"hyperframes_benchmark","description":"Benchmark Hyperframes render speed and file size."},{"name":"hyperframes_init","description":"Scaffold a new Hyperframes project.\n\nArgs:\n    name: Project name.\n    output_dir: Directory to create the project in. Defaults to current directory.\n    templa"},{"name":"hyperframes_add_block","description":"Install a block from the Hyperframes catalog.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    block_name: Registry item name (e"},{"name":"hyperframes_validate","description":"Validate a Hyperframes project for rendering readiness.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_to_mcpvideo","description":"Render a Hyperframes composition and post-process with mcp-video in one step.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    p"},{"name":"video_record_motion_acceptance","description":"Record an authorized human caller's explicit whole-film motion attestation.\n\nThe caller must provide the exact source/report hashes, complete watched\nintervals "},{"name":"video_mix_audio","description":"Mix timed sounds with one AAC encode and stream-copy the primary picture.\n\nSounds is an array or JSON array of objects with path, start (seconds),\nvolume (linea"},{"name":"audio_synthesize","description":"Generate audio procedurally using synthesis.\n\nCreates WAV files from scratch using mathematical waveforms. No external audio\nfiles needed. Supports envelopes, r"},{"name":"audio_preset","description":"Generate preset sound design elements.\n\nPre-configured sound effects for common use cases. No external audio files needed.\n\nAvailable presets:\n- UI: ui-blip, ui"},{"name":"audio_sequence","description":"Compose multiple audio events into a timed sequence.\n\nCreates a layered audio track from multiple timed sound events.\n\nArgs:\n    sequence: List of audio events,"},{"name":"audio_compose","description":"Layer multiple audio tracks with volume mixing.\n\nMix multiple WAV files together with individual volume control.\n\nArgs:\n    tracks: List of track configs with:\n"},{"name":"audio_effects","description":"Apply audio effects chain to a WAV file.\n\nProcess audio through a chain of effects like reverb, filtering, normalization.\n\nArgs:\n    input_path: Absolute path t"},{"name":"video_add_generated_audio","description":"Add procedurally generated audio to a video.\n\nOne-shot convenience function to generate and add audio to video.\n\nArgs:\n    input_path: Absolute path to input vi"},{"name":"video_audio_spatial","description":"Apply 3D spatial audio positioning."},{"name":"video_duck_audio","description":"Mix background music under a video's voice with automatic ducking.\n\nThe video's own audio (voice/dialog) drives FFmpeg's sidechain compressor,\nso the music dips"},{"name":"video_audio_bed","description":"Mix a looped music bed under a voice source with ducking and loudness normalization.\n\nThe voice drives sidechain ducking and loudness normalization. A determini"},{"name":"effect_vignette","description":"Apply vignette effect - darkened edges.\n\nCreates a darkened border effect that draws attention to the center of the frame.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_chromatic_aberration","description":"Apply chromatic aberration - RGB channel separation.\n\nCreates a trendy RGB split effect popular in tech/glitch aesthetics.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_scanlines","description":"Apply CRT-style scanlines overlay.\n\nSimulates old CRT monitor scanline effect with optional flicker.\n\nArgs:\n    input_path: Absolute path to input video.\n    ou"},{"name":"effect_noise","description":"Apply film grain or digital noise.\n\nAdds texture noise to video for vintage or lo-fi aesthetics.\n\nArgs:\n    input_path: Absolute path to input video.\n    output"},{"name":"effect_glow","description":"Apply bloom/glow effect for highlights.\n\nCreates a soft glow around bright areas of the video.\n\nArgs:\n    input_path: Absolute path to input video.\n    output_p"},{"name":"video_layout_grid","description":"Create grid-based multi-video layout.\n\nArranges multiple videos in a grid pattern (2x2, 3x1, etc.).\n\nArgs:\n    clips: List of absolute paths to video files.\n   "},{"name":"video_layout_pip","description":"Picture-in-picture overlay.\n\nOverlay a smaller video on top of a main video.\n\nArgs:\n    main_path: Absolute path to main video.\n    pip_path: Absolute path to p"},{"name":"video_text_animated","description":"Add animated text to video.\n\nOverlay text with animation effects (fade, slide, etc.).\n\nArgs:\n    input_path: Absolute path to input video.\n    text: Text to dis"}],"toolCount":203,"toolsHash":"96d8aa8e13083fd7d1dd2e037938624f335b908008bbd18dd2ecb51553c65e9f","serverName":"kinocut","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.16.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T20:30:36.615Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":297,"error":null,"detail":{"tools":[{"name":"video_info","description":"Probe a video file for metadata. Returns JSON {success, info:{duration, resolution, codec, fps, size, ...}}. Use before any edit to learn the source's dimension"},{"name":"video_trim","description":"Trim a video clip by start time and duration. Returns JSON {success, output_path} pointing at the rendered clip. Use to cut a segment out of a longer video. Pas"},{"name":"video_merge","description":"Concatenate two or more existing video clips into one rendered output file. Returns JSON {success, output_path}. Use to join ordered clips into a single video. "},{"name":"video_add_text","description":"Overlay text on a video (titles, captions, watermarks). Returns JSON {success, output_path}. Use to burn a single text element into a video. Pass input_path as "},{"name":"video_add_texts","description":"Overlay multiple text elements on a video in a single FFmpeg pass.\n\nReturns JSON {success, output_path}. Use when one video needs several captions at once.\nPass"},{"name":"video_add_audio","description":"Add, replace, or mix an audio track into an existing video and render a new output file. Returns JSON {success, output_path}. Use to score or re-voice a video; "},{"name":"video_resize","description":"Resize a video or change its aspect ratio. Returns JSON {success, output_path}. Use to fit a video to target dimensions or a preset ratio. Pass input_path as th"},{"name":"video_convert","description":"Transcode a video into a different container or codec (mp4, webm, gif, mov, ...). Returns JSON {success, output_path}. Use for format conversion; prefer video_e"},{"name":"video_speed","description":"Render a new video with playback speed changed; the source video is left unchanged. Returns JSON {success, output_path}. Use for slow-motion or fast-forward eff"},{"name":"search_tools","description":"Find registered MCP tools by name, keyword, or a supported task phrase.\n\nReturns JSON {success, query, count, tools:[{name, description, required_params}]}.\nUse"},{"name":"video_ingest","description":"Ingest immutable source bytes into an existing or new private project."},{"name":"video_preflight","description":"Run unified technical, loudness, color, and decode preflight."},{"name":"video_inspect_temporal","description":"Build and persist the complete deterministic temporal evidence package."},{"name":"video_verdict","description":"Persist exact-asset analysis; approvals require active human evidence."},{"name":"video_acceptance_eval","description":"Evaluate exact-spec verdict and defect evidence without approving anything."},{"name":"video_body_swap","description":"Replace video while preserving approved audio with explicit duration policy."},{"name":"video_salvage","description":"Create one lineage-bound salvage derivative and a fresh review slot."},{"name":"video_thumbnail","description":"Extract a single frame (thumbnail / frame grab) from a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    timestamp: Time in seconds to extract"},{"name":"video_preview","description":"Generate a fast low-resolution preview for quick review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the preview. Au"},{"name":"video_storyboard","description":"Extract key frames and create a storyboard grid for human review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save fra"},{"name":"video_subtitles","description":"Burn subtitles (SRT/VTT/authored ASS) into a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    subtitle_path: Absolute path to the subtitle fi"},{"name":"video_watermark","description":"Overlay an image watermark onto an existing video and render a new output file. The video and watermark image are read only; output_path is created or overwritt"},{"name":"video_export","description":"Re-encode an existing video for final delivery using a quality preset and output format. Use this for publishing-ready renders; use video_convert when the main "},{"name":"video_crop","description":"Crop an existing video to a rectangular region or centered percentage crop and render a new output file. The source video is read only; x/y default to a centere"},{"name":"video_rotate","description":"Rotate and/or flip an existing video and render a new output file. Supports right-angle rotations plus horizontal and vertical flips; the input video is not mod"},{"name":"video_fade","description":"Render fade-in and/or fade-out effects onto an existing video without modifying the source file. Use fade_in for a fade from black at the start and fade_out for"},{"name":"video_edit","description":"Execute a full timeline-based edit from a JSON specification.\n\nThe timeline JSON describes video clips, audio tracks, text overlays,\nimage overlays, transitions"},{"name":"video_template_preview","description":"Preview what a video template would do before rendering.\n\nAnalyzes the template and returns a list of operations, estimated output\nduration, resolution, and fil"},{"name":"video_extract_audio","description":"Extract the audio track from a video file.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the audio file. Auto-generate"},{"name":"video_filter","description":"Apply a visual filter to a video.\n\nCommon presets:\n    - blur: params={\"radius\": 5, \"strength\": 1}\n    - color_preset: params={\"preset\": \"warm\"} (warm, cool, vi"},{"name":"video_luma_key","description":"Mask out dark regions based on luminance (brightness).\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Luminance threshold (0.0-1.0). Pi"},{"name":"video_shape_mask","description":"Apply a geometric shape mask to a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    shape: Shape to use — \"circle\", \"rounded_rect\", or \"oval\"."},{"name":"video_hls_segment","description":"Segment a video into HLS (HTTP Live Streaming) format.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save segments. Auto"},{"name":"video_reverse","description":"Reverse video and audio playback so it plays backwards.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the output. Auto"},{"name":"video_chroma_key","description":"Remove a solid color background (green screen / chroma key).\n\nArgs:\n    input_path: Absolute path to the input video.\n    color: Color to make transparent in he"},{"name":"video_normalize_audio","description":"Normalize audio loudness to a target LUFS level.\n\nCommon presets: -16 (YouTube), -23 (EBU R128/broadcast), -14 (Apple/Spotify).\n\nArgs:\n    input_path: Absolute "},{"name":"video_overlay","description":"Picture-in-picture: overlay a video on top of another.\n\nArgs:\n    background_path: Absolute path to the background video.\n    overlay_path: Absolute path to the"},{"name":"video_split_screen","description":"Place two videos side by side or top/bottom.\n\nArgs:\n    left_path: Absolute path to the first video.\n    right_path: Absolute path to the second video.\n    layo"},{"name":"video_detect_scenes","description":"Detect scene changes in a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Scene detection sensitivity (0.0-1.0, lower = more sens"},{"name":"video_create_from_images","description":"Create a video from a sequence of images.\n\nArgs:\n    images: List of absolute paths to image files (in order).\n    output_path: Where to save the output video. "},{"name":"video_export_frames","description":"Export frames from a video as individual images.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory for extracted frames. Auto-g"},{"name":"video_generate_subtitles","description":"Generate SRT subtitles from text entries and optionally burn into video.\n\nArgs:\n    entries: List of subtitle entries with keys: start (float), end (float), tex"},{"name":"video_compare_quality","description":"Compare video quality between original and processed versions.\n\nArgs:\n    original_path: Absolute path to the original/reference video.\n    distorted_path: Abso"},{"name":"video_read_metadata","description":"Read metadata tags from a video/audio file.\n\nArgs:\n    input_path: Absolute path to the video or audio file.\n"},{"name":"video_write_metadata","description":"Write metadata tags to a video/audio file.\n\nArgs:\n    input_path: Absolute path to the input file.\n    metadata: Dict of tag key-value pairs (e.g. {'title': 'My"},{"name":"video_stabilize","description":"Stabilize a shaky video using motion vector analysis.\n\nArgs:\n    input_path: Absolute path to the input video.\n    smoothing: Smoothing strength (default 15, hi"},{"name":"video_apply_mask","description":"Apply an image mask to a video with edge feathering.\n\nArgs:\n    input_path: Absolute path to the input video.\n    mask_path: Absolute path to the mask image (wh"},{"name":"video_audio_waveform","description":"Extract audio waveform data (peaks and silence regions).\n\nArgs:\n    input_path: Absolute path to the input video/audio file.\n    bins: Number of time segments t"},{"name":"video_batch","description":"Apply the same operation to multiple video files.\n\nArgs:\n    inputs: List of absolute paths to input video files.\n    operation: Operation (trim, resize, conver"},{"name":"video_cleanup","description":"Delete intermediate video files after a workflow.\n\nUseful for multi-step pipelines that leave temporary outputs.\nFiles in ``keep`` are preserved even if listed "},{"name":"video_composite_layers","description":"Composite ordered image/video layers from a JSON spec.\n\nSupports explicit straight/premultiplied input alpha, opacity, positioning,\ntransforms, timing windows, "},{"name":"image_extract_colors","description":"Extract dominant colors from an image or video frame.\n\nUses K-means clustering to find the most prominent colors. Returns hex codes,\nRGB values, CSS color names"},{"name":"image_generate_palette","description":"Generate a color harmony palette from an image or video frame.\n\nExtracts the dominant color and generates harmonious colors based on\ncolor theory (complementary"},{"name":"image_analyze_product","description":"Analyze a product image or video frame — extract colors and optionally generate AI description.\n\nExtracts dominant colors from an image. Optionally uses Claude "},{"name":"still_match","description":"Match a package of stills to a hero plate with one shared WB/exposure gain.\n\nDoes not overwrite sources. Writes matched stills + JSON receipt under output_dir.\n"},{"name":"still_grade","description":"Grade stills in order correct→match→look; optional 3D LUT applied last.\n\nSignal mode marks the LUT as signal-alignment (not film cosplay) and records\nnear-black"},{"name":"still_gate","description":"Fail-closed cohesion gate for a still package + contact sheet.\n\nChecks luma spread and shadow green/cyan wash. Returns passed=false with\nnamed metric/frame fail"},{"name":"image_edit","description":"Establish-locked still match with plan/receipt (intent is audit metadata).\n\nv1 pixel path is free establish mean-RGB match only; ``intent`` is required\nmetadata"},{"name":"still_package","description":"Multi-still package workflow: edit beats → match → grade → cohesion gate.\n\nArgs:\n    establish: Absolute establish/hero still.\n    beats: Absolute beat still pa"},{"name":"video_project_create","description":"Scaffold a cinematic video project with style, storyboard, and refs folders.\n\nArgs:\n    slug: Project slug using lowercase letters, numbers, hyphens, or undersc"},{"name":"style_pack_read","description":"Read STYLE_ and NEG_ blocks from a style.md file or project directory.\n\nArgs:\n    path: Absolute path to style.md or to a project directory containing style.md."},{"name":"storyboard_read","description":"Read a PUSHING CREATION storyboard table from storyboard.md or a project directory.\n\nArgs:\n    path: Absolute path to storyboard.md or to a project directory co"},{"name":"shot_prompt_render","description":"Expand one storyboard shot into prompt and negative_prompt strings.\n\nArgs:\n    project_path: Absolute path to a project directory containing style.md and storyb"},{"name":"hyperframes_render","description":"Render a Hyperframes composition to video.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Where to save the video"},{"name":"hyperframes_compositions","description":"List compositions in a Hyperframes project.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_preview","description":"Launch Hyperframes preview studio for live preview.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    port: Port for the preview "},{"name":"hyperframes_still","description":"Render a single frame as image from a Hyperframes composition.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Whe"},{"name":"hyperframes_snapshot","description":"Capture key frames as PNG screenshots for visual verification."},{"name":"hyperframes_inspect","description":"Inspect rendered composition layout for overflow and visual issues."},{"name":"hyperframes_info","description":"Print Hyperframes project metadata."},{"name":"hyperframes_catalog","description":"Browse Hyperframes catalog blocks/components."},{"name":"hyperframes_capture","description":"Capture a website as editable Hyperframes components."},{"name":"hyperframes_tts","description":"Generate speech audio or list available Hyperframes local TTS voices."},{"name":"hyperframes_transcribe","description":"Transcribe audio/video to word-level timestamps or import transcripts."},{"name":"hyperframes_remove_background","description":"Cut a person or a product out of a still or video.\n\nDefault model ``u2net_human_seg`` is people-only (talking heads).\nFor products, packaging, jewelry, bottles,"},{"name":"hyperframes_doctor","description":"Run Hyperframes environment diagnostics."},{"name":"hyperframes_benchmark","description":"Benchmark Hyperframes render speed and file size."},{"name":"hyperframes_init","description":"Scaffold a new Hyperframes project.\n\nArgs:\n    name: Project name.\n    output_dir: Directory to create the project in. Defaults to current directory.\n    templa"},{"name":"hyperframes_add_block","description":"Install a block from the Hyperframes catalog.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    block_name: Registry item name (e"},{"name":"hyperframes_validate","description":"Validate a Hyperframes project for rendering readiness.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_to_mcpvideo","description":"Render a Hyperframes composition and post-process with mcp-video in one step.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    p"},{"name":"video_record_motion_acceptance","description":"Record an authorized human caller's explicit whole-film motion attestation.\n\nThe caller must provide the exact source/report hashes, complete watched\nintervals "},{"name":"video_mix_audio","description":"Mix timed sounds with one AAC encode and stream-copy the primary picture.\n\nSounds is an array or JSON array of objects with path, start (seconds),\nvolume (linea"},{"name":"audio_synthesize","description":"Generate audio procedurally using synthesis.\n\nCreates WAV files from scratch using mathematical waveforms. No external audio\nfiles needed. Supports envelopes, r"},{"name":"audio_preset","description":"Generate preset sound design elements.\n\nPre-configured sound effects for common use cases. No external audio files needed.\n\nAvailable presets:\n- UI: ui-blip, ui"},{"name":"audio_sequence","description":"Compose multiple audio events into a timed sequence.\n\nCreates a layered audio track from multiple timed sound events.\n\nArgs:\n    sequence: List of audio events,"},{"name":"audio_compose","description":"Layer multiple audio tracks with volume mixing.\n\nMix multiple WAV files together with individual volume control.\n\nArgs:\n    tracks: List of track configs with:\n"},{"name":"audio_effects","description":"Apply audio effects chain to a WAV file.\n\nProcess audio through a chain of effects like reverb, filtering, normalization.\n\nArgs:\n    input_path: Absolute path t"},{"name":"video_add_generated_audio","description":"Add procedurally generated audio to a video.\n\nOne-shot convenience function to generate and add audio to video.\n\nArgs:\n    input_path: Absolute path to input vi"},{"name":"video_audio_spatial","description":"Apply 3D spatial audio positioning."},{"name":"video_duck_audio","description":"Mix background music under a video's voice with automatic ducking.\n\nThe video's own audio (voice/dialog) drives FFmpeg's sidechain compressor,\nso the music dips"},{"name":"video_audio_bed","description":"Mix a looped music bed under a voice source with ducking and loudness normalization.\n\nThe voice drives sidechain ducking and loudness normalization. A determini"},{"name":"effect_vignette","description":"Apply vignette effect - darkened edges.\n\nCreates a darkened border effect that draws attention to the center of the frame.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_chromatic_aberration","description":"Apply chromatic aberration - RGB channel separation.\n\nCreates a trendy RGB split effect popular in tech/glitch aesthetics.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_scanlines","description":"Apply CRT-style scanlines overlay.\n\nSimulates old CRT monitor scanline effect with optional flicker.\n\nArgs:\n    input_path: Absolute path to input video.\n    ou"},{"name":"effect_noise","description":"Apply film grain or digital noise.\n\nAdds texture noise to video for vintage or lo-fi aesthetics.\n\nArgs:\n    input_path: Absolute path to input video.\n    output"},{"name":"effect_glow","description":"Apply bloom/glow effect for highlights.\n\nCreates a soft glow around bright areas of the video.\n\nArgs:\n    input_path: Absolute path to input video.\n    output_p"},{"name":"video_layout_grid","description":"Create grid-based multi-video layout.\n\nArranges multiple videos in a grid pattern (2x2, 3x1, etc.).\n\nArgs:\n    clips: List of absolute paths to video files.\n   "},{"name":"video_layout_pip","description":"Picture-in-picture overlay.\n\nOverlay a smaller video on top of a main video.\n\nArgs:\n    main_path: Absolute path to main video.\n    pip_path: Absolute path to p"},{"name":"video_text_animated","description":"Add animated text to video.\n\nOverlay text with animation effects (fade, slide, etc.).\n\nArgs:\n    input_path: Absolute path to input video.\n    text: Text to dis"}],"toolCount":203,"toolsHash":"96d8aa8e13083fd7d1dd2e037938624f335b908008bbd18dd2ecb51553c65e9f","serverName":"kinocut","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.16.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T13:28:06.583Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":293,"error":null,"detail":{"tools":[{"name":"video_info","description":"Probe a video file for metadata. Returns JSON {success, info:{duration, resolution, codec, fps, size, ...}}. Use before any edit to learn the source's dimension"},{"name":"video_trim","description":"Trim a video clip by start time and duration. Returns JSON {success, output_path} pointing at the rendered clip. Use to cut a segment out of a longer video. Pas"},{"name":"video_merge","description":"Concatenate two or more existing video clips into one rendered output file. Returns JSON {success, output_path}. Use to join ordered clips into a single video. "},{"name":"video_add_text","description":"Overlay text on a video (titles, captions, watermarks). Returns JSON {success, output_path}. Use to burn a single text element into a video. Pass input_path as "},{"name":"video_add_texts","description":"Overlay multiple text elements on a video in a single FFmpeg pass.\n\nReturns JSON {success, output_path}. Use when one video needs several captions at once.\nPass"},{"name":"video_add_audio","description":"Add, replace, or mix an audio track into an existing video and render a new output file. Returns JSON {success, output_path}. Use to score or re-voice a video; "},{"name":"video_resize","description":"Resize a video or change its aspect ratio. Returns JSON {success, output_path}. Use to fit a video to target dimensions or a preset ratio. Pass input_path as th"},{"name":"video_convert","description":"Transcode a video into a different container or codec (mp4, webm, gif, mov, ...). Returns JSON {success, output_path}. Use for format conversion; prefer video_e"},{"name":"video_speed","description":"Render a new video with playback speed changed; the source video is left unchanged. Returns JSON {success, output_path}. Use for slow-motion or fast-forward eff"},{"name":"search_tools","description":"Find registered MCP tools by name, keyword, or a supported task phrase.\n\nReturns JSON {success, query, count, tools:[{name, description, required_params}]}.\nUse"},{"name":"video_ingest","description":"Ingest immutable source bytes into an existing or new private project."},{"name":"video_preflight","description":"Run unified technical, loudness, color, and decode preflight."},{"name":"video_inspect_temporal","description":"Build and persist the complete deterministic temporal evidence package."},{"name":"video_verdict","description":"Persist exact-asset analysis; approvals require active human evidence."},{"name":"video_acceptance_eval","description":"Evaluate exact-spec verdict and defect evidence without approving anything."},{"name":"video_body_swap","description":"Replace video while preserving approved audio with explicit duration policy."},{"name":"video_salvage","description":"Create one lineage-bound salvage derivative and a fresh review slot."},{"name":"video_thumbnail","description":"Extract a single frame (thumbnail / frame grab) from a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    timestamp: Time in seconds to extract"},{"name":"video_preview","description":"Generate a fast low-resolution preview for quick review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the preview. Au"},{"name":"video_storyboard","description":"Extract key frames and create a storyboard grid for human review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save fra"},{"name":"video_subtitles","description":"Burn subtitles (SRT/VTT/authored ASS) into a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    subtitle_path: Absolute path to the subtitle fi"},{"name":"video_watermark","description":"Overlay an image watermark onto an existing video and render a new output file. The video and watermark image are read only; output_path is created or overwritt"},{"name":"video_export","description":"Re-encode an existing video for final delivery using a quality preset and output format. Use this for publishing-ready renders; use video_convert when the main "},{"name":"video_crop","description":"Crop an existing video to a rectangular region or centered percentage crop and render a new output file. The source video is read only; x/y default to a centere"},{"name":"video_rotate","description":"Rotate and/or flip an existing video and render a new output file. Supports right-angle rotations plus horizontal and vertical flips; the input video is not mod"},{"name":"video_fade","description":"Render fade-in and/or fade-out effects onto an existing video without modifying the source file. Use fade_in for a fade from black at the start and fade_out for"},{"name":"video_edit","description":"Execute a full timeline-based edit from a JSON specification.\n\nThe timeline JSON describes video clips, audio tracks, text overlays,\nimage overlays, transitions"},{"name":"video_template_preview","description":"Preview what a video template would do before rendering.\n\nAnalyzes the template and returns a list of operations, estimated output\nduration, resolution, and fil"},{"name":"video_extract_audio","description":"Extract the audio track from a video file.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the audio file. Auto-generate"},{"name":"video_filter","description":"Apply a visual filter to a video.\n\nCommon presets:\n    - blur: params={\"radius\": 5, \"strength\": 1}\n    - color_preset: params={\"preset\": \"warm\"} (warm, cool, vi"},{"name":"video_luma_key","description":"Mask out dark regions based on luminance (brightness).\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Luminance threshold (0.0-1.0). Pi"},{"name":"video_shape_mask","description":"Apply a geometric shape mask to a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    shape: Shape to use — \"circle\", \"rounded_rect\", or \"oval\"."},{"name":"video_hls_segment","description":"Segment a video into HLS (HTTP Live Streaming) format.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save segments. Auto"},{"name":"video_reverse","description":"Reverse video and audio playback so it plays backwards.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the output. Auto"},{"name":"video_chroma_key","description":"Remove a solid color background (green screen / chroma key).\n\nArgs:\n    input_path: Absolute path to the input video.\n    color: Color to make transparent in he"},{"name":"video_normalize_audio","description":"Normalize audio loudness to a target LUFS level.\n\nCommon presets: -16 (YouTube), -23 (EBU R128/broadcast), -14 (Apple/Spotify).\n\nArgs:\n    input_path: Absolute "},{"name":"video_overlay","description":"Picture-in-picture: overlay a video on top of another.\n\nArgs:\n    background_path: Absolute path to the background video.\n    overlay_path: Absolute path to the"},{"name":"video_split_screen","description":"Place two videos side by side or top/bottom.\n\nArgs:\n    left_path: Absolute path to the first video.\n    right_path: Absolute path to the second video.\n    layo"},{"name":"video_detect_scenes","description":"Detect scene changes in a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Scene detection sensitivity (0.0-1.0, lower = more sens"},{"name":"video_create_from_images","description":"Create a video from a sequence of images.\n\nArgs:\n    images: List of absolute paths to image files (in order).\n    output_path: Where to save the output video. "},{"name":"video_export_frames","description":"Export frames from a video as individual images.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory for extracted frames. Auto-g"},{"name":"video_generate_subtitles","description":"Generate SRT subtitles from text entries and optionally burn into video.\n\nArgs:\n    entries: List of subtitle entries with keys: start (float), end (float), tex"},{"name":"video_compare_quality","description":"Compare video quality between original and processed versions.\n\nArgs:\n    original_path: Absolute path to the original/reference video.\n    distorted_path: Abso"},{"name":"video_read_metadata","description":"Read metadata tags from a video/audio file.\n\nArgs:\n    input_path: Absolute path to the video or audio file.\n"},{"name":"video_write_metadata","description":"Write metadata tags to a video/audio file.\n\nArgs:\n    input_path: Absolute path to the input file.\n    metadata: Dict of tag key-value pairs (e.g. {'title': 'My"},{"name":"video_stabilize","description":"Stabilize a shaky video using motion vector analysis.\n\nArgs:\n    input_path: Absolute path to the input video.\n    smoothing: Smoothing strength (default 15, hi"},{"name":"video_apply_mask","description":"Apply an image mask to a video with edge feathering.\n\nArgs:\n    input_path: Absolute path to the input video.\n    mask_path: Absolute path to the mask image (wh"},{"name":"video_audio_waveform","description":"Extract audio waveform data (peaks and silence regions).\n\nArgs:\n    input_path: Absolute path to the input video/audio file.\n    bins: Number of time segments t"},{"name":"video_batch","description":"Apply the same operation to multiple video files.\n\nArgs:\n    inputs: List of absolute paths to input video files.\n    operation: Operation (trim, resize, conver"},{"name":"video_cleanup","description":"Delete intermediate video files after a workflow.\n\nUseful for multi-step pipelines that leave temporary outputs.\nFiles in ``keep`` are preserved even if listed "},{"name":"video_composite_layers","description":"Composite ordered image/video layers from a JSON spec.\n\nSupports explicit straight/premultiplied input alpha, opacity, positioning,\ntransforms, timing windows, "},{"name":"image_extract_colors","description":"Extract dominant colors from an image or video frame.\n\nUses K-means clustering to find the most prominent colors. Returns hex codes,\nRGB values, CSS color names"},{"name":"image_generate_palette","description":"Generate a color harmony palette from an image or video frame.\n\nExtracts the dominant color and generates harmonious colors based on\ncolor theory (complementary"},{"name":"image_analyze_product","description":"Analyze a product image or video frame — extract colors and optionally generate AI description.\n\nExtracts dominant colors from an image. Optionally uses Claude "},{"name":"still_match","description":"Match a package of stills to a hero plate with one shared WB/exposure gain.\n\nDoes not overwrite sources. Writes matched stills + JSON receipt under output_dir.\n"},{"name":"still_grade","description":"Grade stills in order correct→match→look; optional 3D LUT applied last.\n\nSignal mode marks the LUT as signal-alignment (not film cosplay) and records\nnear-black"},{"name":"still_gate","description":"Fail-closed cohesion gate for a still package + contact sheet.\n\nChecks luma spread and shadow green/cyan wash. Returns passed=false with\nnamed metric/frame fail"},{"name":"image_edit","description":"Establish-locked still match with plan/receipt (intent is audit metadata).\n\nv1 pixel path is free establish mean-RGB match only; ``intent`` is required\nmetadata"},{"name":"still_package","description":"Multi-still package workflow: edit beats → match → grade → cohesion gate.\n\nArgs:\n    establish: Absolute establish/hero still.\n    beats: Absolute beat still pa"},{"name":"video_project_create","description":"Scaffold a cinematic video project with style, storyboard, and refs folders.\n\nArgs:\n    slug: Project slug using lowercase letters, numbers, hyphens, or undersc"},{"name":"style_pack_read","description":"Read STYLE_ and NEG_ blocks from a style.md file or project directory.\n\nArgs:\n    path: Absolute path to style.md or to a project directory containing style.md."},{"name":"storyboard_read","description":"Read a PUSHING CREATION storyboard table from storyboard.md or a project directory.\n\nArgs:\n    path: Absolute path to storyboard.md or to a project directory co"},{"name":"shot_prompt_render","description":"Expand one storyboard shot into prompt and negative_prompt strings.\n\nArgs:\n    project_path: Absolute path to a project directory containing style.md and storyb"},{"name":"hyperframes_render","description":"Render a Hyperframes composition to video.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Where to save the video"},{"name":"hyperframes_compositions","description":"List compositions in a Hyperframes project.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_preview","description":"Launch Hyperframes preview studio for live preview.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    port: Port for the preview "},{"name":"hyperframes_still","description":"Render a single frame as image from a Hyperframes composition.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Whe"},{"name":"hyperframes_snapshot","description":"Capture key frames as PNG screenshots for visual verification."},{"name":"hyperframes_inspect","description":"Inspect rendered composition layout for overflow and visual issues."},{"name":"hyperframes_info","description":"Print Hyperframes project metadata."},{"name":"hyperframes_catalog","description":"Browse Hyperframes catalog blocks/components."},{"name":"hyperframes_capture","description":"Capture a website as editable Hyperframes components."},{"name":"hyperframes_tts","description":"Generate speech audio or list available Hyperframes local TTS voices."},{"name":"hyperframes_transcribe","description":"Transcribe audio/video to word-level timestamps or import transcripts."},{"name":"hyperframes_remove_background","description":"Cut a person or a product out of a still or video.\n\nDefault model ``u2net_human_seg`` is people-only (talking heads).\nFor products, packaging, jewelry, bottles,"},{"name":"hyperframes_doctor","description":"Run Hyperframes environment diagnostics."},{"name":"hyperframes_benchmark","description":"Benchmark Hyperframes render speed and file size."},{"name":"hyperframes_init","description":"Scaffold a new Hyperframes project.\n\nArgs:\n    name: Project name.\n    output_dir: Directory to create the project in. Defaults to current directory.\n    templa"},{"name":"hyperframes_add_block","description":"Install a block from the Hyperframes catalog.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    block_name: Registry item name (e"},{"name":"hyperframes_validate","description":"Validate a Hyperframes project for rendering readiness.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_to_mcpvideo","description":"Render a Hyperframes composition and post-process with mcp-video in one step.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    p"},{"name":"video_record_motion_acceptance","description":"Record an authorized human caller's explicit whole-film motion attestation.\n\nThe caller must provide the exact source/report hashes, complete watched\nintervals "},{"name":"video_mix_audio","description":"Mix timed sounds with one AAC encode and stream-copy the primary picture.\n\nSounds is an array or JSON array of objects with path, start (seconds),\nvolume (linea"},{"name":"audio_synthesize","description":"Generate audio procedurally using synthesis.\n\nCreates WAV files from scratch using mathematical waveforms. No external audio\nfiles needed. Supports envelopes, r"},{"name":"audio_preset","description":"Generate preset sound design elements.\n\nPre-configured sound effects for common use cases. No external audio files needed.\n\nAvailable presets:\n- UI: ui-blip, ui"},{"name":"audio_sequence","description":"Compose multiple audio events into a timed sequence.\n\nCreates a layered audio track from multiple timed sound events.\n\nArgs:\n    sequence: List of audio events,"},{"name":"audio_compose","description":"Layer multiple audio tracks with volume mixing.\n\nMix multiple WAV files together with individual volume control.\n\nArgs:\n    tracks: List of track configs with:\n"},{"name":"audio_effects","description":"Apply audio effects chain to a WAV file.\n\nProcess audio through a chain of effects like reverb, filtering, normalization.\n\nArgs:\n    input_path: Absolute path t"},{"name":"video_add_generated_audio","description":"Add procedurally generated audio to a video.\n\nOne-shot convenience function to generate and add audio to video.\n\nArgs:\n    input_path: Absolute path to input vi"},{"name":"video_audio_spatial","description":"Apply 3D spatial audio positioning."},{"name":"video_duck_audio","description":"Mix background music under a video's voice with automatic ducking.\n\nThe video's own audio (voice/dialog) drives FFmpeg's sidechain compressor,\nso the music dips"},{"name":"video_audio_bed","description":"Mix a looped music bed under a voice source with ducking and loudness normalization.\n\nThe voice drives sidechain ducking and loudness normalization. A determini"},{"name":"effect_vignette","description":"Apply vignette effect - darkened edges.\n\nCreates a darkened border effect that draws attention to the center of the frame.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_chromatic_aberration","description":"Apply chromatic aberration - RGB channel separation.\n\nCreates a trendy RGB split effect popular in tech/glitch aesthetics.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_scanlines","description":"Apply CRT-style scanlines overlay.\n\nSimulates old CRT monitor scanline effect with optional flicker.\n\nArgs:\n    input_path: Absolute path to input video.\n    ou"},{"name":"effect_noise","description":"Apply film grain or digital noise.\n\nAdds texture noise to video for vintage or lo-fi aesthetics.\n\nArgs:\n    input_path: Absolute path to input video.\n    output"},{"name":"effect_glow","description":"Apply bloom/glow effect for highlights.\n\nCreates a soft glow around bright areas of the video.\n\nArgs:\n    input_path: Absolute path to input video.\n    output_p"},{"name":"video_layout_grid","description":"Create grid-based multi-video layout.\n\nArranges multiple videos in a grid pattern (2x2, 3x1, etc.).\n\nArgs:\n    clips: List of absolute paths to video files.\n   "},{"name":"video_layout_pip","description":"Picture-in-picture overlay.\n\nOverlay a smaller video on top of a main video.\n\nArgs:\n    main_path: Absolute path to main video.\n    pip_path: Absolute path to p"},{"name":"video_text_animated","description":"Add animated text to video.\n\nOverlay text with animation effects (fade, slide, etc.).\n\nArgs:\n    input_path: Absolute path to input video.\n    text: Text to dis"}],"toolCount":203,"toolsHash":"96d8aa8e13083fd7d1dd2e037938624f335b908008bbd18dd2ecb51553c65e9f","serverName":"kinocut","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.16.1","protocolVersion":"2025-06-18"}},{"at":"2026-10-19T06:26:38.863Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":281,"error":null,"detail":{"tools":[{"name":"video_info","description":"Probe a video file for metadata. Returns JSON {success, info:{duration, resolution, codec, fps, size, ...}}. Use before any edit to learn the source's dimension"},{"name":"video_trim","description":"Trim a video clip by start time and duration. Returns JSON {success, output_path} pointing at the rendered clip. Use to cut a segment out of a longer video. Pas"},{"name":"video_merge","description":"Concatenate two or more existing video clips into one rendered output file. Returns JSON {success, output_path}. Use to join ordered clips into a single video. "},{"name":"video_add_text","description":"Overlay text on a video (titles, captions, watermarks). Returns JSON {success, output_path}. Use to burn a single text element into a video. Pass input_path as "},{"name":"video_add_texts","description":"Overlay multiple text elements on a video in a single FFmpeg pass.\n\nReturns JSON {success, output_path}. Use when one video needs several captions at once.\nPass"},{"name":"video_add_audio","description":"Add, replace, or mix an audio track into an existing video and render a new output file. Returns JSON {success, output_path}. Use to score or re-voice a video; "},{"name":"video_resize","description":"Resize a video or change its aspect ratio. Returns JSON {success, output_path}. Use to fit a video to target dimensions or a preset ratio. Pass input_path as th"},{"name":"video_convert","description":"Transcode a video into a different container or codec (mp4, webm, gif, mov, ...). Returns JSON {success, output_path}. Use for format conversion; prefer video_e"},{"name":"video_speed","description":"Render a new video with playback speed changed; the source video is left unchanged. Returns JSON {success, output_path}. Use for slow-motion or fast-forward eff"},{"name":"search_tools","description":"Find registered MCP tools by name, keyword, or a supported task phrase.\n\nReturns JSON {success, query, count, tools:[{name, description, required_params}]}.\nUse"},{"name":"video_ingest","description":"Ingest immutable source bytes into an existing or new private project."},{"name":"video_preflight","description":"Run unified technical, loudness, color, and decode preflight."},{"name":"video_inspect_temporal","description":"Build and persist the complete deterministic temporal evidence package."},{"name":"video_verdict","description":"Persist exact-asset analysis; approvals require active human evidence."},{"name":"video_acceptance_eval","description":"Evaluate exact-spec verdict and defect evidence without approving anything."},{"name":"video_body_swap","description":"Replace video while preserving approved audio with explicit duration policy."},{"name":"video_salvage","description":"Create one lineage-bound salvage derivative and a fresh review slot."},{"name":"video_thumbnail","description":"Extract a single frame (thumbnail / frame grab) from a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    timestamp: Time in seconds to extract"},{"name":"video_preview","description":"Generate a fast low-resolution preview for quick review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the preview. Au"},{"name":"video_storyboard","description":"Extract key frames and create a storyboard grid for human review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save fra"},{"name":"video_subtitles","description":"Burn subtitles (SRT/VTT/authored ASS) into a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    subtitle_path: Absolute path to the subtitle fi"},{"name":"video_watermark","description":"Overlay an image watermark onto an existing video and render a new output file. The video and watermark image are read only; output_path is created or overwritt"},{"name":"video_export","description":"Re-encode an existing video for final delivery using a quality preset and output format. Use this for publishing-ready renders; use video_convert when the main "},{"name":"video_crop","description":"Crop an existing video to a rectangular region or centered percentage crop and render a new output file. The source video is read only; x/y default to a centere"},{"name":"video_rotate","description":"Rotate and/or flip an existing video and render a new output file. Supports right-angle rotations plus horizontal and vertical flips; the input video is not mod"},{"name":"video_fade","description":"Render fade-in and/or fade-out effects onto an existing video without modifying the source file. Use fade_in for a fade from black at the start and fade_out for"},{"name":"video_edit","description":"Execute a full timeline-based edit from a JSON specification.\n\nThe timeline JSON describes video clips, audio tracks, text overlays,\nimage overlays, transitions"},{"name":"video_template_preview","description":"Preview what a video template would do before rendering.\n\nAnalyzes the template and returns a list of operations, estimated output\nduration, resolution, and fil"},{"name":"video_extract_audio","description":"Extract the audio track from a video file.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the audio file. Auto-generate"},{"name":"video_filter","description":"Apply a visual filter to a video.\n\nCommon presets:\n    - blur: params={\"radius\": 5, \"strength\": 1}\n    - color_preset: params={\"preset\": \"warm\"} (warm, cool, vi"},{"name":"video_luma_key","description":"Mask out dark regions based on luminance (brightness).\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Luminance threshold (0.0-1.0). Pi"},{"name":"video_shape_mask","description":"Apply a geometric shape mask to a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    shape: Shape to use — \"circle\", \"rounded_rect\", or \"oval\"."},{"name":"video_hls_segment","description":"Segment a video into HLS (HTTP Live Streaming) format.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save segments. Auto"},{"name":"video_reverse","description":"Reverse video and audio playback so it plays backwards.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the output. Auto"},{"name":"video_chroma_key","description":"Remove a solid color background (green screen / chroma key).\n\nArgs:\n    input_path: Absolute path to the input video.\n    color: Color to make transparent in he"},{"name":"video_normalize_audio","description":"Normalize audio loudness to a target LUFS level.\n\nCommon presets: -16 (YouTube), -23 (EBU R128/broadcast), -14 (Apple/Spotify).\n\nArgs:\n    input_path: Absolute "},{"name":"video_overlay","description":"Picture-in-picture: overlay a video on top of another.\n\nArgs:\n    background_path: Absolute path to the background video.\n    overlay_path: Absolute path to the"},{"name":"video_split_screen","description":"Place two videos side by side or top/bottom.\n\nArgs:\n    left_path: Absolute path to the first video.\n    right_path: Absolute path to the second video.\n    layo"},{"name":"video_detect_scenes","description":"Detect scene changes in a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Scene detection sensitivity (0.0-1.0, lower = more sens"},{"name":"video_create_from_images","description":"Create a video from a sequence of images.\n\nArgs:\n    images: List of absolute paths to image files (in order).\n    output_path: Where to save the output video. "},{"name":"video_export_frames","description":"Export frames from a video as individual images.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory for extracted frames. Auto-g"},{"name":"video_generate_subtitles","description":"Generate SRT subtitles from text entries and optionally burn into video.\n\nArgs:\n    entries: List of subtitle entries with keys: start (float), end (float), tex"},{"name":"video_compare_quality","description":"Compare video quality between original and processed versions.\n\nArgs:\n    original_path: Absolute path to the original/reference video.\n    distorted_path: Abso"},{"name":"video_read_metadata","description":"Read metadata tags from a video/audio file.\n\nArgs:\n    input_path: Absolute path to the video or audio file.\n"},{"name":"video_write_metadata","description":"Write metadata tags to a video/audio file.\n\nArgs:\n    input_path: Absolute path to the input file.\n    metadata: Dict of tag key-value pairs (e.g. {'title': 'My"},{"name":"video_stabilize","description":"Stabilize a shaky video using motion vector analysis.\n\nArgs:\n    input_path: Absolute path to the input video.\n    smoothing: Smoothing strength (default 15, hi"},{"name":"video_apply_mask","description":"Apply an image mask to a video with edge feathering.\n\nArgs:\n    input_path: Absolute path to the input video.\n    mask_path: Absolute path to the mask image (wh"},{"name":"video_audio_waveform","description":"Extract audio waveform data (peaks and silence regions).\n\nArgs:\n    input_path: Absolute path to the input video/audio file.\n    bins: Number of time segments t"},{"name":"video_batch","description":"Apply the same operation to multiple video files.\n\nArgs:\n    inputs: List of absolute paths to input video files.\n    operation: Operation (trim, resize, conver"},{"name":"video_cleanup","description":"Delete intermediate video files after a workflow.\n\nUseful for multi-step pipelines that leave temporary outputs.\nFiles in ``keep`` are preserved even if listed "},{"name":"video_composite_layers","description":"Composite ordered image/video layers from a JSON spec.\n\nSupports explicit straight/premultiplied input alpha, opacity, positioning,\ntransforms, timing windows, "},{"name":"image_extract_colors","description":"Extract dominant colors from an image or video frame.\n\nUses K-means clustering to find the most prominent colors. Returns hex codes,\nRGB values, CSS color names"},{"name":"image_generate_palette","description":"Generate a color harmony palette from an image or video frame.\n\nExtracts the dominant color and generates harmonious colors based on\ncolor theory (complementary"},{"name":"image_analyze_product","description":"Analyze a product image or video frame — extract colors and optionally generate AI description.\n\nExtracts dominant colors from an image. Optionally uses Claude "},{"name":"still_match","description":"Match a package of stills to a hero plate with one shared WB/exposure gain.\n\nDoes not overwrite sources. Writes matched stills + JSON receipt under output_dir.\n"},{"name":"still_grade","description":"Grade stills in order correct→match→look; optional 3D LUT applied last.\n\nSignal mode marks the LUT as signal-alignment (not film cosplay) and records\nnear-black"},{"name":"still_gate","description":"Fail-closed cohesion gate for a still package + contact sheet.\n\nChecks luma spread and shadow green/cyan wash. Returns passed=false with\nnamed metric/frame fail"},{"name":"image_edit","description":"Establish-locked still match with plan/receipt (intent is audit metadata).\n\nv1 pixel path is free establish mean-RGB match only; ``intent`` is required\nmetadata"},{"name":"still_package","description":"Multi-still package workflow: edit beats → match → grade → cohesion gate.\n\nArgs:\n    establish: Absolute establish/hero still.\n    beats: Absolute beat still pa"},{"name":"video_project_create","description":"Scaffold a cinematic video project with style, storyboard, and refs folders.\n\nArgs:\n    slug: Project slug using lowercase letters, numbers, hyphens, or undersc"},{"name":"style_pack_read","description":"Read STYLE_ and NEG_ blocks from a style.md file or project directory.\n\nArgs:\n    path: Absolute path to style.md or to a project directory containing style.md."},{"name":"storyboard_read","description":"Read a PUSHING CREATION storyboard table from storyboard.md or a project directory.\n\nArgs:\n    path: Absolute path to storyboard.md or to a project directory co"},{"name":"shot_prompt_render","description":"Expand one storyboard shot into prompt and negative_prompt strings.\n\nArgs:\n    project_path: Absolute path to a project directory containing style.md and storyb"},{"name":"hyperframes_render","description":"Render a Hyperframes composition to video.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Where to save the video"},{"name":"hyperframes_compositions","description":"List compositions in a Hyperframes project.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_preview","description":"Launch Hyperframes preview studio for live preview.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    port: Port for the preview "},{"name":"hyperframes_still","description":"Render a single frame as image from a Hyperframes composition.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Whe"},{"name":"hyperframes_snapshot","description":"Capture key frames as PNG screenshots for visual verification."},{"name":"hyperframes_inspect","description":"Inspect rendered composition layout for overflow and visual issues."},{"name":"hyperframes_info","description":"Print Hyperframes project metadata."},{"name":"hyperframes_catalog","description":"Browse Hyperframes catalog blocks/components."},{"name":"hyperframes_capture","description":"Capture a website as editable Hyperframes components."},{"name":"hyperframes_tts","description":"Generate speech audio or list available Hyperframes local TTS voices."},{"name":"hyperframes_transcribe","description":"Transcribe audio/video to word-level timestamps or import transcripts."},{"name":"hyperframes_remove_background","description":"Cut a person or a product out of a still or video.\n\nDefault model ``u2net_human_seg`` is people-only (talking heads).\nFor products, packaging, jewelry, bottles,"},{"name":"hyperframes_doctor","description":"Run Hyperframes environment diagnostics."},{"name":"hyperframes_benchmark","description":"Benchmark Hyperframes render speed and file size."},{"name":"hyperframes_init","description":"Scaffold a new Hyperframes project.\n\nArgs:\n    name: Project name.\n    output_dir: Directory to create the project in. Defaults to current directory.\n    templa"},{"name":"hyperframes_add_block","description":"Install a block from the Hyperframes catalog.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    block_name: Registry item name (e"},{"name":"hyperframes_validate","description":"Validate a Hyperframes project for rendering readiness.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_to_mcpvideo","description":"Render a Hyperframes composition and post-process with mcp-video in one step.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    p"},{"name":"video_record_motion_acceptance","description":"Record an authorized human caller's explicit whole-film motion attestation.\n\nThe caller must provide the exact source/report hashes, complete watched\nintervals "},{"name":"video_mix_audio","description":"Mix timed sounds with one AAC encode and stream-copy the primary picture.\n\nSounds is an array or JSON array of objects with path, start (seconds),\nvolume (linea"},{"name":"audio_synthesize","description":"Generate audio procedurally using synthesis.\n\nCreates WAV files from scratch using mathematical waveforms. No external audio\nfiles needed. Supports envelopes, r"},{"name":"audio_preset","description":"Generate preset sound design elements.\n\nPre-configured sound effects for common use cases. No external audio files needed.\n\nAvailable presets:\n- UI: ui-blip, ui"},{"name":"audio_sequence","description":"Compose multiple audio events into a timed sequence.\n\nCreates a layered audio track from multiple timed sound events.\n\nArgs:\n    sequence: List of audio events,"},{"name":"audio_compose","description":"Layer multiple audio tracks with volume mixing.\n\nMix multiple WAV files together with individual volume control.\n\nArgs:\n    tracks: List of track configs with:\n"},{"name":"audio_effects","description":"Apply audio effects chain to a WAV file.\n\nProcess audio through a chain of effects like reverb, filtering, normalization.\n\nArgs:\n    input_path: Absolute path t"},{"name":"video_add_generated_audio","description":"Add procedurally generated audio to a video.\n\nOne-shot convenience function to generate and add audio to video.\n\nArgs:\n    input_path: Absolute path to input vi"},{"name":"video_audio_spatial","description":"Apply 3D spatial audio positioning."},{"name":"video_duck_audio","description":"Mix background music under a video's voice with automatic ducking.\n\nThe video's own audio (voice/dialog) drives FFmpeg's sidechain compressor,\nso the music dips"},{"name":"video_audio_bed","description":"Mix a looped music bed under a voice source with ducking and loudness normalization.\n\nThe voice drives sidechain ducking and loudness normalization. A determini"},{"name":"effect_vignette","description":"Apply vignette effect - darkened edges.\n\nCreates a darkened border effect that draws attention to the center of the frame.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_chromatic_aberration","description":"Apply chromatic aberration - RGB channel separation.\n\nCreates a trendy RGB split effect popular in tech/glitch aesthetics.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_scanlines","description":"Apply CRT-style scanlines overlay.\n\nSimulates old CRT monitor scanline effect with optional flicker.\n\nArgs:\n    input_path: Absolute path to input video.\n    ou"},{"name":"effect_noise","description":"Apply film grain or digital noise.\n\nAdds texture noise to video for vintage or lo-fi aesthetics.\n\nArgs:\n    input_path: Absolute path to input video.\n    output"},{"name":"effect_glow","description":"Apply bloom/glow effect for highlights.\n\nCreates a soft glow around bright areas of the video.\n\nArgs:\n    input_path: Absolute path to input video.\n    output_p"},{"name":"video_layout_grid","description":"Create grid-based multi-video layout.\n\nArranges multiple videos in a grid pattern (2x2, 3x1, etc.).\n\nArgs:\n    clips: List of absolute paths to video files.\n   "},{"name":"video_layout_pip","description":"Picture-in-picture overlay.\n\nOverlay a smaller video on top of a main video.\n\nArgs:\n    main_path: Absolute path to main video.\n    pip_path: Absolute path to p"},{"name":"video_text_animated","description":"Add animated text to video.\n\nOverlay text with animation effects (fade, slide, etc.).\n\nArgs:\n    input_path: Absolute path to input video.\n    text: Text to dis"}],"toolCount":203,"toolsHash":"96d8aa8e13083fd7d1dd2e037938624f335b908008bbd18dd2ecb51553c65e9f","serverName":"kinocut","capabilities":["experimental","prompts","resources","tools"],"serverVersion":"1.16.1","protocolVersion":"2025-06-18"}}],"tools":[{"name":"video_info","description":"Probe a video file for metadata. Returns JSON {success, info:{duration, resolution, codec, fps, size, ...}}. Use before any edit to learn the source's dimension"},{"name":"video_trim","description":"Trim a video clip by start time and duration. Returns JSON {success, output_path} pointing at the rendered clip. Use to cut a segment out of a longer video. Pas"},{"name":"video_merge","description":"Concatenate two or more existing video clips into one rendered output file. Returns JSON {success, output_path}. Use to join ordered clips into a single video. "},{"name":"video_add_text","description":"Overlay text on a video (titles, captions, watermarks). Returns JSON {success, output_path}. Use to burn a single text element into a video. Pass input_path as "},{"name":"video_add_texts","description":"Overlay multiple text elements on a video in a single FFmpeg pass.\n\nReturns JSON {success, output_path}. Use when one video needs several captions at once.\nPass"},{"name":"video_add_audio","description":"Add, replace, or mix an audio track into an existing video and render a new output file. Returns JSON {success, output_path}. Use to score or re-voice a video; "},{"name":"video_resize","description":"Resize a video or change its aspect ratio. Returns JSON {success, output_path}. Use to fit a video to target dimensions or a preset ratio. Pass input_path as th"},{"name":"video_convert","description":"Transcode a video into a different container or codec (mp4, webm, gif, mov, ...). Returns JSON {success, output_path}. Use for format conversion; prefer video_e"},{"name":"video_speed","description":"Render a new video with playback speed changed; the source video is left unchanged. Returns JSON {success, output_path}. Use for slow-motion or fast-forward eff"},{"name":"search_tools","description":"Find registered MCP tools by name, keyword, or a supported task phrase.\n\nReturns JSON {success, query, count, tools:[{name, description, required_params}]}.\nUse"},{"name":"video_ingest","description":"Ingest immutable source bytes into an existing or new private project."},{"name":"video_preflight","description":"Run unified technical, loudness, color, and decode preflight."},{"name":"video_inspect_temporal","description":"Build and persist the complete deterministic temporal evidence package."},{"name":"video_verdict","description":"Persist exact-asset analysis; approvals require active human evidence."},{"name":"video_acceptance_eval","description":"Evaluate exact-spec verdict and defect evidence without approving anything."},{"name":"video_body_swap","description":"Replace video while preserving approved audio with explicit duration policy."},{"name":"video_salvage","description":"Create one lineage-bound salvage derivative and a fresh review slot."},{"name":"video_thumbnail","description":"Extract a single frame (thumbnail / frame grab) from a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    timestamp: Time in seconds to extract"},{"name":"video_preview","description":"Generate a fast low-resolution preview for quick review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the preview. Au"},{"name":"video_storyboard","description":"Extract key frames and create a storyboard grid for human review.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save fra"},{"name":"video_subtitles","description":"Burn subtitles (SRT/VTT/authored ASS) into a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    subtitle_path: Absolute path to the subtitle fi"},{"name":"video_watermark","description":"Overlay an image watermark onto an existing video and render a new output file. The video and watermark image are read only; output_path is created or overwritt"},{"name":"video_export","description":"Re-encode an existing video for final delivery using a quality preset and output format. Use this for publishing-ready renders; use video_convert when the main "},{"name":"video_crop","description":"Crop an existing video to a rectangular region or centered percentage crop and render a new output file. The source video is read only; x/y default to a centere"},{"name":"video_rotate","description":"Rotate and/or flip an existing video and render a new output file. Supports right-angle rotations plus horizontal and vertical flips; the input video is not mod"},{"name":"video_fade","description":"Render fade-in and/or fade-out effects onto an existing video without modifying the source file. Use fade_in for a fade from black at the start and fade_out for"},{"name":"video_edit","description":"Execute a full timeline-based edit from a JSON specification.\n\nThe timeline JSON describes video clips, audio tracks, text overlays,\nimage overlays, transitions"},{"name":"video_template_preview","description":"Preview what a video template would do before rendering.\n\nAnalyzes the template and returns a list of operations, estimated output\nduration, resolution, and fil"},{"name":"video_extract_audio","description":"Extract the audio track from a video file.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the audio file. Auto-generate"},{"name":"video_filter","description":"Apply a visual filter to a video.\n\nCommon presets:\n    - blur: params={\"radius\": 5, \"strength\": 1}\n    - color_preset: params={\"preset\": \"warm\"} (warm, cool, vi"},{"name":"video_luma_key","description":"Mask out dark regions based on luminance (brightness).\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Luminance threshold (0.0-1.0). Pi"},{"name":"video_shape_mask","description":"Apply a geometric shape mask to a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    shape: Shape to use — \"circle\", \"rounded_rect\", or \"oval\"."},{"name":"video_hls_segment","description":"Segment a video into HLS (HTTP Live Streaming) format.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory to save segments. Auto"},{"name":"video_reverse","description":"Reverse video and audio playback so it plays backwards.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_path: Where to save the output. Auto"},{"name":"video_chroma_key","description":"Remove a solid color background (green screen / chroma key).\n\nArgs:\n    input_path: Absolute path to the input video.\n    color: Color to make transparent in he"},{"name":"video_normalize_audio","description":"Normalize audio loudness to a target LUFS level.\n\nCommon presets: -16 (YouTube), -23 (EBU R128/broadcast), -14 (Apple/Spotify).\n\nArgs:\n    input_path: Absolute "},{"name":"video_overlay","description":"Picture-in-picture: overlay a video on top of another.\n\nArgs:\n    background_path: Absolute path to the background video.\n    overlay_path: Absolute path to the"},{"name":"video_split_screen","description":"Place two videos side by side or top/bottom.\n\nArgs:\n    left_path: Absolute path to the first video.\n    right_path: Absolute path to the second video.\n    layo"},{"name":"video_detect_scenes","description":"Detect scene changes in a video.\n\nArgs:\n    input_path: Absolute path to the input video.\n    threshold: Scene detection sensitivity (0.0-1.0, lower = more sens"},{"name":"video_create_from_images","description":"Create a video from a sequence of images.\n\nArgs:\n    images: List of absolute paths to image files (in order).\n    output_path: Where to save the output video. "},{"name":"video_export_frames","description":"Export frames from a video as individual images.\n\nArgs:\n    input_path: Absolute path to the input video.\n    output_dir: Directory for extracted frames. Auto-g"},{"name":"video_generate_subtitles","description":"Generate SRT subtitles from text entries and optionally burn into video.\n\nArgs:\n    entries: List of subtitle entries with keys: start (float), end (float), tex"},{"name":"video_compare_quality","description":"Compare video quality between original and processed versions.\n\nArgs:\n    original_path: Absolute path to the original/reference video.\n    distorted_path: Abso"},{"name":"video_read_metadata","description":"Read metadata tags from a video/audio file.\n\nArgs:\n    input_path: Absolute path to the video or audio file.\n"},{"name":"video_write_metadata","description":"Write metadata tags to a video/audio file.\n\nArgs:\n    input_path: Absolute path to the input file.\n    metadata: Dict of tag key-value pairs (e.g. {'title': 'My"},{"name":"video_stabilize","description":"Stabilize a shaky video using motion vector analysis.\n\nArgs:\n    input_path: Absolute path to the input video.\n    smoothing: Smoothing strength (default 15, hi"},{"name":"video_apply_mask","description":"Apply an image mask to a video with edge feathering.\n\nArgs:\n    input_path: Absolute path to the input video.\n    mask_path: Absolute path to the mask image (wh"},{"name":"video_audio_waveform","description":"Extract audio waveform data (peaks and silence regions).\n\nArgs:\n    input_path: Absolute path to the input video/audio file.\n    bins: Number of time segments t"},{"name":"video_batch","description":"Apply the same operation to multiple video files.\n\nArgs:\n    inputs: List of absolute paths to input video files.\n    operation: Operation (trim, resize, conver"},{"name":"video_cleanup","description":"Delete intermediate video files after a workflow.\n\nUseful for multi-step pipelines that leave temporary outputs.\nFiles in ``keep`` are preserved even if listed "},{"name":"video_composite_layers","description":"Composite ordered image/video layers from a JSON spec.\n\nSupports explicit straight/premultiplied input alpha, opacity, positioning,\ntransforms, timing windows, "},{"name":"image_extract_colors","description":"Extract dominant colors from an image or video frame.\n\nUses K-means clustering to find the most prominent colors. Returns hex codes,\nRGB values, CSS color names"},{"name":"image_generate_palette","description":"Generate a color harmony palette from an image or video frame.\n\nExtracts the dominant color and generates harmonious colors based on\ncolor theory (complementary"},{"name":"image_analyze_product","description":"Analyze a product image or video frame — extract colors and optionally generate AI description.\n\nExtracts dominant colors from an image. Optionally uses Claude "},{"name":"still_match","description":"Match a package of stills to a hero plate with one shared WB/exposure gain.\n\nDoes not overwrite sources. Writes matched stills + JSON receipt under output_dir.\n"},{"name":"still_grade","description":"Grade stills in order correct→match→look; optional 3D LUT applied last.\n\nSignal mode marks the LUT as signal-alignment (not film cosplay) and records\nnear-black"},{"name":"still_gate","description":"Fail-closed cohesion gate for a still package + contact sheet.\n\nChecks luma spread and shadow green/cyan wash. Returns passed=false with\nnamed metric/frame fail"},{"name":"image_edit","description":"Establish-locked still match with plan/receipt (intent is audit metadata).\n\nv1 pixel path is free establish mean-RGB match only; ``intent`` is required\nmetadata"},{"name":"still_package","description":"Multi-still package workflow: edit beats → match → grade → cohesion gate.\n\nArgs:\n    establish: Absolute establish/hero still.\n    beats: Absolute beat still pa"},{"name":"video_project_create","description":"Scaffold a cinematic video project with style, storyboard, and refs folders.\n\nArgs:\n    slug: Project slug using lowercase letters, numbers, hyphens, or undersc"},{"name":"style_pack_read","description":"Read STYLE_ and NEG_ blocks from a style.md file or project directory.\n\nArgs:\n    path: Absolute path to style.md or to a project directory containing style.md."},{"name":"storyboard_read","description":"Read a PUSHING CREATION storyboard table from storyboard.md or a project directory.\n\nArgs:\n    path: Absolute path to storyboard.md or to a project directory co"},{"name":"shot_prompt_render","description":"Expand one storyboard shot into prompt and negative_prompt strings.\n\nArgs:\n    project_path: Absolute path to a project directory containing style.md and storyb"},{"name":"hyperframes_render","description":"Render a Hyperframes composition to video.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Where to save the video"},{"name":"hyperframes_compositions","description":"List compositions in a Hyperframes project.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_preview","description":"Launch Hyperframes preview studio for live preview.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    port: Port for the preview "},{"name":"hyperframes_still","description":"Render a single frame as image from a Hyperframes composition.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    output_path: Whe"},{"name":"hyperframes_snapshot","description":"Capture key frames as PNG screenshots for visual verification."},{"name":"hyperframes_inspect","description":"Inspect rendered composition layout for overflow and visual issues."},{"name":"hyperframes_info","description":"Print Hyperframes project metadata."},{"name":"hyperframes_catalog","description":"Browse Hyperframes catalog blocks/components."},{"name":"hyperframes_capture","description":"Capture a website as editable Hyperframes components."},{"name":"hyperframes_tts","description":"Generate speech audio or list available Hyperframes local TTS voices."},{"name":"hyperframes_transcribe","description":"Transcribe audio/video to word-level timestamps or import transcripts."},{"name":"hyperframes_remove_background","description":"Cut a person or a product out of a still or video.\n\nDefault model ``u2net_human_seg`` is people-only (talking heads).\nFor products, packaging, jewelry, bottles,"},{"name":"hyperframes_doctor","description":"Run Hyperframes environment diagnostics."},{"name":"hyperframes_benchmark","description":"Benchmark Hyperframes render speed and file size."},{"name":"hyperframes_init","description":"Scaffold a new Hyperframes project.\n\nArgs:\n    name: Project name.\n    output_dir: Directory to create the project in. Defaults to current directory.\n    templa"},{"name":"hyperframes_add_block","description":"Install a block from the Hyperframes catalog.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    block_name: Registry item name (e"},{"name":"hyperframes_validate","description":"Validate a Hyperframes project for rendering readiness.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n"},{"name":"hyperframes_to_mcpvideo","description":"Render a Hyperframes composition and post-process with mcp-video in one step.\n\nArgs:\n    project_path: Absolute path to the Hyperframes project directory.\n    p"},{"name":"video_record_motion_acceptance","description":"Record an authorized human caller's explicit whole-film motion attestation.\n\nThe caller must provide the exact source/report hashes, complete watched\nintervals "},{"name":"video_mix_audio","description":"Mix timed sounds with one AAC encode and stream-copy the primary picture.\n\nSounds is an array or JSON array of objects with path, start (seconds),\nvolume (linea"},{"name":"audio_synthesize","description":"Generate audio procedurally using synthesis.\n\nCreates WAV files from scratch using mathematical waveforms. No external audio\nfiles needed. Supports envelopes, r"},{"name":"audio_preset","description":"Generate preset sound design elements.\n\nPre-configured sound effects for common use cases. No external audio files needed.\n\nAvailable presets:\n- UI: ui-blip, ui"},{"name":"audio_sequence","description":"Compose multiple audio events into a timed sequence.\n\nCreates a layered audio track from multiple timed sound events.\n\nArgs:\n    sequence: List of audio events,"},{"name":"audio_compose","description":"Layer multiple audio tracks with volume mixing.\n\nMix multiple WAV files together with individual volume control.\n\nArgs:\n    tracks: List of track configs with:\n"},{"name":"audio_effects","description":"Apply audio effects chain to a WAV file.\n\nProcess audio through a chain of effects like reverb, filtering, normalization.\n\nArgs:\n    input_path: Absolute path t"},{"name":"video_add_generated_audio","description":"Add procedurally generated audio to a video.\n\nOne-shot convenience function to generate and add audio to video.\n\nArgs:\n    input_path: Absolute path to input vi"},{"name":"video_audio_spatial","description":"Apply 3D spatial audio positioning."},{"name":"video_duck_audio","description":"Mix background music under a video's voice with automatic ducking.\n\nThe video's own audio (voice/dialog) drives FFmpeg's sidechain compressor,\nso the music dips"},{"name":"video_audio_bed","description":"Mix a looped music bed under a voice source with ducking and loudness normalization.\n\nThe voice drives sidechain ducking and loudness normalization. A determini"},{"name":"effect_vignette","description":"Apply vignette effect - darkened edges.\n\nCreates a darkened border effect that draws attention to the center of the frame.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_chromatic_aberration","description":"Apply chromatic aberration - RGB channel separation.\n\nCreates a trendy RGB split effect popular in tech/glitch aesthetics.\n\nArgs:\n    input_path: Absolute path "},{"name":"effect_scanlines","description":"Apply CRT-style scanlines overlay.\n\nSimulates old CRT monitor scanline effect with optional flicker.\n\nArgs:\n    input_path: Absolute path to input video.\n    ou"},{"name":"effect_noise","description":"Apply film grain or digital noise.\n\nAdds texture noise to video for vintage or lo-fi aesthetics.\n\nArgs:\n    input_path: Absolute path to input video.\n    output"},{"name":"effect_glow","description":"Apply bloom/glow effect for highlights.\n\nCreates a soft glow around bright areas of the video.\n\nArgs:\n    input_path: Absolute path to input video.\n    output_p"},{"name":"video_layout_grid","description":"Create grid-based multi-video layout.\n\nArranges multiple videos in a grid pattern (2x2, 3x1, etc.).\n\nArgs:\n    clips: List of absolute paths to video files.\n   "},{"name":"video_layout_pip","description":"Picture-in-picture overlay.\n\nOverlay a smaller video on top of a main video.\n\nArgs:\n    main_path: Absolute path to main video.\n    pip_path: Absolute path to p"},{"name":"video_text_animated","description":"Add animated text to video.\n\nOverlay text with animation effects (fade, slide, etc.).\n\nArgs:\n    input_path: Absolute path to input video.\n    text: Text to dis"}],"package":null,"toolSurface":{"id":"ts_5nv2398wga27","endpointId":"ep_gky8jvuqnak9","hash":"96d8aa8e13083fd7d1dd2e037938624f335b908008bbd18dd2ecb51553c65e9f","toolCount":200,"serverName":"kinocut","serverVersion":"1.16.1","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-14T16:31:10.419Z","lastSeenAt":"2026-10-21T00:28:43.917Z","observations":22,"toolNames":["video_info","video_trim","video_merge","video_add_text","video_add_texts","video_add_audio","video_resize","video_convert","video_speed","search_tools","video_ingest","video_preflight","video_inspect_temporal","video_verdict","video_acceptance_eval","video_body_swap","video_salvage","video_thumbnail","video_preview","video_storyboard","video_subtitles","video_watermark","video_export","video_crop","video_rotate","video_fade","video_edit","video_template_preview","video_extract_audio","video_filter","video_luma_key","video_shape_mask","video_hls_segment","video_reverse","video_chroma_key","video_normalize_audio","video_overlay","video_split_screen","video_detect_scenes","video_create_from_images","video_export_frames","video_generate_subtitles","video_compare_quality","video_read_metadata","video_write_metadata","video_stabilize","video_apply_mask","video_audio_waveform","video_batch","video_cleanup","video_composite_layers","image_extract_colors","image_generate_palette","image_analyze_product","still_match","still_grade","still_gate","image_edit","still_package","video_project_create","style_pack_read","storyboard_read","shot_prompt_render","hyperframes_render","hyperframes_compositions","hyperframes_preview","hyperframes_still","hyperframes_snapshot","hyperframes_inspect","hyperframes_info","hyperframes_catalog","hyperframes_capture","hyperframes_tts","hyperframes_transcribe","hyperframes_remove_background","hyperframes_doctor","hyperframes_benchmark","hyperframes_init","hyperframes_add_block","hyperframes_validate","hyperframes_to_mcpvideo","video_record_motion_acceptance","video_mix_audio","audio_synthesize","audio_preset","audio_sequence","audio_compose","audio_effects","video_add_generated_audio","video_audio_spatial","video_duck_audio","video_audio_bed","effect_vignette","effect_chromatic_aberration","effect_scanlines","effect_noise","effect_glow","video_layout_grid","video_layout_pip","video_text_animated","video_subtitles_styled","video_mograph_count","video_mograph_progress","video_info_detailed","video_auto_chapters","transition_glitch","transition_pixelate","transition_morph","glitch_rgb_shift","glitch_scanline_jitter","glitch_screen_tearing","glitch_vhs_tracking","glitch_macroblocking","glitch_datamoshing","glitch_cmyk_split","glitch_turbulent_displacement","glitch_digital_feedback","glitch_slit_scan","glitch_depth_splatting","glitch_point_cloud","video_ai_remove_silence","video_ai_transcribe","video_analyze","video_ai_scene_detect","video_ai_stem_separation","video_ai_upscale","video_ai_color_grade","video_quality_check","video_release_checkpoint","video_design_quality_check","video_fix_design_issues","video_find_moments","video_project_recipe_export","video_project_recipe_replay","video_intent","video_propose_broll","video_translate_captions","video_language_coverage","video_review_run","video_review_decide","video_propose_mutations","video_init_project","video_brand_kit","video_estimate_operation","video_cutfile_validate","video_cutfile_render","video_metric_qc","video_timeline_ir_validate","video_qc_vision","video_qc_narrative","video_generative_plan","video_otio_export","video_otio_import","video_review_ui","video_dub_plan","video_publish_validate","video_hook_candidates","video_audiogram_plan","video_punch_zoom_plan","video_seek_frame","video_edit_session","shorts_plan_show","shorts_review","shorts_render","shorts_package","sound_capabilities","sound_plan_validate","sound_voice_batch","sound_mix_render","sound_master_render","sound_qa_loudness","sound_qa_asr","video_repurpose_plan","video_repurpose","video_validate_text_layout","video_extract_frame","video_workflow_validate","video_workflow_plan","video_workflow_render","video_workflow_inspect","video_rescue_plan","video_rescue_render","video_rescue_inspect","video_semantic_timeline","video_semantic_query","video_timeline_edit_plan","video_visual_transform_plan","video_restoration_plan","video_composition_plan","video_creative_autopilot_plan","video_remote_egress_plan","video_review_package","video_publish_gate","video_review_decision","video_learning_report","video_cost_ledger","video_recipe_capture","video_capabilities","video_benchmark_run","revideo_materialize"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_gky8jvuqnak9","url":"https://mcp.kyanitelabs.tech/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-21T00:28:43.950Z","auth":{"observedAt":"2026-10-21T00:28:44.291Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-21T00:28:44.347Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"kyanitelabs.tech","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-10-06T10:09:48.000Z","validTo":"2027-01-04T11:09:32.000Z","daysToExpiry":71,"sanCount":2,"fingerprint256":"51:82:C9:9D:D4:16:62:99:FF:2F:9E:D7:3B:9F:21:6F:09:46:38:D6:78:4B:A9:51:57:AA:14:C0:77:C8:FD:1A"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"tech.kyanitelabs/kinocut","url":"https://registry.modelcontextprotocol.io/v0/servers/tech.kyanitelabs%2Fkinocut","firstSeenAt":"2026-10-14T16:22:20.779Z","fetchedAt":"2026-10-21T00:22:37.717Z","normalizedAt":"2026-10-21T00:22:37.717Z"}]},"firstSeenAt":"2026-10-14T16:22:20.779Z","updatedAt":"2026-10-21T00:35:22.167Z"}