← All Tools

REAPER MCP

v1.3.2

MCP server for REAPER DAW. AI assistants can control mixing, mastering, MIDI composition, and full music production workflows.

Overview

REAPER MCP connects AI assistants to REAPER DAW through file-based communication. Control tracks, FX, takes, routing, automation, MIDI composition, and mastering workflows with 158 tools. Works with stock REAPER - no external plugins required.

Features

  • 158 MCP tools for complete DAW control
  • Mixing - Tracks, volume, pan, mute, solo, FX, routing
  • Takes & comping - Per-take FX, switch/explode/crop takes, lane comping
  • MIDI - Create items, add/edit notes, batch operations
  • Audio editing - Import, split, fade, duplicate
  • Mastering - One-click chains, parallel compression, buses
  • Automation - Envelope points, automation modes
  • Zero configuration - File-based communication, no network setup
  • Stock REAPER - Uses built-in Lua, no additional installations

Requirements

  • REAPER (any recent version)
  • Python 3.8+
  • An MCP-compatible AI client (Claude Desktop, Claude Code, etc.)

Installation

Step 1: Get the Server

Clone the repository and install its Python dependencies:

git clone https://github.com/TwelveTake-Studios/reaper-mcp
cd reaper-mcp
pip install -r requirements.txt

Step 2: Set Up the Bridge Script

Copy reaper_mcp_bridge.lua to your REAPER Scripts folder:

Windows: %APPDATA%\REAPER\Scripts\

macOS: ~/Library/Application Support/REAPER/Scripts/

Linux: ~/.config/REAPER/Scripts/

Then load the script via REAPER's Actions menu (Actions → Show action list → Load ReaScript).

Step 3: Configure Your AI Client

Choose your AI assistant and add the configuration:

Claude Desktop

Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "reaper": {
      "command": "python",
      "args": ["path/to/reaper_mcp_server.py"]
    }
  }
}
ChatGPT Desktop

Settings → Beta features → Enable MCP servers, then add to config:

{
  "mcpServers": {
    "reaper": {
      "command": "python",
      "args": ["path/to/reaper_mcp_server.py"]
    }
  }
}
Cursor

Settings → Features → MCP Servers, or add to .cursor/mcp.json:

{
  "mcpServers": {
    "reaper": {
      "command": "python",
      "args": ["path/to/reaper_mcp_server.py"]
    }
  }
}
Other MCP Clients

For Windsurf, Continue, Zed, or any other MCP-compatible client, add the server to your client's MCP configuration. The standard format is:

{
  "mcpServers": {
    "reaper": {
      "command": "python",
      "args": ["path/to/reaper_mcp_server.py"]
    }
  }
}

Check your client's documentation for the config file location. Common paths:

  • Windsurf: ~/.codeium/windsurf/mcp_config.json
  • Continue: ~/.continue/config.json
  • Zed: ~/.config/zed/settings.json

Step 4: Verify Connection

With REAPER running and the bridge script loaded:

python test_connection.py

If connection is successful, you're ready to go.

Available Tools (158)

Category Count Key Functions
Track Operations23Create/delete tracks, volume, pan, mute, solo
FX Operations16Add plugins, manage parameters, presets
Take FX11Per-take FX: add, remove, parameters, bypass
Take Management & Comping7List/switch/delete takes, explode, crop, lane comping
Audio Items17Import audio, split, fade, duplicate
Project15Save/open projects, tempo, rendering
Selection & Editing11Undo/redo, track selection, time selection
Transport10Play, stop, record, cursor positioning
Routing9Sends, sidechains, sidechain compression
Markers & Regions8Add/manage markers and regions
Automation8Envelope points, automation modes
FX Parameter Automation5Read/write FX parameter envelopes
MIDI Operations8Create items, add/edit notes
Mixing Helpers6Mastering chains, parallel compression, buses
Advanced4Run actions, access FX state data

Usage Examples

Track Operations

Mute track 2
Set track 0 volume to -6dB
Create a new track called "Vocals"

Mixing

Add ReaComp to the bass track
Create a drum bus
Set the threshold to -20dB

Takes & Comping

List the takes on the first item of the vocal track
Switch to take 2 and add ReaEQ to it
Crop the item to the active take

MIDI

Create a 4-bar MIDI item on track 0
Add a C4 quarter note at beat 1

Track Indexing

Tracks use 0-based indexing:

  • First track = index 0
  • Second track = index 1
  • Master track = index -1

Common Plugin Names

ReaEQ ReaComp ReaLimit ReaGate ReaDelay ReaVerbate

FAQ

Do I need REAPER running to use this?

Yes. REAPER must be running with the bridge script loaded for the MCP server to communicate with it.

How does communication work?

By default, file-based communication: the server writes JSON requests to a file, and REAPER's Lua bridge script reads and responds. This is the most reliable method and requires no network configuration.

Is there latency?

About 50ms per file-based call. Batch operations when possible for better performance.

Can I use third-party plugins?

Yes. Any VST/AU/JS plugin installed in REAPER can be controlled. Use the plugin's exact name as it appears in REAPER's FX browser.

Connection failed - what do I check?

1) REAPER is running. 2) Bridge script is loaded (Actions → Running/background scripts). 3) Check script folder location. 4) Try restarting REAPER.

Is this affiliated with Cockos?

No. This is an unofficial, third-party tool. REAPER is a product of Cockos Incorporated.

Troubleshooting

Connection failureVerify REAPER running, bridge script active
Track not foundCheck 0-based indexing, use -1 for master
Slow responseBatch operations when possible (~50ms latency per call)
Script won't loadEnsure Lua support enabled in REAPER

Need a custom MCP server?

We build MCP servers like this one — wiring AI assistants into DAWs, creative software, and internal tools. That is a service we offer. Tell us your workflow and we will scope it.

Get a custom MCP built

Questions or Issues?

Open an issue on GitHub or get in touch.