producer-pal
v2.0.0
Published
Stdio-to-HTTP bridge for Producer Pal MCP server
Downloads
1,165
Maintainers
Readme
Producer Pal
AI music production assistant for Ableton Live via the Model Context Protocol (MCP).
Quick Start
Run the Producer Pal MCP bridge to connect any MCP client to Ableton Live:
npx producer-palThis starts a stdio-to-HTTP bridge that enables MCP clients (Claude Desktop, Claude Code, Gemini CLI, Codex CLI, VS Code with Cline, LM Studio, etc.) to communicate with the Producer Pal Max for Live device running in Ableton Live.
Prerequisites
- Ableton Live 12.3+ with Max for Live (e.g., Ableton Live Suite)
- Producer Pal Max for Live device - Download
Producer_Pal.amxdand add it to a MIDI track in Ableton Live - Node.js 20+
Version Note: The npm package version is independent of the Max for Live device version. Always use the latest of both.
Configuration
Add Producer Pal to your MCP client's server configuration. The command is
npx producer-pal with optional arguments -y (for auto-install).
Configuration examples:
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"producer-pal": {
"command": "npx",
"args": ["-y", "producer-pal"]
}
}
}claude mcp add producer-pal npx producer-palEdit ~/.gemini/settings.json:
{
"mcpServers": {
"producer-pal": {
"command": "npx",
"args": ["-y", "producer-pal"]
}
}
}Edit ~/.codex/config.toml:
[mcp_servers.producer-pal]
command = "npx"
args = ["-y", "producer-pal"]Edit Settings → Program → Integrations → mcp.json:
{
"mcpServers": {
"producer-pal": {
"command": "npx",
"args": ["-y", "producer-pal", "--small-model-mode"]
}
}
}The --small-model-mode flag enables small model mode. See the
LM Studio guide for details.
Edit cline_mcp_settings.json:
{
"mcpServers": {
"producer-pal": {
"command": "npx",
"args": ["-y", "producer-pal"]
}
}
}Use the command npx producer-pal with optional argument -y for auto-install.
Consult your client's documentation for MCP server configuration syntax.
CLI Flags
-s/--small-model-mode- Enable small model mode (simplifies tool interface for smaller LLMs and automatically enables it on the device)-n/--notation <barbeat|midi-json|stark>- Set the MIDI note notation the tools use (default:barbeat). When using a coding agent to script or build against Producer Pal (generating/parsing MIDI programmatically), pair--notation midi-json(notes as a JSON array) with--format json. For a normal music-making conversation, keep the default. This is a global device setting, so it also affects the chat UI and any other connected clients.-f/--format <json|compact>- Set the tool response format (default:compact, a token-optimized literal).--format jsonreturns standard JSON that coding agents can parse with JSON tooling; keep the defaultcompactfor normal conversations to save tokens. Also a global device setting.-l/--live-api- Enable the opt-in Direct Live API tool (ppal-live-api) on the device, a low-level escape hatch for scripting and debugging directly against the Live Object Model. Not recommended as a default — the specialized tools are tuned for reliable results. The flag only ever enables the tool.
Environment Variables
Optional environment variables can be configured through your MCP client:
MCP_SERVER_ORIGIN- URL for the Max for Live device (default:http://localhost:3350)ALLOW_CONFIGURATION_OVERRIDES- Gate for the setting env vars below (default:false).SMALL_MODEL_MODE,NOTATION,FORMAT,JSON_OUTPUT, andLIVE_APIare honored only when this istrue; otherwise the device's own settings stay authoritative. The equivalent CLI flags above are always applied — this gate covers env vars only, which are ambient and easily inherited.SMALL_MODEL_MODE- Enable small model mode (default:false). Env form of the--small-model-modeflag; requires the gate above.NOTATION- MIDI note notation (barbeat,midi-json, orstark; default:barbeat). Env form of the--notationflag; requires the gate above.FORMAT- Tool response format (jsonorcompact; default:compact). Env form of the--formatflag; requires the gate above.JSON_OUTPUT- Boolean alias forFORMAT(true= json; default:false); requires the gate above.LIVE_API- Enable the Direct Live API tool (default:false). Env form of the--live-apiflag; requires the gate above.ENABLE_LOGGING- Enable file logging (default:false)VERBOSE_LOGGING- Detailed debug logs (default:false)
Example with environment variables:
{
"mcpServers": {
"producer-pal": {
"command": "npx",
"args": ["-y", "producer-pal"],
"env": {
"MCP_SERVER_ORIGIN": "http://localhost:3350",
"ENABLE_LOGGING": "true"
}
}
}
}Note for Claude Desktop users: The
.mcpb extension bundle
provides an easier setup alternative to npx producer-pal.
Documentation
For complete documentation, setup guides, and usage examples, visit:
https://producer-pal.org
Source code and development:
https://github.com/adamjmurray/producer-pal
Support
License
MIT License - see LICENSE
