oh-my-cassette
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cassette_ingest_mediaB | 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_assetsB | 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). |
| 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_bgmC | 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). Do not poll cassette_job_status after it — that tool is for resuming a job whose call was interrupted. Pass wait=false only to deliberately detach the turn into the background. |
| 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_completionC | Resolve a review-required completion. Rendering starts only for an explicit, validated decision=export. |
| cassette_cancel_jobC | Request cooperative cancellation of a persisted Cassette job. |
| cassette_configA | Get or set the session's Cassette model and thinking level. Call with only session_id to see the current choice and available options; pass model (id or label) and/or thinking_level to change them — persisted for the session, applied from the next cassette_run_job turn. Defaults match the web editor; change only when the user asks. |
| 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. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/Cassette-Editor/oh-my-cassette'
If you have feedback or need assistance with the MCP directory API, please join our Discord server