Native Mac video editor your agent can drive: 83 timeline tools, media stays on your Mac.
Give your coding agent a real video editor.
klo is a native macOS video editor you talk to. This is its MCP server: Claude Code, Codex, Cursor, Claude Desktop, or any MCP client can drive the whole timeline, with 83 tools, while your footage never leaves your Mac.
127.0.0.1 only, requires a bearer token, and does nothing until you turn
it on in klo's settings.Download klo.mcpb and open it. Done.
claude mcp add --transport http klo http://127.0.0.1:41720/mcp \
--header "Authorization: Bearer YOUR_TOKEN"
Use the exact URL shown in klo's settings (the port can differ if 41720 is taken).
Either point the client at the HTTP endpoint above, or use this package as a stdio server:
{
"mcpServers": {
"klo": {
"command": "npx",
"args": ["-y", "klo-mcp"],
"env": { "KLO_MCP_TOKEN": "YOUR_TOKEN" }
}
}
}
Ask in plain language, or call tools directly. A few real prompts:
| group | tools |
|---|---|
| library | get_project_state, get_media_library, import_media, import_from_url, relink_to_sources, list_files, new_project |
| timeline | add_media_to_timeline, assemble_cut, insert_at, move_clip, split_clip, split_audio, trim_clip, delete_clips, ripple_delete, close_gaps, separate_audio, unlink_clip, link_clips, replace_audio, add_marker, set_in_out, set_track_lock, seek, verify_timeline |
| project | set_canvas_ratio, set_frame_rate, set_brand_kit |
| cuts | add_transition, remove_transition, preview_cut, generate_transition, refine_transition |
| type | add_text, update_text, add_captions_from_transcript, list_text_styles, list_fonts, search_fonts, use_font |
| motion | list_motion_templates, create_motion_clip, update_motion_clip |
| color | set_clip_grade, add_clip_effect, update_clip_effect, remove_clip_effect, list_luts, import_lut, set_clip_opacity, set_clip_blend |
| frame | set_clip_transform, set_clip_speed |
| audio | set_clip_audio, set_volume_envelope, duck_audio, analyze_audio, quantize_cuts_to_beats, isolate_voice_on_clip, measure_audio, measure_mix |
| generate | generate_music, generate_sfx, generate_voiceover, clone_voice_from_clip, fix_spoken_line, generate_video |
| read | get_transcript, find_repeated_takes, capture_frame, survey_footage, measure_frame, measure_clip |
| remember | write_footage_notes, get_footage_notes, analyze_reference, save_style_profile, list_style_profiles, apply_style_profile |
| out | delegate_research, web_search, export_video |
Driving the timeline over MCP is free: your agent brings its own model. The handful of tools that generate new media (music, voiceover, generated shots) use your klo account's credits, and the agent is told the price before it spends. New accounts get 10 free asks.
127.0.0.1 only. Nothing is exposed to the network."klo is running but is not accepting connections": turn the bridge on in
klo → Settings → Connections, then copy the token into KLO_MCP_TOKEN (or
the Authorization header for HTTP).
Port differs from 41720: klo falls back to an ephemeral port if the preferred one is taken. Always trust the URL shown in Settings.
This package is the thin connector; the editor itself is klo. The connector mirrors the copy bundled inside the app, and its major.minor version tracks the app release it shipped with.
Can Claude Code edit videos? With klo installed, yes. Claude Code connects to this server and gains cutting, captions, grading, generated music and voiceover, and ProRes export on a real timeline. See what agentic video editing is.
Is this an ffmpeg wrapper? No. Tools operate on klo's timeline (ripple edits, word-gap cuts, undo), and nothing is re-encoded between steps. Why that design.
Does my footage get uploaded? No. Media stays on the Mac; the server exchanges timeline operations and compact results. Details in klo's privacy policy.
What does it cost? Driving the timeline is free with your own model. Generation tools use klo account credits. Pricing.
MIT (this connector). klo is a product of klorah inc. getklo.com
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y klo-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"com-getklo-klo-mcp": {
"command": "npx",
"args": [
"-y",
"klo-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceklo-mcpnpmcom.getklo/klo-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.