› cavi-ai/
GitHub ↗

Configuration

All configuration is environment variables. Each one is optional.

VariableDefaultPurpose
ABLETON_MCP_BRIDGE_SOCKET/tmp/cavi-ableton-mcp.sockThe bridge's Unix socket. Read by both the bridge inside Live and the server.
ABLETON_MCP_CATALOG_PATHunsetThe NKS catalog database for preset search. Unset means preset search returns an empty collection.
ABLETON_MCP_BROWSER_METADATA_PATH~/.cavi/ableton-mcp/browser-metadata.sqliteTags and favorites for Live browser items.
ABLETON_MCP_SPLICE_ROOTSExisting macOS ~/Splice/Sounds and ~/Library/Splice/Plug-in/samples directories; otherwise []Override with a JSON array of absolute local folders, or set [] to disable detection. list_local_splice_roots reports availability. Cache files do not establish license rights; cloud search and sync are not supported.

| ABLETON_MCP_CONFIRMATION_DIR | ~/.cavi/ableton-mcp/confirmations | Single-use confirmation tokens for CLI call. | | ABLETON_MCP_SNAPSHOT_DIR | ~/.cavi/ableton-mcp/snapshots | Private named track-state snapshots; device-chain and MIDI-feel templates use separate subdirectories. | | ABLETON_MCP_FIXTURE | unset | 1 makes npm start serve fixture data without Live. ableton-mcp serve ignores it. | | ABLETON_MCP_TOOL_PROFILE | all | core advertises 63 common tools; producer advertises the compact local specialist workflow; directory advertises individual native tools without producer coordinators; all advertises the full catalog. Changing this requires a server restart. CLI call is unaffected. | | ABLETON_MCP_PRODUCER_CONFIG | unset | JSON with independent optional creative and functional runtimes. Supports direct Ollama and ACP v1 agents. See Production specialists. | | ABLETON_MCP_PRODUCER_DIR | ~/.cavi/ableton-mcp/producer | Private project context, proposals, intent, feedback and execution receipts. Artifacts persist until removed. | | ABLETON_MCP_LIVE_APP_PATH | Detected from the running bridge | Absolute Ableton Live .app bundle path. Required for open_live_set with mode: "launch" while Live is closed; optional for open/save when detection from a running bridge succeeds. |

Local Splice search is separate from Live's browser. To load a local cache file through Live, add its containing folder to Live's Places → Add Folder, then search that exact user_folders subtree with search_browser_items and pass the returned path to load_browser_item. A WAV loaded onto an audio track can create a Session clip without adding a device; inspect clipEffect and the clip state, not only deviceChainEffect. Live's built-in Splice browser root may still be unavailable when its account integration is not active.

Live reads ABLETON_MCP_BRIDGE_SOCKET from its own launch environment. open_live_set with mode: "launch" passes the configured socket to the new process through macOS Launch Services. Apps started from the Dock or Finder don't inherit your shell's variables. For a custom socket, use launch mode or start Live's executable from the same shell, for example "/Applications/Ableton Live 12 Suite.app/Contents/MacOS/Live".

Files#

PathPurpose
config/plugins/*.jsonPer-product preset discovery for the NKS catalog. See Preset catalog.
config/artwork/*.jsonInputs for the NKS artwork pipeline. See NKS artwork.
reports/nks/Default manifest and catalog output. Ignored by git.