bandlab-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BANDLAB_EMAIL | No | BandLab account email for programmatic login (Mode C). | |
| BANDLAB_PASSWORD | No | BandLab account password for programmatic login (Mode C). Never written to disk. | |
| BANDLAB_SESSION_KEY | No | Session bearer token from BandLab API (Mode B). Obtain from Network headers of any api/v1.3 request. Expires in 24 hours. | |
| BANDLAB_ALLOW_WRITES | No | Set to 'true' to enable write operations. Defaults to 'false' (read-only). | false |
| BANDLAB_REFRESH_TOKEN | No | Refresh token from BandLab OAuth (Mode A, recommended). Obtain from browser DevTools after logging in to bandlab.com. | |
| BANDLAB_MIN_INTERVAL_MS | No | Minimum interval between API requests in milliseconds. Defaults to '1200'. | 1200 |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bandlab_whoamiA | Returns the authenticated BandLab profile (id, username, counters). Call this first to confirm the session works and to get the user id other tools need. |
| bandlab_list_songsA | Lists songs belonging to the authenticated user. Use the returned song id with bandlab_list_revisions. |
| bandlab_list_revisionsA | Lists the revision history of a song, oldest first (verified against the live API). BandLab is version-based: every save is a revision, so this is the undo history. |
| bandlab_get_mixA | Fetches one revision and renders its tracks, levels, panning, effects and regions as compact text. This is what you read before proposing an edit. |
| bandlab_edit_mixA | Applies mix operations to a revision. Defaults to a dry run that shows the diff without sending anything. With dryRun=false it saves a NEW revision (the original is never overwritten — BandLab keeps every version). |
| bandlab_list_effectsA | Lists BandLab effect slugs and their parameters, harvested from real published projects. Consult this before add_effect or set_effect_params: BandLab has no effects endpoint, slugs are undocumented, and a slug that is not listed here is one this server cannot vouch for. |
| bandlab_capabilitiesA | Reports the API base, whether writes are enabled, the request pacing, and the inferred value ranges the edit engine enforces. Useful for diagnosing a refusal. |
| bandlab_raw_requestA | Escape hatch for endpoints this server does not wrap yet. The BandLab API is undocumented, so this is how you explore it. GET always allowed; other methods require writes to be enabled. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Each tool targets a distinct concern: identity, song listing, revision history, mix reading, mix editing, effect metadata, API capabilities, and raw fallback. The only potential overlap is raw_request, but it is explicitly framed as an escape hatch rather than a competing operation.
Most tools follow a consistent bandlab_<verb>_<noun> pattern (list_songs, list_revisions, edit_mix, get_mix, list_effects). A few names deviate (whoami, capabilities, raw_request), but the shared prefix and clear verb/noun semantics keep the set predictable.
Eight tools is a well-scoped size for a BandLab-focused MCP server. Each tool supports a recognizable workflow from authentication to revision exploration to mix editing, without redundancy or bloat.
The core workflow is covered: identify user, list songs, inspect revisions, read a mix, edit a mix, and look up effect parameters. The main gaps are broader BandLab operations like song creation/deletion or download, but the raw_request escape hatch mitigates those and the server appears intentionally scoped to mix editing.