BAM logo blackBAM logo white

Menu

© 2026 Blaise Moses
ActiveLast updated: Jul 2026

Playback MCP

An open-source MCP server and Chrome extension that gives AI agents real control over YouTube — loop, seek, sequence clips, and search transcripts in your own browser.

AI & AutomationCLI / ToolsTypeScriptPersonal

Stack: TypeScript · MCP · Node.js · Chrome Extension · WebSocket · SQLite

Progress90%

Role

Creator and maintainer

Distribution

npm + Chrome Web Store

License

MIT · local-first

Stack

Node 24, TypeScript, node:sqlite

Playback MCP — save, loop, speed, timestamps
1 / 3Browser playback orchestration for agents.

Overview

Playback MCP is an open-source Model Context Protocol server paired with a Chrome extension. Together they give AI agents real, precise control over YouTube playback in your actual browser — pausing, seeking, looping a passage, ramping playback speed pass by pass, sequencing clips, and searching transcripts.

It is local-first by design: everything runs on 127.0.0.1, your saved videos and timestamps live in a local SQLite database, and nothing is sent to any external server. The project is MIT licensed and published to both npm and the Chrome Web Store so it installs with no clone and no build.

What You Can Do With It

  • Music practice — loop a passage and ramp the speed up pass by pass, hands-free.
  • Language learning — slow a sentence down and jump to every place a phrase is spoken.
  • Study and notes — summarize a lecture from its transcript and save timestamps to revisit.
  • Clips and shorts — mine a long video for short-form ideas and pull the exact clips.
  • Skip the filler — find sponsor reads in a long podcast and jump past them.

Architecture

A single broker owns the localhost WebSocket port and routes each agent session to its own browser tab. Every playback-mcp server shares one WAL-mode SQLite library on disk, so saved videos and timestamps are consistent across sessions.

  • Run several agent sessions at once and each drives its own YouTube tab in parallel — the broker tags commands with a unique sessionId and routes events back only to the owning session.
  • The broker auto-starts on first use and idles out about a minute after the last session closes, so there is no daemon to manage.
  • A WebSocket origin allow-list at the handshake means only the extension and local Node clients can connect — arbitrary web pages cannot drive playback.

Safe by Design

  • The extension only reads and writes the <video> element's own properties — current time, playback rate, volume, and play/pause.
  • It never clicks UI, never scrapes, and never automates navigation beyond opening a watch URL.
  • Everything is local: no external services, no telemetry, and a library that never leaves your machine.

Status and Distribution

  • Shipped to npm as playback-mcp and to the Chrome Web Store, with CI, CodeQL, and secret-scanning in the pipeline.
  • Exposes a full tool surface: playback control, section looping with per-pass speeds, clip sequencing, a saved-video and timestamp library, and transcript fetch and search.
  • Actively maintained and versioned with a Keep a Changelog history and semantic versioning.