Bitwig MCP Server
MCP Server for Bitwig Studio
jxstanford
README
Bitwig MCP Server
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
- Python 3.10+
- Bitwig Studio 5.2+
- Driven by Moss 5.2+
- Claude Desktop app with MCP support
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
- If necessary, add a virtual MIDI device for OSC
- Follow Driven by Moss installation instructions for Bitwig 5.2+
- Open or restart Bitwig Studio
- Go to Settings > Controllers
- Click "Add Controller" and select "Open Sound Control" and "OSC"
- Configure the receive port (default: 8000) and send port (default: 9000)
- 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:
- Environment variables or
.env
file - Command line arguments
- 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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.