Enables MIDI controller mapping, MIDI CC automation, and MIDI routing within the Carla audio environment for professional audio production workflows.
Provides Windows VST plugin support on Linux systems through Wine integration, allowing access to Windows-only audio plugins in the Carla host environment.
Carla MCP Server
A comprehensive Model Context Protocol (MCP) server for complete control over the Carla audio plugin host. This server enables natural language control of professional audio production workflows through Large Language Models.
šÆ Project Overview
The Carla MCP Server provides 45 tools across 7 functional categories for complete audio production control. Built with Python 3.12+, it offers a production-ready interface between AI assistants and professional audio software.
Key Features:
š¤ AI-Native: Designed for natural language control through LLMs
šļø Complete Control: 45 tools covering every aspect of audio production
ā” Real-Time: Low-latency monitoring and analysis capabilities
š§ Professional: Production-ready with comprehensive error handling and type safety
š Scalable: Modular architecture supporting complex workflows
š What You Can Do
Ask an AI assistant to help with professional audio tasks:
"Load my mixing project and set up a drum bus with compression"
"Create a filter sweep effect on the lead synth, sync it to tempo"
"Analyze my mix and suggest improvements for better frequency balance"
"Set up parallel compression for vocals with different verse/chorus settings"
"Prepare this session for live performance with low latency"
šļø Complete Feature Set
šļø Session Management (8 tools)
Load/save projects with auto-connection
Create A/B snapshots for comparison
Hot-swap between sessions with crossfading
Export/import multiple formats
Session cleanup and optimization
š Plugin Control (8 tools)
Load VST2/3, LV2, LADSPA, DSSI, AU, SF2/SFZ plugins
Scan directories for available plugins
Clone and replace plugins with parameter mapping
Batch processing with plugin chains
Real-time plugin state control
š Audio Routing (7 tools)
Complex audio/MIDI routing matrix
Bus creation and management with grouping
Sidechain configuration for compression
Real-time routing matrix inspection
šļø Parameter Automation (8 tools)
Advanced automation with multiple curve types
MIDI CC mapping with custom ranges
Macro controls for multiple parameters
Direct parameter get/set operations
Real-time parameter control and monitoring
š Real-Time Analysis (5 tools)
Spectrum analysis with customizable FFT
Audio level metering (Peak, RMS, LUFS)
Latency measurement and optimization
Feedback loop detection and prevention
Parameter capture over time
š JACK Integration (6 tools)
JACK port management and connections
System audio routing
Port monitoring and status
Auto-connection for plugins
Connection stability verification
š„ļø Hardware Control (3 tools)
Audio interface configuration
Device discovery and management
Control surface mapping
Monitor calibration support
š Installation
Prerequisites
Carla Audio Plugin Host
# Ubuntu/Debian sudo apt install carla carla-dev # Or build from source for latest features git clone https://github.com/falkTX/Carla.git cd Carla make sudo make installPython Environment
# Requires Python 3.12+ python3 --version # Should be 3.12 or higherAudio System
# JACK Audio Connection Kit (recommended) sudo apt install jackd2 jack-tools # For Windows VST support on Linux sudo apt install wine wine32 wine64
Setup
Clone and Install
git clone https://github.com/your-org/carla-mcp-server.git cd carla-mcp-server # Install dependencies pip install -r requirements.txt # Or install with development tools pip install -e ".[dev]"Configure Environment
# Set Carla path (adjust to your installation) export CARLA_PATH=/usr/share/carla export PYTHONPATH=$CARLA_PATH/source/frontend:$PYTHONPATH export LD_LIBRARY_PATH=/usr/lib/carla:$LD_LIBRARY_PATHTest Installation
# Run test suite pytest tests/ # Test Carla integration python -c "import carla_backend; print('Carla integration working!')"
š® Usage
Quick Start
MCP Client Integration
Add to your MCP client configuration (e.g., Claude Desktop):
Natural Language Examples
Once connected to an LLM, you can use natural language for complex audio tasks:
Basic Mixing Session
Creative Sound Design
Problem Solving
Analyze A Mix's Song Structure
š ļø Development
Project Structure
Running Tests
Code Quality
Adding New Tools
Create Tool Method in appropriate
tools/
module:async def my_new_tool(self, param1: str, param2: int = 10) -> dict: """Tool description for documentation.""" try: # Implementation return {"success": True, "result": data} except Exception as e: return {"success": False, "error": str(e)}Register Tool in
tool_registry.py
:ToolDefinition( name="my_new_tool", description="Description for MCP clients", handler="tool_class_name", input_schema={/* JSON schema */} )Add Tests in
tests/
:async def test_my_new_tool(): # Test implementation
š§© Complete Tool Reference
Session Management
load_session
- Load Carla project filessave_session
- Save current session statecreate_snapshot
- Create A/B comparison snapshotsswitch_session
- Hot-swap between sessionslist_sessions
- Show available sessionsdelete_session
- Remove sessionsexport_session
- Export to audio formatsimport_session
- Import from external formats
Plugin Control
load_plugin
- Load any plugin formatscan_plugins
- Discover available pluginscontrol_plugin
- Activate/bypass/solo/removebatch_process
- Apply plugin chains to audiolist_plugins
- Show loaded pluginsget_plugin_info
- Detailed plugin informationclone_plugin
- Duplicate plugins with settingsreplace_plugin
- Swap plugins with parameter mapping
Audio Routing
connect_audio
- Create audio connectionscreate_bus
- Build audio buses for groupingsetup_sidechain
- Configure sidechain routingget_routing_matrix
- View complete routingdisconnect_audio
- Remove connectionscreate_send
- Set up send/return effectsset_connection_gain
- Adjust connection levels
Parameter Automation
automate_parameter
- Create automation curvesmap_midi_cc
- MIDI controller mappingcreate_macro
- Multi-parameter macrosrecord_automation
- Capture parameter changesset_parameter
- Set plugin parameter values directlyget_parameter
- Get plugin parameter values and inforandomize_parameters
- Creative randomizationmorph_parameters
- Smooth parameter transitions
Real-Time Analysis
analyze_spectrum
- FFT spectrum analysismeasure_levels
- Peak/RMS/LUFS meteringcapture_plugin_parameters
- Parameter monitoringdetect_feedback
- Feedback loop detectionanalyze_latency
- System latency measurement
JACK Integration
list_jack_ports
- Show available JACK portsconnect_jack_ports
- Connect JACK portsdisconnect_jack_ports
- Disconnect JACK portsget_jack_connections
- View port connectionsconnect_system_to_plugin
- Route system audio to pluginsconnect_plugin_to_system
- Route plugins to system output
Hardware Control
configure_audio_interface
- Set up audio hardwarelist_audio_devices
- Discover audio devicesmap_control_surface
- Configure MIDI controllers
š Documentation
API.md - Complete tool reference with examples
ARCHITECTURE.md - Technical architecture documentation
CONTRIBUTING.md - Development guidelines
š§ Configuration
Server Configuration (config/config.yaml
)
Environment Variables
š¤ Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Quick Contribution Steps:
Fork the repository
Create a feature branch
Add tests for new functionality
Ensure all tests pass
Submit a pull request
š License
This project is licensed under the GPL-2.0-or-later License - see the LICENSE file for details.
š Credits
Built on top of Carla by falkTX
Uses the Model Context Protocol by Anthropic
Inspired by the audio production community
š Support
Issues: GitHub Issues
Discussions: GitHub Discussions
Documentation: See
docs/
directoryCommunity: Join the Carla Discord community
Ready to revolutionize your audio production workflow with AI assistance? Get started today! šµāØ
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables complete control over the Carla audio plugin host through natural language, providing 45 tools across session management, plugin control, audio routing, parameter automation, and real-time analysis for professional audio production workflows.