@cassette.diy/mcp
MCP server for managing Cassette music releases and Creator clips through AI assistants via personal access tokens.
README
@cassette.diy/mcp
MCP server for Cassette (music releases) and Cassette for Creators (short-form clips). Lets AI assistants in Cursor, Claude Desktop, and other MCP clients manage your Cassette account via personal access tokens.
npm: https://www.npmjs.com/package/@cassette.diy/mcp
Docs: https://cassette.diy/docs/mcp
Install
Published on npm. No separate install step when using Cursor — npx downloads the package on first run:
npx -y @cassette.diy/mcp
- A Cassette or Creator account with Google Drive linked (required for uploads).
- A personal access token from the web app:
- Music app: Settings → API / AI access
- Creator app: Settings → API / AI access
Cursor setup
Add to your Cursor MCP config (~/.cursor/mcp.json or project .cursor/mcp.json):
{
"mcpServers": {
"cassette": {
"command": "npx",
"args": ["-y", "@cassette.diy/mcp"],
"env": {
"CASSETTE_API_URL": "https://api.cassette.diy",
"CASSETTE_API_TOKEN": "ct_live_YOUR_TOKEN_HERE",
"CASSETTE_PRODUCT": "both"
}
}
}
}
You can copy a ready-made snippet from Settings after creating a token.
Environment variables
| Variable | Required | Description |
|---|---|---|
CASSETTE_API_URL |
No | Backend URL (default: http://localhost:8080) |
CASSETTE_API_TOKEN |
Yes | Personal access token (ct_live_…) |
CASSETTE_PRODUCT |
No | music, creator, or both (default: both) — controls which tools are registered |
Local development
From the monorepo:
cd cassette-mcp
npm install
npm run build
Point Cursor at the local package:
{
"mcpServers": {
"cassette": {
"command": "node",
"args": ["/absolute/path/to/Cassette/cassette-mcp/dist/index.js"],
"env": {
"CASSETTE_API_URL": "http://localhost:8080",
"CASSETTE_API_TOKEN": "ct_live_...",
"CASSETTE_PRODUCT": "both"
}
}
}
}
Tool catalog
Set CASSETTE_PRODUCT to music, creator, or both (default: both).
Shared
| Tool | Description |
|---|---|
cassette_get_account |
Profile, Drive link status, tiers |
cassette_start_gdrive_link |
OAuth URL to link Google Drive |
cassette_search_users |
Find users for invites (creator mode only) |
Music — track creation workflow
Focused tools for musicians: create a release end-to-end (no delete, collaboration, or Drive sync).
| Tool | Description |
|---|---|
cassette_create_track |
Create track (name, artist, release date) |
cassette_upload_track_file |
Upload artwork, audio, promo, footages, vertical videos |
cassette_update_track_metadata |
Metadata, Spotify pitch, notes |
cassette_list_track_files |
List uploaded files by category |
cassette_get_track |
Get full track after creation |
Creators
Full clip workflow (unchanged):
| Tool | Description |
|---|---|
cassette_get_creator_billing |
Tier, limits, clip count |
cassette_list_clips |
List clips |
cassette_get_clip / create_clip / update_clip / delete_clip |
Clip CRUD |
cassette_update_scenario |
Scenario time blocks |
cassette_update_clip_notes |
Freeform notes |
cassette_list_trends / create_trend / delete_trend |
Trend library |
cassette_start_clip_from_trend |
New clip from trend |
cassette_list_footages / upload_footage / review_footage / delete_footage |
Footages |
cassette_get_final / upload_final / update_post_links |
Final video & links |
cassette_manage_clip_shares |
Collaboration |
Uploads
Upload tools read files from local_path on the machine running the MCP server (your computer when using stdio in Cursor).
- < 10 MB — direct multipart upload
- 10–20 MB — async upload + task polling
- > 20 MB (tracks) — chunked upload + task polling
If Drive is not linked, upload tools fail; use cassette_start_gdrive_link first.
Token scopes
| Scope | Access |
|---|---|
music:read |
GET on /tracks/* |
music:write |
Mutations on /tracks/* |
creator:read |
GET on /creator/* |
creator:write |
Mutations on /creator/* |
Tokens cannot access admin, Stripe checkout, analytics, or token management endpoints.
Publish checklist
- [ ] Deploy backend with
api_tokenscollection and routes - [ ] Verify token create/list/revoke in staging Settings UI
- [ ] Smoke-test MCP tools against staging API
- [x] Publish
@cassette.diy/mcpto npm (v0.1.0) - [ ] Set production
CASSETTE_API_URLin docs - [ ] Optional: track
mcp_token_createdanalytics event
License
UNLICENSED — internal Cassette package.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.