Skip to main content
Glama
Fasping
by Fasping

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 127.0.0.1

Same prompt + seed = same plan

9 bundled styles, custom JSON packs supported

Important writes default to dryRun

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 feedback

The 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

dryRun by default

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

general

neutral songwriting fallback

backbeat

electronic

house, techno and general club music

four-on-floor

underground-electronic

eight research-informed minimal/electro variations

four-on-floor or broken

underground-breaks

breakbeat, 2-step and UK garage

broken

hip-hop

rap, trap, drill and boom-bap starting points

half-time

pop

verse / pre-chorus / chorus songwriting

backbeat

rnb-soul

R&B, neo-soul and slow-jam writing

half-time

rock

indie, alternative, punk and guitar-led arrangements

backbeat

ambient

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.sh

The 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

  1. Restart Ableton Live.

  2. Open Settings → Link, Tempo & MIDI.

  3. Select LiveBrain as a Control Surface.

  4. 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 node dist/index.js

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.

All important write paths support a preview-first workflow:

  1. health — confirm MCP, adapter and bridge versions.

  2. livebrain_analyze_set — inspect the current Live Set.

  3. music_plan_production — compile the vibe without changing Ableton.

  4. music_create_production with dryRun: true — validate targets and planned changes.

  5. Repeat with dryRun: false — build the production.

  6. 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 build

Run without Ableton using the deterministic mock adapter:

LIVEBRAIN_ADAPTER=mock npm run dev

The 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 tools
generate_basslineC

Generate a deterministic style-aware bassline.

ParametersJSON Schema
NameRequiredDescriptionDefault
barsNo
seedNo
rootMidiNo

TDQS

C2.8/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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

B3.4/5.0
Disambiguation5/5

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.

Naming Consistency2/5

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.

Tool Count4/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessSyncing

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

Related MCP Servers

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/Fasping/livebrain-ableton-mcp'

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