reaper-daw
AI Music Co-Producer for REAPER DAW
claude mcp add --transport stdio aavishkar-kolte-reaper-daw-mcp-server python -m reaper_daw_mcp_server \ --env REAPER_PATH="path to REAPER executable" \ --env REAPER_PLUGIN_DIR="optional: path to VST plugin directory"
How to use
This MCP server provides an AI-assisted interface to control and edit a REAPER DAW project via a language model that speaks the MCP protocol. It exposes project management capabilities (querying and setting BPM, tracks, and project state), MIDI editing (adding notes, creating MIDI items, arranging items on tracks), and VST/FX management (listing plugins, adding FX to tracks, and adjusting FX parameters). By connecting an MCP-enabled LLM, you can converse with the AI assistant to perform complex DAW edits through natural language commands, enabling hands-free composition and production workflows within REAPER.
To use it, run the MCP server in your environment with the provided command, then connect your MCP-capable LLM client. Use the LLM to request actions such as: getting the current project state (BPM, length, tracks), changing the BPM, creating or deleting tracks, adding MIDI notes to a specific take, creating new MIDI items, listing and adding VST plugins to a track, and querying or tweaking FX parameters. The server translates these requests into REAPER API calls and applies changes in real time, allowing you to iterate on ideas quickly while focusing on the musical outcome.
How to install
Prerequisites
- REAPER DAW (64-bit)
- Python 3.x
- Optional: uv (for the recommended install flow in this project)
Installation steps
- Clone the repository:
git clone https://github.com/Aavishkar-Kolte/reaper-daw-mcp-server
cd reaper-daw-mcp-server
- Install uv (if not already installed):
pip install uv
- Create and activate a virtual environment using uv:
uv venv
# On Unix/macOS
source .venv/bin/activate
# On Windows
.venv\Scripts\activate
- Install dependencies:
uv pip install -r requirements.txt
- Ensure REAPER is installed and accessible, and configure any environment variables as needed (see additional notes below).
Additional notes
Notes and tips:
- The MCP server is designed to work with any MCP-compatible LLM. Ensure the LLM can speak MCP protocol and is configured to connect to the server endpoint.
- Environment variables: REAPER_PATH should point to your REAPER executable, and REAPER_PLUGIN_DIR can be used to point to your VST plugin directory if needed.
- If you run into connectivity issues, verify that the MCP server process has access to REAPER and that any firewall rules allow the LLM client to communicate with the server.
- The server supports common actions such as querying project state, modifying BPM, creating/deleting tracks, and managing MIDI items and FX. For complex workflows, you can script sequences of commands through your LLM to automate entire production tasks.
- When testing MIDI edits, ensure the project contains at least one take on a track to receive MIDI items, and be mindful of timing values when placing notes.
- If using uv-based setup, ensure the correct virtual environment is active when launching the MCP server from your LLM client.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP