All notable changes to the Carla MCP Server will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Comprehensive documentation overhaul with accurate API reference
- Natural language usage examples for all 45+ tools
- Complete project architecture documentation
- Professional development guidelines and contribution workflow
- Updated README.md to reflect actual project capabilities
- Improved tool registry to expose all implemented functionality
- Enhanced installation instructions with generic paths
- Documentation gaps between implemented features and exposed tools
- Outdated project structure information
- Environment-specific installation paths
load_session- Load Carla project files with auto-connection supportsave_session- Save current session state with compression optionscreate_snapshot- Create A/B comparison snapshots for session statesswitch_session- Hot-swap between sessions with optional crossfadinglist_sessions- Display all available sessions with metadatadelete_session- Remove sessions with cleanupexport_session- Export sessions to various audio formatsimport_session- Import sessions from external formats
load_plugin- Load VST2/3, LV2, LADSPA, DSSI, AU, SF2/SFZ pluginsscan_plugins- Discover available plugins in directoriescontrol_plugin- Activate, bypass, solo, and remove pluginsbatch_process- Apply plugin chains to audio fileslist_plugins- Show all loaded plugins with statusget_plugin_info- Retrieve detailed plugin information and parametersclone_plugin- Duplicate plugins with all settings preservedreplace_plugin- Swap plugins with intelligent parameter mapping
connect_audio- Create audio connections between pluginscreate_bus- Build audio buses for grouping and organizationsetup_sidechain- Configure sidechain routing for compressionget_routing_matrix- View complete routing configurationdisconnect_audio- Remove specific audio connectionscreate_send- Set up send/return effect routingset_connection_gain- Adjust connection levels and gain staging
automate_parameter- Create automation curves with multiple typesmap_midi_cc- Map MIDI controllers to plugin parameterscreate_macro- Create macro controls for multiple parametersrecord_automation- Capture real-time parameter changesset_parameter- Direct parameter value controlget_parameter- Read current parameter values and inforandomize_parameters- Creative parameter randomizationmorph_parameters- Smooth transitions between parameter states
analyze_spectrum- FFT spectrum analysis with customizable settingsmeasure_levels- Audio level metering (Peak, RMS, LUFS)capture_plugin_parameters- Monitor parameter values over timedetect_feedback- Automatic feedback loop detection and preventionanalyze_latency- System and plugin latency measurement
list_jack_ports- Show available JACK ports with filteringconnect_jack_ports- Connect JACK ports for audio routingdisconnect_jack_ports- Disconnect JACK port connectionsget_jack_connections- View all current JACK connectionsconnect_system_to_plugin- Route system audio inputs to pluginsconnect_plugin_to_system- Route plugin outputs to system
configure_audio_interface- Set up audio hardware parameterslist_audio_devices- Discover available audio devicesmap_control_surface- Configure MIDI controller mappings
- MCP Server Core (
server.py- 701 lines): Complete MCP protocol implementation - Carla Controller (
carla_controller.py- 800 lines): High-level Carla backend wrapper - Tool Registry (
tool_registry.py- 569 lines): Automatic tool registration and schema generation - Type System (
types.py- 263 lines): Comprehensive type definitions and protocols - Base Framework (
base_tools.py- 355 lines): Foundation for all tool implementations
- Audio Monitor (
audio_monitor.py- 108 lines): Real-time audio level monitoring - CPU Monitor (
cpu_monitor.py- 128 lines): System performance tracking - Event Monitor (
event_monitor.py- 74 lines): Real-time event streaming
- Unit Tests (
test_server.py- 192 lines): Component-level testing - Integration Tests (
test_complete_suite.py- 468 lines): End-to-end workflow testing - Async Test Support: Full pytest-asyncio integration
- Mock Strategies: Comprehensive mocking for isolated testing
- Code Quality: Black, isort, flake8, mypy integration
- Pre-commit Hooks: Automated code quality checking
- Type Safety: Comprehensive type hints throughout codebase
- Error Handling: Consistent error response format across all tools
- Comprehensive API Reference: All 45+ tools documented with examples
- Natural Language Examples: LLM interaction patterns and workflows
- Architecture Documentation: Complete technical architecture overview
- Development Guidelines: Professional contribution workflow
- Environment Variables: Flexible path and configuration management
- MCP Client Integration: Ready-to-use configuration examples
- Audio System Setup: JACK integration with optimized settings
- Plugin Path Management: Configurable plugin discovery and caching
- Core: mcp>=0.1.0, PyQt5>=5.15.0, numpy>=1.21.0, scipy>=1.7.0
- System: psutil>=5.8.0 for performance monitoring
- Async: asyncio-mqtt>=0.10.0, aiofiles>=0.8.0 for real-time operations
- Config: pyyaml>=5.4.0, python-dotenv>=0.19.0 for configuration management
- Total Codebase: ~6,500 lines of production Python code
- Tool Implementation: 45+ methods across 7 functional categories
- Test Coverage: 660+ lines of comprehensive test suite
- Documentation: 3,000+ lines of professional documentation
- Real-Time: Low-latency audio operations with JACK integration
- Async: Non-blocking tool execution with concurrent operation support
- Memory Efficient: Optimized parameter caching and resource management
- Scalable: Modular architecture supporting complex multi-plugin workflows
- Plugin Formats: VST2, VST3, LV2, LADSPA, DSSI, AU, SF2, SFZ support
- Audio Routing: Complex matrix routing with feedback detection
- Real-Time Analysis: FFT spectrum analysis and comprehensive metering
- Automation: Multi-curve parameter automation with MIDI integration
- Python: 3.12+ with comprehensive async support
- Operating Systems: Linux (primary), macOS, Windows 10+
- Audio: JACK Audio Connection Kit for professional routing
- Memory: 4GB minimum, 8GB+ recommended for complex projects
- Type Safety: Complete mypy type checking with strict mode
- Code Standards: Black formatting, isort imports, flake8 linting
- Test Coverage: Unit and integration tests for all major components
- Error Handling: Comprehensive exception handling with detailed error responses
- Natural Language: Designed for LLM control with conversational patterns
- Context Awareness: Session state preservation across interactions
- Workflow Intelligence: Multi-step operation coordination
- User Intent: Advanced parameter inference from natural language
- Windows VST Support: Requires Wine configuration on Linux systems
- Plugin Scanning: Large plugin libraries may require extended scan times
- JACK Dependencies: Requires proper JACK Audio Connection Kit setup
- VST Windows Plugins: Use
winecfgto configure Wine prefix properly - Plugin Performance: Enable plugin bridging for stability with large plugin counts
- Audio Latency: Use 128-sample buffers for optimal real-time performance
This is the initial release of the Carla MCP Server. No migration is required.
- Carla Integration: Built on the excellent Carla by falkTX
- MCP Protocol: Uses Model Context Protocol by Anthropic
- Audio Community: Inspired by the professional audio production community
- Open Source: Leverages NumPy, SciPy, and other open-source audio tools
- Initial implementation and architecture
- Comprehensive documentation and testing
- Natural language integration patterns
🎵 Ready to revolutionize audio production with AI assistance! ✨
For complete documentation, see:
- README.md - Getting started and overview
- API.md - Complete tool reference with examples
- ARCHITECTURE.md - Technical architecture details
- CONTRIBUTING.md - Development guidelines