home / mcp / carla mcp server

Carla MCP Server

An MCP server for controlling the Carla audio plugin host

Installation
Add the following to your MCP client configuration file.

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.

How to use

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.

How to install

# 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 integration

Configuration and usage notes

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

Example MCP client configuration (stdio)

{
  "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"
      }
    }
  }
}

Running tests and development checks

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.

Troubleshooting tips

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

Notes

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.

Available tools

load_session

Load Carla project files into the MCP-managed session.

save_session

Save the current session state to disk for later restoration.

create_snapshot

Create an A/B snapshot of the current session for comparison.

switch_session

Hot-swap between sessions with crossfade or seamless transition.

list_sessions

List available sessions stored on disk or in the project space.

delete_session

Remove a saved session from storage.

export_session

Export the current session to common audio formats.

import_session

Import a session from external formats.

load_plugin

Load a plugin in supported formats (VST, LV2, AU, etc.).

scan_plugins

Scan plugin directories for available plugins.

control_plugin

Activate, bypass, solo, or remove plugins during playback.

batch_process

Apply a chain of plugins to a set of audio paths.

list_plugins

List all currently loaded plugins.

get_plugin_info

Retrieve detailed info about a plugin.

clone_plugin

Duplicate a plugin instance with its settings.

replace_plugin

Swap a plugin while preserving parameter mappings.

connect_audio

Create complex audio connections and routings.

create_bus

Create and manage audio buses for grouping.

setup_sidechain

Configure sidechain routing for dynamics processing.

get_routing_matrix

Inspect the current audio/MIDI routing matrix.

disconnect_audio

Remove audio connections.

create_send

Set up send/return effects routing.

set_connection_gain

Adjust connection levels in the routing graph.

automate_parameter

Create automation curves for plugin parameters.

map_midi_cc

Map MIDI CC to plugin parameters with ranges.

set_parameter

Set a plugin parameter value directly.

get_parameter

Retrieve parameter values and info from plugins.

create_macro

Create macros that control multiple parameters.

record_automation

Capture parameter changes over time.

randomize_parameters

Apply creative randomization to parameters.

morph_parameters

Smooth parameter transitions for dynamic changes.

analyze_spectrum

Perform FFT-based spectrum analysis.

measure_levels

Meter audio levels with Peak, RMS, LUFS options.

capture_plugin_parameters

Monitor plugin parameters over time.

detect_feedback

Detect potential feedback loops in routing.

analyze_latency

Measure system latency and identify bottlenecks.

list_jack_ports

Show available JACK ports.

connect_jack_ports

Connect JACK ports to routes.

disconnect_jack_ports

Disconnect JACK ports from routes.

get_jack_connections

View active JACK connections.

connect_system_to_plugin

Route system audio to plugins.

connect_plugin_to_system

Route plugins to system output.

configure_audio_interface

Configure the audio interface parameters.

list_audio_devices

Discover available audio devices.

map_control_surface

Map MIDI controllers to software controls.