Back to Directory/Developer Tools

io.github.jmedure/talkback

Chat with your Ableton session in real-time.

Developer ToolsTypeScriptv0.1.3

talkback mcp

Chat with your Ableton session in natural language. Go deeper in your mix, make it sound like it does in your head, and finally understand compression... jk no one can teach you that.

Talkback is an MCP server and Max for Live device that gives AI assistants real-time access to your Ableton Live session — read tracks, adjust parameters, analyze your mix, and get spectral snapshots, all through conversation.

talkback.createwcare.com  ·  Docs  ·  Changelog

How it works

Ableton Live ↔ M4L Bridge ↔ WebSocket ↔ MCP Server ↔ Claude / Cursor / etc.
  1. talkback bridge — a Max for Live device on your master track that reads the Live Object Model and streams session data over WebSocket
  2. talkback-mcp (this package) — an MCP server that exposes your session as tools any LLM can use

Quick start

The fastest way to get set up — installs the MCP server and configures Claude Desktop automatically:

curl -fsSL https://talkback.createwcare.com/install.sh | bash

Already in an AI agent? Let it set things up for you:

npx skills add jmedure/talkback-mcp

Then ask your agent: "Help me set up talkback"

Requires Node.js 18+. See the full setup guide for more options.

1. Install the Max for Live device

Download talkback-bridge (latest) and drop it onto your master track in Ableton. Make sure the device is toggled on.

2. Add the MCP server

Talkback requires a desktop MCP client — it runs locally on your machine and connects to Ableton over WebSocket. It does not work with claude.ai in the browser (web chat doesn't support local MCP servers yet).

Claude Desktop (recommended)

Download Claude Desktop, then add to your config:

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "talkback-mcp": {
      "command": "npx",
      "args": ["-y", "talkback-mcp"],
      "env": { "WS_PORT": "8765" }
    }
  }
}

Restart Claude Desktop after saving.

Using nvm or fnm? Claude Desktop doesn't load your shell profile, so it may pick up an old system Node. Use the full path to npx instead — run which npx in Terminal, then set that as "command" in the config above. See troubleshooting for details.

Claude Code
claude mcp add --transport stdio talkback-mcp -- npx -y talkback-mcp
Cursor

Add to .cursor/mcp.json in your project root:

{
  "mcpServers": {
    "talkback-mcp": {
      "command": "npx",
      "args": ["-y", "talkback-mcp"],
      "env": { "WS_PORT": "8765" }
    }
  }
}
Other clients (Windsurf, etc.)

Point your client at npx -y talkback-mcp as the server command with WS_PORT=8765 as an environment variable.

Or use add-mcp to auto-configure all your installed agents:

npx add-mcp "npx -y talkback-mcp"

3. Start chatting

Open your LLM and start asking about your session:

  • "What's going on in my session?"
  • "My bass sounds muddy, can you help?"
  • "Cut 3 dB at 300 Hz on the vocal EQ"
  • "Does my mix have any obvious problems?"

Your LLM will ask for approval before making any parameter changes. Undo always works.

Tools

ToolWhat it does
get_session_contextReads your full session — tracks, volumes, panning, mutes, sends, devices, routing
get_track_detailsDeep-dives a single track with every device parameter in human-readable units
get_spectral_snapshotCaptures ~2s of live audio from master bus with peak/RMS per frequency band
get_plugin_libraryLists all installed AU and VST3 plugins on your system
analyze_mixRuns heuristic checks for frequency buildup, dynamics, headroom, and routing issues
set_device_parameterChanges a device parameter using human-readable units (dB, ms, Hz, etc.)
toggle_device_bypassEnables or bypasses a device for A/B comparison
create_group_trackCreates a new group track containing specified tracks
set_track_routingChanges a track's output routing to another track or bus
get_bridge_healthReturns bridge performance metrics from the M4L device

Requirements

  • Ableton Live 11+ with Max for Live
  • Node.js 18+
  • A desktop MCP client — Claude Desktop (recommended), Claude Code, Cursor, or similar

Environment variables

VariableDefaultDescription
WS_PORT8765WebSocket port for bridge connection

License

PolyForm Shield 1.0.0 — free to use, modify, and distribute. You may not use this software to build a competing product.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y talkback-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-jmedure-talkback": {
      "command": "npx",
      "args": [
        "-y",
        "talkback-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

talkback-mcpnpm

Compatible MCP Clients

io.github.jmedure/talkback works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More