Drive YouTube experiences with Agents. Loop, seek, sequence clips, and search transcripts, all with a prompt.
Precise, hands-off playback for the way you actually watch.
Loop a tricky passage and ramp the speed up pass by pass, hands-free.
Slow a sentence down and jump to every place a phrase is spoken.
Summarize a lecture from its transcript and save timestamps to revisit.
Turn a recipe or tutorial into written steps β or a clip reel of the key parts.
Mine a long video for short-form ideas and pull the exact clips.
Find the sponsor reads in a long podcast and jump past them to the real content.
Repeat a passage N times, with optional per-pass speed ramps (0.5Γ β 0.75Γ β 1.0Γ) β built for practicing music or language.
Play a list of segments back-to-back, skipping the gaps between them. Returns instantly; the sequence runs in the browser.
Save labeled positions and loopable sections per video, then jump straight to them by name later.
Build and search a personal library of videos stored locally, and open any of them in a managed tab.
Find a word or phrase in the captions and jump straight to where itβs said β timestamps with context, fetched server-side.
Run several agent sessions at once β each drives its own YouTube tab in parallel, playing different videos side by side.
One broker owns the localhost port and routes each session to its own tab. Every server shares a single library on disk.
Node 24 LTS and Chrome. Two minutes, no build.
One global npm package β no clone, no build.
$ npm i -g playback-mcp
Install Playback MCP from the Chrome Web Store β one click, and it stays up to date automatically.
Running a custom YT_BRIDGE_PORT? The Web Store build bakes in port 8765, so build from source instead β see the README.
Any MCP client works. For Claude Code, for example:
$ claude mcp add playback-mcp -- playback-mcp
Other clients register a command the same way β point them at playback-mcp. Or use a project-scoped .mcp.json at your repo root β see the README.
Navigate to a YouTube video and ask your agent to control it β βpause it,β βloop the chorus twice at 0.75Γ,β βfind where they mention hooks.β
The extension only reads and writes the <video> elementβs own properties β current time, rate, volume, play/pause. It never clicks UI, never scrapes, and never automates navigation beyond opening a watch URL.
Everything runs on 127.0.0.1. Your saved videos and timestamps live in a local SQLite database on your own computer. This extension sends nothing to any external server.