An MCP server for controlling the Carla audio plugin host
Configuration
View docs{
"mcpServers": {
"agrathwohl-carla-mcp-server": {
"command": "python",
"args": [
"/path/to/carla-mcp-server/server.py"
],
"env": {
"CARLA_PATH": "/usr/share/carla",
"PYTHONPATH": "/usr/share/carla/source/frontend",
"LD_LIBRARY_PATH": "/usr/lib/carla"
}
}
}
}You can run a Carla MCP Server to gain natural language control over your audio production workflow. This server acts as a bridge between AI assistants and Carla, exposing a comprehensive set of tools to manage sessions, plugins, routing, automation, analysis, JACK integration, and hardware control in real time.
Connect an MCP client (such as Claude Desktop) to the Carla MCP Server using the stdio configuration. Start the server and load the client so you can issue natural language requests like loading a project, configuring a drum bus, or setting up live performance routing. You can ask for tasks across session management, plugin control, routing, automation, analysis, and hardware control. The system will perform actions in Carla and report back results or suggested adjustments.
# Prerequisites
python3 --version # should be 3.12 or higher
# Install Carla MCP Server dependencies
# (assumes you have Python and pip available)
pip install -r requirements.txt
# Optional: install development tools
pip install -e ".[dev]"
# Install Carla host and audio system prerequisites per your platform
# See system-specific setup for Carla and JACK integrationThe server is designed to be started as a local stdio process. You will provide a Python command to run the server, along with the path to the server script. You will also configure environment variables that point to your Carla installation and frontend assets.
{
"mcpServers": {
"carla_mcp": {
"type": "stdio",
"command": "python",
"args": ["/path/to/carla-mcp-server/server.py"],
"env": {
"CARLA_PATH": "/usr/share/carla",
"PYTHONPATH": "/usr/share/carla/source/frontend"
}
}
}
}If you want to verify the integration, run the test suite and perform a quick Carla integration test to ensure the MCP server talks to Carla correctly. Use the test harness to confirm routing, plugin control, and automation endpoints respond as expected.
- Ensure Python 3.12+ is in use and that Carla is installed and accessible via CARLA_PATH. - Confirm JACK (or your chosen audio driver) is running if you rely on real-time routing and monitoring. - Validate that environment variables are correctly exported in your shell before launching the MCP server. - Check that the MCP client is configured to connect to the correct stdio command path and environment. - If you encounter import or path errors, verify PYTHONPATH includes Carla frontend sources.
This server exposes a large set of tools across session management, plugin control, audio routing, parameter automation, real-time analysis, JACK integration, and hardware control. It is production-ready with error handling and type safety in mind and is designed to scale across complex audio production workflows.
Load Carla project files into the MCP-managed session.
Save the current session state to disk for later restoration.
Create an A/B snapshot of the current session for comparison.
Hot-swap between sessions with crossfade or seamless transition.
List available sessions stored on disk or in the project space.
Remove a saved session from storage.
Export the current session to common audio formats.
Import a session from external formats.
Load a plugin in supported formats (VST, LV2, AU, etc.).
Scan plugin directories for available plugins.
Activate, bypass, solo, or remove plugins during playback.
Apply a chain of plugins to a set of audio paths.
List all currently loaded plugins.
Retrieve detailed info about a plugin.
Duplicate a plugin instance with its settings.
Swap a plugin while preserving parameter mappings.
Create complex audio connections and routings.
Create and manage audio buses for grouping.
Configure sidechain routing for dynamics processing.
Inspect the current audio/MIDI routing matrix.
Remove audio connections.
Set up send/return effects routing.
Adjust connection levels in the routing graph.
Create automation curves for plugin parameters.
Map MIDI CC to plugin parameters with ranges.
Set a plugin parameter value directly.
Retrieve parameter values and info from plugins.
Create macros that control multiple parameters.
Capture parameter changes over time.
Apply creative randomization to parameters.
Smooth parameter transitions for dynamic changes.
Perform FFT-based spectrum analysis.
Meter audio levels with Peak, RMS, LUFS options.
Monitor plugin parameters over time.
Detect potential feedback loops in routing.
Measure system latency and identify bottlenecks.
Show available JACK ports.
Connect JACK ports to routes.
Disconnect JACK ports from routes.
View active JACK connections.
Route system audio to plugins.
Route plugins to system output.
Configure the audio interface parameters.
Discover available audio devices.
Map MIDI controllers to software controls.