Unflick
unflick
A free, ad-free video player — for humans and AI.
unflick.app · MIT · Cross-platform · CLI + MCP first
unflick plays your video files and your YouTube / Bilibili / Twitch / Vimeo / 26 other streaming-site URLs, in a beautiful native window. Auto-skips YouTube sponsor segments via SponsorBlock. Finds subtitles on OpenSubtitles, or generates them locally with whisper.cpp when none exist.
What makes it different: MCP is a built-in control surface, not a third-party wrapper. Other players can be scripted from the outside; in unflick the CLI, the MCP server and the window share one player instance. Ask Claude to skip to the next chapter and the video you are watching skips — same mpv, same playback, no second hidden process. Every feature ships headless before it gets a button.
Install
One-line install:
# macOS / Linux
curl -fsSL https://unflick.app/install.sh | bash
# Windows (PowerShell)
irm https://unflick.app/install.ps1 | iexOr pick an installer for your platform from the latest release:
Platform | File | Size |
Windows 10/11 (x64) |
| ~80 MB |
Windows 10/11 (x64), AI edition with bundled Whisper |
| ~150 MB |
macOS 11+ (Apple Silicon + Intel, signed + notarized) |
| ~15 MB |
Linux x86_64 (Debian / Ubuntu) |
| ~10 MB |
Linux x86_64 (Fedora / RHEL / openSUSE) |
| ~10 MB |
Linux x86_64 (distro-agnostic) |
| ~80 MB |
Related MCP server: klaket-mcp
Three interfaces, one core
unflick exposes the same playback engine through three surfaces:
GUI — modern player window with libmpv-quality playback, keyboard shortcuts, drag-and-drop, picture-in-picture, true fullscreen, chapters, bookmarks, A-B loop, frame stepping, subtitle timing and styling.
CLI — every feature is also a command.
unflick play <file-or-url>,unflick chapter next,unflick bookmark add --name "the good bit",unflick loop a,unflick subtitle auto,unflick audio eq preset speech,unflick clip 0 5,unflick library scan. Output is JSON; pipe it tojqand automate.MCP server —
unflick --mcpstarts a Model Context Protocol server over stdio. Add it to Claude Desktop / Cursor / Codex CLI's MCP config and your AI agent gets 87 tools (play, seek, chapter_seek, bookmark_goto, ab_loop, subtitle_delay, screenshot, clip, sponsor_segments, get_subtitles, equalizer_preset, generate_subtitles, library_search, …) plus live resources.
All three drive the same player. When the window is open it hosts the control port, so unflick pause from a terminal — or an agent calling pause over MCP — pauses the video on screen rather than some invisible second instance. With no window running, the CLI and MCP fall back to a headless daemon and everything still works.
What an agent can do that a wrapper can't
Because MCP talks to the player rather than at it, an agent gets tools that need the player's own state:
search_transcript/seek_to_text— "skip to where she explains the refund policy". Searches whatever subtitles are open: a loaded file, a sidecar.srt, an embedded track, or the ones you just generated with whisper.generate_chapters/set_chapters— give a file that shipped without chapters a real chapter list. It's not just data back: the chapters appear on the progress bar and respond tochapter_seekand PgUp/PgDn.describe_frame— hand the model the frame that's on screen right now, as an image. Same player, so it sees what you see.
Free, ad-free, local — by charter
unflick will never:
carry banner / pre-roll / "sponsored" ads
collect telemetry of any kind
require an account, login, or cloud connection
gate features behind a paid tier or trial countdown
bundle adware, browser hijackers, or "recommended" software at install time
Everything that matters runs on your machine. Library scans, subtitle transcription, AI rewriting — all local. Your files stay on your filesystem.
The SponsorBlock auto-skip for YouTube is the active form of "ad-free" — actively skipping ads in the content unflick plays, not just refusing to show its own.
License
unflick is released under the MIT License — see LICENSE.
unflick bundles, dynamically loads, or invokes the following third-party software at runtime. Each upstream license is enumerated in THIRD-PARTY-LICENSES.md, and the canonical license text for the LGPL/GPL/MPL-licensed components ships in the licenses/ directory of every installer:
libmpv — LGPL-2.1-or-later — dynamically loaded at runtime (source)
ffmpeg (Windows bundle) — GPL-3.0-or-later — invoked as a subprocess only (source)
yt-dlp — Unlicense (public domain) — invoked as a subprocess (source)
whisper.cpp (AI edition) — MIT — invoked as a subprocess (source)
Tauri + wry + mpv-player/mpv + glutin + objc2 + 590+ Rust crates — all MIT, Apache-2.0, ISC, BSD, MPL-2.0, or Unicode-3.0 (full breakdown)
React 18, Zustand, Framer Motion, Tailwind, Vite — MIT
See THIRD-PARTY-LICENSES.md for the complete attribution and compliance notes (subprocess invocation vs. dynamic linking, GPL aggregation, MPL file-level scope, etc.).
Build from source
git clone https://github.com/zhitongblog/unflick.git
cd unflick
pnpm install
pnpm tauri build
# Windows: bash build-both.sh builds both Standard and AI editionsRequires Rust stable + Node 18+ + the Tauri 2 platform prerequisites (WebView2 on Windows, WKWebView on macOS, webkit2gtk-4.1 on Linux).
Acknowledgments
unflick stands on the shoulders of mpv, ffmpeg, yt-dlp, whisper.cpp, Tauri, and a long list of MIT/Apache-licensed Rust and JavaScript libraries. None of this would exist without those projects.
The website at unflick.app and a sibling project (SoloMD) — also free, also MIT, also bundling MCP — are by the same author. If you like the design, that's where it comes from.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
A real timeline video editor for AI agents: journaled edits, FFmpeg/MLT rendering, exports
Multimodal video analysis MCP — transcription, vision, and OCR for any video URL.
The media memory layer for AI agents and their humans. Your AI client gets 29 tools to search your collection, add items, update ratings, preview music, and find patterns across everything you've read, watched, and listened to.
Related MCP Servers
- AlicenseAqualityCmaintenanceAn MCP server that enables AI agents to play and control YouTube and TikTok videos through a native mpv player window. It supports browsing subscriptions, searching content, managing playlists, and fetching video metadata using authenticated browser cookies.23104MIT
- AlicenseAqualityBmaintenanceLet AI agents watch videos: local transcripts, speaker labels, scenes, chapters and exact-moment search from any video URL or file. Fully local, no API keys.42AGPL 3.0
- FlicenseNot gradedqualityBmaintenanceLocal-first AI video editing engine controlled by MCP-compatible AI hosts, enabling AI to inspect footage, propose edits, modify multitrack projects, and render locally while keeping user control.-
- AlicenseAqualityBmaintenanceGive any MCP client a real video editor — 32 typed tools over ffmpeg, Whisper and MediaPipe, plus an optional local UI with a drag-and-drop timeline.38MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zhitongblog/unflick'
If you have feedback or need assistance with the MCP directory API, please join our Discord server