SoloMD A markdown editor with a built-in MCP server. Bridge your notes to any LLM. Try it
unflick

Docs

Every feature is reachable from the GUI, the CLI, and the MCP server. The reference below covers all three.

Command names, flags, and JSON keys are kept in English so they match what you actually type. The surrounding explanations are translated.

Quick start

Install

Download the AI Edition installer and run it. Everything ships preconfigured — no PATH tweaks required.

Try it from a terminal

# Open a file
unflick play movie.mp4

# Save a screenshot of the current frame
unflick screenshot --output frame.png

# Cut a 30-second GIF starting at 00:01:00
unflick clip 60 90 --file movie.mp4 --gif

# Generate subtitles (AI edition: zero config)
unflick subtitle generate movie.mp4

Drop it into an AI client

Add this snippet to your MCP client config (Claude Desktop, Cursor, Codex CLI, etc.) and the agent gains 39 tools and 3 live resources to drive playback, generate subtitles, scan your library, and more.

{
  "mcpServers": {
    "unflick": {
      "command": "C:\\Users\\<you>\\AppData\\Local\\unflick\\unflick.exe",
      "args": ["--mcp"]
    }
  }
}

CLI reference

The CLI returns JSON on stdout for every command. Pipe through jq, parse it from a script, automate freely. Subcommands auto-launch the background daemon on first use.

Playback

unflick play <FILE> [--seek N] [--volume 0-100] [--speed N] Open a file and start playback. Resumes from saved position by default.
unflick pause Pause the currently playing file.
unflick resume Resume a paused file.
unflick stop Stop playback and save the current position.
unflick seek <SECONDS> Jump to an absolute position in seconds.
unflick volume <0-100> Set the volume level.
unflick speed <RATE> Set playback speed multiplier (e.g. 1.5).
unflick status Print current playback state as JSON.

Media tools

unflick info <FILE> Probe a file for duration, codecs, fps, container — without disrupting playback.
unflick screenshot [--output PATH] Save the current frame as a PNG.
unflick clip <START> <END> [--file PATH] [--output PATH] [--gif] Extract a segment to MP4 or animated GIF (uses bundled ffmpeg).

Tracks

unflick subtitle load <FILE> Load an external .srt / .ass / .sub file.
unflick subtitle list List embedded and external subtitle tracks.
unflick subtitle select <ID> Switch to a subtitle track (0 disables).
unflick subtitle generate <VIDEO> [--mode local|api] [--whisper PATH] [--model PATH] [--api-key KEY] AI-generate subtitles. Auto-detects bundled whisper in the AI edition.
unflick subtitle translate <SRT> --to <LANG> --api-key <KEY> Translate an SRT file via OpenAI.
unflick audio list List embedded audio tracks.
unflick audio select <ID> Switch to an audio track (0 disables).

Playlist

unflick playlist add <FILE> Append a file to the playlist.
unflick playlist remove <INDEX> Remove an entry by index.
unflick playlist list Show all playlist entries with the current track marked.
unflick playlist play <INDEX> Jump to a specific entry.
unflick playlist next Advance to the next track.
unflick playlist prev Go back to the previous track.
unflick playlist clear Remove all entries.

Library

unflick library scan <DIR> Scan a directory for video files into the SQLite library.
unflick library search <QUERY> Search the library by title or path.
unflick library list List every entry in the library.
unflick library remove <ID> Remove an entry by ID.

Filters

unflick filter list Show current values of brightness / contrast / saturation / gamma / hue.
unflick filter set <NAME> <-100..100> Adjust a single filter.
unflick filter reset Set every filter back to 0.

Settings

unflick settings path Print the absolute settings.json path.
unflick settings get [--key K] Print all settings, or a single key.
unflick settings set <KEY> <JSON-VALUE> Set a key (parses as JSON; falls back to string).
unflick settings unset <KEY> Remove a key.

Server

unflick daemon Start the background daemon explicitly. Other CLI commands auto-start it on first use.
unflick --mcp Start the MCP server over stdio. See the MCP section below.
unflick shutdown Stop the running daemon.

MCP reference

unflick exposes a Model Context Protocol server over stdio when launched with --mcp. Every CLI capability is also a tool, plus three subscribable resources for state.

Tools (39)

play Play a video file with optional seek/volume/speed.
pause Pause playback.
resume Resume playback.
stop Stop playback.
seek Seek to a position in seconds.
set_volume Set the volume (0-100).
set_speed Set playback speed.
get_status Read state, file, position, duration, volume, speed.
file_info Probe a media file (duration, resolution, codecs, fps, container).
load_subtitle Load an external subtitle file.
subtitle_list List subtitle tracks (embedded + external).
subtitle_select Switch subtitle track by ID (0 disables).
audio_list List embedded audio tracks.
audio_select Switch audio track by ID.
generate_subtitles Whisper-generate subtitles (local or OpenAI mode).
translate_subtitles Translate an SRT via OpenAI.
playlist_add Append a file to the playlist.
playlist_remove Remove a playlist entry by index.
playlist_list List playlist entries.
playlist_play Jump to a playlist entry by index.
playlist_next Advance to the next track.
playlist_prev Go back to the previous track.
playlist_clear Remove all entries.
library_scan Scan a directory for video files into the library.
library_search Search the library by title or path.
library_list List every entry.
library_remove Remove a library entry by ID.
screenshot Save the current frame as a PNG.
clip Extract a video segment to MP4 or GIF.
save_position Save a playback position for later resume.
get_position Look up the saved position for a file.
settings_path Get the path of settings.json.
settings_get Read all settings, or a single key.
settings_set Set a single settings key to any JSON value.
settings_unset Remove a settings key.
filter_list Read brightness/contrast/saturation/gamma/hue.
filter_set Set one of those filters to a value in -100..100.
filter_reset Reset all filters to 0.
shutdown Shut down the unflick daemon.

Resources (3)

unflick://now-playing Current playback state — file, position, duration, volume, speed.
unflick://playlist Current playlist with the active track marked.
unflick://library Every media file in the library.