Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

bitwig-mcp-server

MCP.Pizza Chef: jxstanford

The bitwig-mcp-server is a Model Context Protocol server designed to integrate Bitwig Studio with AI models like Claude, enabling real-time AI-driven control and interaction with the digital audio workstation. It facilitates AI-powered music production workflows by exposing Bitwig Studio's environment and controls to LLMs, allowing advanced automation and creative assistance within the DAW. This server is a work in progress and aims to bridge AI capabilities with music production software.

Use This MCP server To

Control Bitwig Studio DAW via AI commands Automate music production tasks in Bitwig Studio Enable AI-driven composition and arrangement Integrate Bitwig Studio with LLM-based workflows Expose Bitwig Studio context for AI analysis and generation

README

Bitwig MCP Server

Release Build status codecov License

A Model Context Protocol (MCP) server for Bitwig Studio that allows Claude to control your DAW.

Warning! This is a work in progress. Documentation and implementation may be out of sync, and not all functionality may work as expected.

Features

  • AI-Powered Music Production: Control Bitwig Studio with Claude via MCP
  • Transport Controls: Play, stop, and set tempo
  • Mixer Controls: Adjust volume, pan, and mute/unmute tracks
  • Device Controls: Manipulate device parameters
  • Project Information: Access track and device information
  • Templates and Prompts: Pre-configured workflows for common tasks

Installation

Prerequisites

Install from GitHub

# Clone the repository
git clone https://github.com/jxstanford/bitwig-mcp-server.git
cd bitwig-mcp-server

# Install dependencies
uv sync

Usage

1. Configure Bitwig Studio

  1. If necessary, add a virtual MIDI device for OSC
  2. Follow Driven by Moss installation instructions for Bitwig 5.2+
  3. Open or restart Bitwig Studio
  4. Go to Settings > Controllers
  5. Click "Add Controller" and select "Open Sound Control" and "OSC"
  6. Configure the receive port (default: 8000) and send port (default: 9000)
  7. Enable the controller

2. Run the Bitwig MCP Server

# Run the server with default settings
python -m bitwig_mcp_server

# Or run with custom settings
python -m bitwig_mcp_server --host 127.0.0.1 --send-port 8000 --receive-port 9000 --transport stdio --debug

3. Add to Claude Desktop

# Install the server in Claude Desktop
mcp install bitwig_mcp_server/__main__.py

Then open Claude Desktop and select the Bitwig MCP Server from the MCP Servers dropdown.

Available Tools

The Bitwig MCP Server provides the following tools:

Transport Controls

  • play: Toggle play/pause state or set it to a specific state
  • stop: Stop playback
  • set_tempo: Set the tempo in beats per minute

Track Controls

  • set_track_volume: Set track volume (0-128)
  • set_track_pan: Set track pan position (0-128)
  • set_track_mute: Mute, unmute, or toggle mute state for a track

Device Controls

  • set_device_parameter: Set a device parameter value (0-128)

Information

  • get_project_info: Get information about the current Bitwig project
  • get_tracks_info: Get information about all tracks in the project
  • get_track_info: Get information about a specific track
  • get_device_parameters: Get information about the selected device parameters

Available Resources

  • bitwig://project/info: Project information
  • bitwig://transport: Transport state
  • bitwig://tracks: All tracks in the project
  • bitwig://track/{index}: Specific track information
  • bitwig://devices: Active devices
  • bitwig://device/parameters: Parameters for the selected device

Example Prompts

  • setup_mixing_session: Set up a new mixing session with default settings
  • create_track_template: Create a track template with specific devices and settings
  • optimize_track_settings: Get recommendations for optimizing track settings

Configuration

The server can be configured through:

  1. Environment variables or .env file
  2. Command line arguments
  3. Settings in bitwig_mcp_server/settings.py

Command Line Arguments

python -m bitwig_mcp_server --help

Development

Environment Setup

# Install dev dependencies
uv sync

# Install pre-commit hooks
uv run pre-commit install

Running Tests

# Run unit tests (no Bitwig required)
make test

# Run all tests including Bitwig integration tests
# (requires Bitwig Studio running with OSC enabled)
make test-all

Code Quality

# Run code quality checks
make check

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

Thanks to Jürgen Moßgraber for publishing the Driven by Moss package. This package leverages that package to interact with Bitwig.

bitwig-mcp-server FAQ

How do I install the bitwig-mcp-server?
Installation typically involves downloading the server from GitHub, following the provided setup instructions, and connecting it to your Bitwig Studio environment.
Is the bitwig-mcp-server compatible with all versions of Bitwig Studio?
Compatibility depends on Bitwig Studio's API and the server's updates; check the GitHub repo for supported versions.
Can I use the bitwig-mcp-server with AI models other than Claude?
Yes, while designed for Claude, it can work with other LLMs supporting MCP, such as OpenAI's GPT-4 and Anthropic's Claude.
What functionality is currently supported by the bitwig-mcp-server?
The server supports AI control of Bitwig Studio, including music production commands, but some features may be incomplete as it is a work in progress.
How secure is the bitwig-mcp-server when connecting AI to my DAW?
The server follows MCP principles for scoped and secure model interaction, but users should review security settings and updates regularly.
Where can I find documentation and support for the bitwig-mcp-server?
Documentation and support are available on the GitHub repository, though some parts may be incomplete due to ongoing development.