Skip to main content
Glama
Cassette-Editor

oh-my-cassette

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
cassette_ingest_mediaA

Ingest a trusted local media file from the active host project or an explicitly configured media root. Generates a cryptographically random session_id when omitted.

cassette_list_assetsA

List media assets isolated to one Cassette session.

cassette_timelineA

Read the live Cassette timeline as a bounded text digest (CTL). Call this before any statement about project state — never answer from memory. contact_sheet=true also tiles the stored clip posters into one image (zero render) and saves it locally. Present the returned contact_sheet_uri as the thumbnail link. In Hermes TUI, label it as saved locally and output MEDIA: on its own line; use the URL-encoded URI, never the raw contact_sheet_path, because raw paths may contain spaces.

cassette_editA

Surgical no-LLM timeline edit through the manual-editor command lane (requires CASSETTE_DIRECT_EDIT=1). Use for small named changes (trim, text, delete, undo) after reading cassette_timeline; big or creative briefs go through cassette_run_job. input is always {"payload": {...}}. Pass expected_version from the last timeline read; tool_name 'undo' with input.cursorSequence rewinds the shared operation history.

cassette_make_promptC

Build a complete Cassette edit prompt from a natural-language instruction and session assets.

cassette_match_bgmC

Match and optionally register a Free To Use background-music asset for a session.

cassette_match_exact_bgmB

Match an exact song and artist, optionally download it, and register it with the session.

jamendo_music_matcherC

Search Jamendo with validated fixed-form music preferences and optionally register a result.

cassette_answer_questionC

Classify a Cassette question using question mode, or resume an interrupted job using validated job_id and response fields.

cassette_run_jobA

Run one Cassette edit turn and return when it is settled. This call IS the wait: it streams progress notifications while the agent works and answers with the terminal envelope (succeeded / needs_user / review_required / exported / failed). Pass message as the user's words verbatim. Exactly one cassette_run_job call per user turn: after any settled result, return control to the user. Never start a corrective, retry, or follow-up run in the same user turn, even if you think the edit could be improved. Do not poll cassette_job_status after a settled result; that tool is only for resuming a job whose call was interrupted. Pass wait=false only to deliberately detach the turn into the background. If an explicit export request returns phase=review_required, the user has already authorized export: inspect the attached timeline and call cassette_review_completion in this same assistant turn. Do not ask for redundant confirmation, and do not start another cassette_run_job.

cassette_job_statusA

Re-attach to a job whose cassette_run_job call did not return — host restart, cancellation, or a turn deliberately started with wait=false. Call it once and act on the phase; it is not a progress loop. wait_for_change_sec gives an unsettled job up to 30 seconds to reach its next phase before answering.

cassette_review_completionB

Resolve a review-required completion. Rendering starts only for an explicit, validated decision=export. For a cassette_run_job(export=true) triggered by the user's explicit export request, review the attached timeline and call this immediately in the same assistant turn; do not ask the user to authorize export again merely because the Cassette agent's prose claims rendering is unavailable.

cassette_cancel_jobB

Request cooperative cancellation of a persisted Cassette job.

cassette_configA

On-demand model picker for the session. Call only when the user asks to view or change the Cassette model. With only session_id it returns the current choice and available options; pass model (id or label) and/or thinking_level to change them. The choice persists for the session and applies from the next cassette_run_job turn. Default: GPT-5.6 Luna with xhigh thinking.

cassette_loginA

Sign this machine in to Cassette, or have a replacement password emailed. Pass email plus the generated password from the user's Cassette email. Cassette passwords are always server-generated, never chosen — ask the user for theirs, never invent one. If they no longer have it, confirm with them first, then pass request_new_password=true with confirm_replace=true: that replaces the account password on every machine they use and emails a new one. Credentials are verified before anything is written, so a wrong password leaves an existing working setup untouched.

cassette_jamendo_setupA

Validate and privately store this machine's own Jamendo Client ID for read-only music matching. Before calling, explain that the user creates a read-only application at https://devportal.jamendo.com/, no Client Secret is needed, and pasting the Client ID places it in the conversation transcript. Ask for their Client ID; never invent one and never ask for a Client Secret. A failed validation preserves existing configuration.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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/Cassette-Editor/oh-my-cassette'

If you have feedback or need assistance with the MCP directory API, please join our Discord server