LiveBrain MCP
The LiveBrain MCP server provides a minimal subset of the full LiveBrain AI music production system, offering three synchronous tools:
Health check: Verifies server responsiveness (no inputs).
Live Set snapshot: Retrieves a snapshot of the current Ableton Live Set state (no inputs).
Bassline generation: Creates a deterministic, style-aware bassline with configurable parameters:
bars(1-256, default: 4): length in barsrootMidi(0-127, default: 36 = C2): root MIDI noteseed(integer, default: 1): for reproducible results
All operations are synchronous and represent only a small early subset of the full toolset described in the README.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LiveBrain MCPCreate a techno groove with a 909 kick and acid bassline"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LiveBrain Ableton MCP
LiveBrain is a local, open-source MCP server and deterministic music-production engine for Ableton Live. Claude, Codex, Cursor and other MCP clients can use it to inspect a Live Set, compose MIDI, load installed devices, arrange sections, shape a starting mix and revise the result through natural language.
It builds a real Ableton project — separate tracks, clips, devices and Arrangement placements — rather than returning an opaque audio render.
Local-first | Deterministic | Pack-driven | Previewable |
Ableton communication stays on | Same prompt + seed = same plan | 9 bundled styles, custom JSON packs supported | Important writes default to |
LiveBrain 1.0 is macOS-first and verified with Ableton Live 12 and Node.js 20. Save your Live Set before applying large AI-generated changes.
From prompt to project
Give your MCP client a production brief:
Plan a restrained 128-bar underground minimal/electro track at 130 BPM.
Use sparse drums, an odd-cycle sequence, negative space and subtle evolution.
Show me the plan and dry-run first, then build it in Arrangement View.LiveBrain turns that into:
prompt
→ style-pack and profile resolution
→ tempo, key, traits and section plan
→ independent MIDI parts and section variations
→ installed Ableton instruments and effects
→ mixer starting points and Arrangement placement
→ editable Live Set + generation ID for feedbackThe production language is not fixed. The same engine can plan pop, R&B/neo-soul, hip-hop, rock, ambient, electronic, UK garage/breaks or a neutral custom workflow:
Create a concise pop song with a quiet first verse, a clear pre-chorus,
a memorable vocal-guide hook and a wider final chorus.Build a raw indie-rock arrangement with separate drums, electric bass,
rhythm guitar, lead guitar, keys and an editable vocal-guide melody.Every result stays editable. Regenerate a section, lock the bass, reduce the melody, change the groove or resume an interrupted build without starting over.
Related MCP server: ableton-mcp-lofifren
More than remote control
Many Ableton integrations expose DAW commands and leave every musical decision to the current chat. LiveBrain keeps that control layer, then adds a reusable, tested production brain above it.
Capability | Generic Ableton controller | LiveBrain |
Read/write tracks, clips, devices and mixer | Yes | Yes |
Deterministic groove, bass, harmony and melody engines | Agent-dependent | Built in |
Natural-language vibe → complete production plan | Agent-dependent | Built in |
Installable genre/style packs | No | Validated JSON packs |
Safe preview before changing Live | Rare |
|
Resume an interrupted full-song build | Rare | Built in |
Local reference-audio profiles | No | Built in |
Persistent locks and structured feedback | No | Built in |
Same seed produces the same musical plan | No guarantee | Yes |
LiveBrain prioritizes repeatable musical decisions and full-production workflows. It is not yet the widest Ableton control surface: controller-focused projects still cover scenes, audio tracks, automation, routing and undo/redo more completely. See the honest comparison and gap analysis.
Style packs, not genre bias
The core is neutral. A validated JSON pack supplies genre vocabulary, track roles, Browser queries, arrangement shape, mix intent and drum topology.
Pack | Production direction | Drum topology |
| neutral songwriting fallback | backbeat |
| house, techno and general club music | four-on-floor |
| eight research-informed minimal/electro variations | four-on-floor or broken |
| breakbeat, 2-step and UK garage | broken |
| rap, trap, drill and boom-bap starting points | half-time |
| verse / pre-chorus / chorus songwriting | backbeat |
| R&B, neo-soul and slow-jam writing | half-time |
| indie, alternative, punk and guitar-led arrangements | backbeat |
| pads, drones, cinematic texture and sparse pulse | broken |
Install personal or community packs in ~/.livebrain/packs/; no TypeScript fork is required. LiveBrain validates every pack before loading it and reports invalid files instead of executing arbitrary code. See Style Packs.
Quick start on macOS
Requirements
Ableton Live 12
Node.js 20 or newer
Git
1. Install LiveBrain
git clone https://github.com/Fasping/livebrain-ableton-mcp.git
cd livebrain-ableton-mcp
./scripts/setup-macos.shThe setup script installs dependencies, builds the MCP server, copies the Remote Script into your Ableton User Library, and prints a ready-to-paste MCP configuration. It does not overwrite your AI client's configuration.
2. Enable it in Ableton
Restart Ableton Live.
Open Settings → Link, Tempo & MIDI.
Select LiveBrain as a Control Surface.
Leave its MIDI Input and Output set to None.
3. Connect an AI client
For Claude Desktop, add this to claude_desktop_config.json, replacing the path with your clone:
{
"mcpServers": {
"livebrain": {
"command": "node",
"args": ["/absolute/path/to/livebrain-ableton-mcp/dist/index.js"],
"env": {
"LIVEBRAIN_HOST": "127.0.0.1",
"LIVEBRAIN_PORT": "9877"
}
}
}
}Restart the client and ask:
Run LiveBrain health and tell me the bridge version.See AI client setup for Claude Desktop, Codex, Cursor, VS Code and ChatGPT availability.
Client compatibility
Client | Status | Connection |
Claude Desktop | Verified | Local MCP over stdio |
Codex | Compatible | Local MCP over stdio |
Cursor / VS Code MCP clients | Compatible | Local MCP over stdio |
Other local MCP clients | Compatible | Launch |
ChatGPT | Architecture-ready, remote transport pending | ChatGPT does not connect directly to a localhost MCP server |
ChatGPT's current custom MCP support expects a remote server or a supported secure tunnel; LiveBrain currently ships a local stdio transport. We document this boundary instead of claiming one-click ChatGPT support that is not implemented yet. See OpenAI's developer mode and MCP apps documentation.
Recommended workflow
All important write paths support a preview-first workflow:
health— confirm MCP, adapter and bridge versions.livebrain_analyze_set— inspect the current Live Set.music_plan_production— compile the vibe without changing Ableton.music_create_productionwithdryRun: true— validate targets and planned changes.Repeat with
dryRun: false— build the production.Listen, then request changes in natural language.
Applied productions return a generationId. Give direct feedback with tags such as bass-too-obvious, less-melody, more-space, more-swing or their documented Spanish equivalents. You can also generate two alternatives and call feedback_compare_generations; later plans apply the resulting preference delta conservatively.
Production runs are resumable by the canonical track names defined by the selected pack. Repeating the same prompt, seed and length reuses those tracks, replaces the source MIDI deterministically, skips existing Arrangement positions and completes missing device work.
Run music_list_style_packs to see what is installed, or pass packId to choose one explicitly. See Style Packs to install or author a pack without changing LiveBrain source.
To teach LiveBrain your own taste without uploading audio, put legally owned reference files in a local folder and ask your client:
Use reference_import_directory on /absolute/path/to/my/references with group
my_afterhours. Analyze the files and build the profile, then plan a track with
profileId my_afterhours.The bundled scene profiles are transparent curation hypotheses, not fake audio measurements. Your local reference profile is what makes the system personal. See Taste Lab.
Music and production features
Production Engine
neutral vibe compiler with automatic or explicit style-pack selection;
nine bundled packs: general, electronic, underground minimal/electro, underground breaks/UK garage, hip-hop, pop, R&B/neo-soul, rock and ambient;
automatic or explicit pack variants that change groove, synthesis recipes, arrangement and mix behavior;
distinct four-on-floor, broken, backbeat and half-time drum topologies;
versioned JSON pack schema for custom genres, track roles, browser queries, arrangements and mix defaults;
structured 64–512 bar arrangements;
a distinct deterministic source variation for every active track section;
pack-defined track roles instead of one fixed eight-track electronic template;
deterministic harmony, motif-based melody, drums, bass and generative sequences;
Browser device discovery with installed-device fallbacks;
conservative gain staging, panning, sends, EQ, compression and reverb setup;
batched Arrangement placement and idempotent resume.
Music Brain
deterministic generation by seed;
groove, bass and alien/digital sequence generators;
selective mutation and “make it less obvious” workflows;
16→64-bar section evolution;
persistent generation, track and clip locks.
Reference Brain
register local reference audio without copying it into Git;
analyze PCM WAV directly and other formats through
ffmpeg;separate measured features from human ratings and tags;
build, explain and blend reusable style profiles;
recursively import and analyze a reference folder in one call;
store structured feedback without pretending to retrain an AI model.
Current boundaries
LiveBrain is honest about what has and has not been verified:
device selection depends on the Ableton content installed on the machine;
EQ and compression are role-aware starting points, not analyzer-backed mastering decisions;
external compressor sidechain routing is not consistently exposed by the current Python Live Object Model bridge;
scenes, audio-track workflows, automation envelopes, nested racks and broad routing are not yet at parity with mature Ableton controllers;
the automatic installer is currently macOS-first;
ChatGPT requires a future remote MCP transport or secure tunnel.
These gaps are tracked in the roadmap.
MCP tools
LiveBrain currently exposes 54 tools across these groups:
Ableton: Live Set analysis, MIDI tracks/clips/notes, regular/Master/Return devices and mixer, Master output meter, song settings, transport, Browser and Arrangement;
Production: full production planning and execution;
Music: drums, bass, sequences, mutation and section evolution;
References: local audio analysis, ratings, influence and profile blending;
Learning controls: structured feedback and persistent dimension locks.
See Ableton API and Production Engine for the exact surface.
Architecture
Claude / Codex / Cursor / another local MCP client
│
MCP stdio
│
▼
LiveBrain (TypeScript)
├─ Production Engine
│ └─ Style Pack Registry (JSON)
├─ Music Brain
├─ Reference Brain
└─ Typed Ableton Adapter
│
JSON-lines on localhost
│
▼
Ableton Live Remote Script (Python)The bridge listens only on 127.0.0.1:9877. Musical reasoning stays outside Ableton in typed, tested TypeScript. The adapter boundary allows the Python compatibility layer to be replaced by Ableton's Extensions SDK when the required APIs become stable.
Development
npm install
npm run typecheck
npm test
npm run buildRun without Ableton using the deterministic mock adapter:
LIVEBRAIN_ADAPTER=mock npm run devThe current suite contains 52 automated tests covering the bridge contract, MIDI note compatibility, version alignment, deterministic generation, drum topologies, style-pack validation and routing, automatic multi-context resolution, A/B preference learning, reference-folder imports, locks, dry-run safety and resumable full-production execution.
Documentation
Contributing
Bug reports, musical examples, device-compatibility reports and pull requests are welcome. Start with CONTRIBUTING.md.
If LiveBrain helps your workflow, consider starring the repository and sharing what you made. Real Ableton projects, reproducible prompts and honest failure reports are more valuable than hype.
License and disclaimer
MIT. LiveBrain is an independent open-source project and is not affiliated with or endorsed by Ableton, Anthropic or OpenAI. Ableton and Ableton Live are trademarks of Ableton AG.
Available Tools
3 toolsgenerate_basslineC
Generate a deterministic style-aware bassline.
| Name | Required | Description | Default |
|---|---|---|---|
| bars | No | ||
| seed | No | ||
| rootMidi | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses one important behavioral trait: determinism. However, with no annotations, the description carries the full burden of explaining behavior. It does not mention what the output format is, how style-awareness is determined, or any side effects or prerequisites. This is insufficient for a tool with no additional metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. It is front-loaded with the core action and key attributes (deterministic, style-aware). While under-specified in other dimensions, as a structural summary it is efficient and does not ramble.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and minimal annotations, the description should provide more context about return values, expected behavior, and the meaning of 'style-aware.' It is incomplete for a tool with three parameters and no other structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not compensate by explaining any of the three parameters (bars, seed, rootMidi). The schema only provides types and defaults, not semantics. Without descriptions, the agent cannot understand what each parameter controls, making this a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a bassline, with a specific verb ('generate') and resource ('bassline'). It also notes determinism and style-awareness, distinguishing it from the unrelated sibling tools (health, live_set_snapshot).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, or under what circumstances it is appropriate. The description only states what it does, not when to use it. Sibling tools are unrelated, so no differentiation is needed, but no usage context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
healthA
Check LiveBrain MCP health.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It only states that the tool checks health, without detailing what that entails (e.g., connectivity, latency, component status), whether it is read-only, or what the response looks like. The description is too sparse to provide meaningful behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that immediately conveys the tool's purpose. There is no fluff or redundant information; every word contributes to clarity and it is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (0 parameters, no output schema), the description might be minimally adequate for a health check, but it lacks any explanation of return values, success/failure semantics, or what 'health' means. For a tool with no annotations or output schema, the description should offer just a bit more context, so a score of 3 reflects a bare-minimum completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is trivially fully covered. Per the rubric, a baseline of 4 is appropriate for 0-parameter tools, and the description adds no unnecessary parameter information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Check' and clearly names the resource 'LiveBrain MCP health', making the tool's purpose unmistakable. It naturally distinguishes itself from the sibling tools (live_set_snapshot and generate_bassline), which are unrelated to health checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for verifying system health but does not provide explicit guidance on when to use it versus alternatives, nor does it mention any prerequisites or exclusions. The usage context is apparent from the tool's name and description, but no explicit when/when-not is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
live_set_snapshotA
Read the current Ableton Live Set.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explicitly says 'Read', which implies non-mutating behavior, but it does not describe return format, performance characteristics, or any side effects. It is minimally transparent but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that effectively states the tool's purpose. There is no fluff or redundant information, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema, no annotations), the description adequately covers its behavior. It could specify what the returned snapshot contains, but the name and description together imply a full representation of the Live Set, which is likely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the baseline for 0-parameter tools is 4. No parameter description is needed, and the schema shows an empty object, so there is nothing more to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') and a clear resource ('the current Ableton Live Set'). It distinguishes itself from sibling tools like 'generate_bassline' and 'health' by indicating a read-only snapshot operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions. The description only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool serves a clearly distinct function: health checks server status, live_set_snapshot reads the current Ableton Live set, and generate_bassline creates a bassline. There is no overlap or ambiguity between them.
Tool names follow mixed conventions: 'health' is a bare noun, 'live_set_snapshot' is a noun phrase, and 'generate_bassline' uses a verb_noun pattern. This inconsistency makes the naming pattern unpredictable.
With only 3 tools, the server feels slightly under-scoped but remains reasonable for a focused integration. Each tool contributes a distinct capability without redundancy.
The server covers the core workflow of reading the Live set and generating a bassline, with health as a utility. Minor gaps exist (e.g., no update/apply function), but the primary purpose is adequately served.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.
MCP server for Producer/Riffusion AI music generation
AI image, video, voice and music generation over MCP, routed to Veo 3.1, Seedance 2.0 and more.
Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceConnects Ableton Live to AI assistants through Model Context Protocol (MCP), enabling natural language control of music production tasks like track creation, MIDI editing, instrument loading, and playback control.15MIT
- AlicenseBqualityBmaintenanceConnects Ableton Live to AI through MCP, enabling prompt-assisted music production with extended tools and a 33-personality style system for generating parts in various artist styles.623MIT
- FlicenseNot gradedqualityCmaintenanceMCP server that enables AI agents to read and edit Ableton Live sets, including tracks, clips, MIDI notes, devices, and scenes.1
- FlicenseBqualityDmaintenanceMCP server for controlling Ableton Live, enabling AI assistants to interact with Live sessions through tools for track/clip/scene management, playback control, and device parameter adjustments.48
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/Fasping/livebrain-ableton-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server