Agent Plugins Marketplace
← All plugins

oh-my-cassette

v0.4.19

Edit local project media through a self-contained stdio MCP runtime that connects directly to Cassette.

CodexClaude Code2 Skills1 MCP serverstdio

By Oh My Cassette contributorsLicense: MIT120 GitHub starsUpdated 2 weeks ago

Directory evidence

Runtimes
Codex and Claude Code
Parsed components
3 skill or MCP entries
Source updated
Oct 5, 2026
Manifest status
Canonical path parsed

The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology →

Install oh-my-cassette for Codex and Claude Code

Installs for the current user
codex plugin marketplace add Cassette-Editor/oh-my-cassette
codex plugin marketplace upgrade cassette-editor
codex plugin add oh-my-cassette@cassette-editor

Paste and run these commands in a terminal with Codex. They add and refresh the cassette-editor catalog, then install this plugin.

Compatibility: the page URL and API slug “oh-my-cassette-2” remain stable.

  • Codex: oh-my-cassette-2@agent-plugin-marketplace → oh-my-cassette@cassette-editor

The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.

Get the source manually
git clone https://github.com/Cassette-Editor/oh-my-cassette

Clone the source repository, then follow its setup instructions to add the plugin to a compatible client. The repository root is the plugin root.

Plugin files

oh-my-cassette/
├── .codex-plugin/plugin.json
├── .claude-plugin/plugin.json
├── skills/cassette-model/SKILL.md
├── skills/cassette-video-edit/SKILL.md
└── .mcp.json

Included Skills2

cassette-modelskills/cassette-model/SKILL.md

Show or change the Cassette editing model and thinking level for the current media session. Invoke only when the user explicitly asks for the model picker, wants to inspect the current Cassette model, or requests a model/thinking change.

cassette-video-editskills/cassette-video-edit/SKILL.md

Edit, trim, cut, caption, subtitle, reframe, combine, add background music to, or export video, audio, and image files through Cassette. Use this skill whenever the user asks to change, preview, or render a media file in the project — even if they never say "Cassette" or name a tool — for example "trim the intro off demo.mp4", "add subtitles to this clip", "make me a 30-second cut with music", "why is there dead air at the start". Drives the local Oh My Cassette stdio MCP tools in Codex or Claude as one multi-turn conversation with the Cassette agent, with per-turn timeline previews, guided questions, and rendering only on explicit export.

MCP servers1

cassettestdio
command
python3
args
-c import os, runpy, sys; from pathlib import Path; home = Path(os.environ.get('CODEX_HOME') or (Path.home() / '.codex')); base = home / 'plugins' / 'cache' / 'cassette-editor' / 'oh-my-cassette'; candidates = [path for path in base.glob('*/scripts/run_local_mcp.py') if path.is_file()]; candidates or sys.exit(f'oh-my-cassette: no installed plugin copy under {base}; reinstall with: codex plugin add oh-my-cassette@cassette-editor'); runpy.run_path(str(max(candidates, key=lambda path: path.stat().st_mtime_ns)), run_name='__main__')
env.CASSETTE_MCP_HOST
codex

Plugin manifests2

.codex-plugin/plugin.json
{
  "name": "oh-my-cassette",
  "version": "0.4.19",
  "description": "Edit local project media through a self-contained stdio MCP runtime that connects directly to Cassette.",
  "author": {
    "name": "Oh My Cassette contributors",
    "url": "https://github.com/Cassette-Editor/oh-my-cassette"
  },
  "homepage": "https://github.com/Cassette-Editor/oh-my-cassette",
  "repository": "https://github.com/Cassette-Editor/oh-my-cassette",
  "license": "MIT",
  "keywords": [
    "cassette",
    "video-editing",
    "media",
    "mcp",
    "codex",
    "claude"
  ],
  "skills": "./skills/",
  "mcpServers": "./.codex-plugin/mcp.json",
  "interface": {
    "displayName": "Oh My Cassette",
    "shortDescription": "Edit project videos through local MCP",
    "longDescription": "Use a local stdio MCP runtime to ingest trusted project media, guide Cassette edits, monitor background jobs, answer follow-up questions, review completion, and return validated export artifacts.",
    "developerName": "Oh My Cassette contributors",
    "category": "Productivity",
    "capabilities": [
      "Interactive",
      "Read",
      "Write"
    ],
    "websiteURL": "https://github.com/Cassette-Editor/oh-my-cassette",
    "privacyPolicyURL": "https://cassette-editor.github.io/oh-my-cassette/privacy",
    "termsOfServiceURL": "https://cassette-editor.github.io/oh-my-cassette/terms",
    "logo": "./assets/logo-400.png",
    "composerIcon": "./assets/logo-400.png",
    "screenshots": [
      "./assets/contact-sheet.jpg",
      "./assets/ctl-digest.svg"
    ],
    "defaultPrompt": [
      "Edit this project video with Cassette.",
      "Let me choose the Cassette model for this edit.",
      "Add captions and background music to this clip.",
      "Continue this Cassette job from its job ID."
    ],
    "brandColor": "#6D5EF5"
  }
}
.claude-plugin/plugin.json
{
  "name": "oh-my-cassette",
  "version": "0.4.19",
  "description": "Edit local project media through a self-contained stdio MCP runtime that connects directly to Cassette.",
  "author": {
    "name": "Oh My Cassette contributors",
    "url": "https://github.com/Cassette-Editor/oh-my-cassette"
  },
  "homepage": "https://github.com/Cassette-Editor/oh-my-cassette",
  "repository": "https://github.com/Cassette-Editor/oh-my-cassette",
  "license": "MIT",
  "keywords": [
    "cassette",
    "video-editing",
    "media",
    "mcp"
  ],
  "mcpServers": "./.claude-plugin/mcp.json"
}

If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.

[oh-my-cassette on Agent Plugins Marketplace](https://pluginsmp.com/plugins/oh-my-cassette-2)