Skip to main content

REAPER MCP

Control REAPER with your AI assistant.

An MCP server that lets an AI assistant run mixing, mastering, MIDI, and rendering tasks inside REAPER, from plain-language requests.

v1.6.0 / Stable

WHAT YOU CAN DO

Just ask, in plain language

Your AI assistant does it in REAPER, in your open project. A few examples:

Mixing

  • "Add a compressor to the bass track"
  • "Set up sidechain compression from the kick to the bass"
  • "Create a drum bus and route tracks 1 through 4 to it"
  • "Add a mastering chain to the master track"

Tracks & transport

  • "How many tracks are in my project?"
  • "Set the vocal track to -6 dB and mute the drums"
  • "Add a marker called Chorus at the cursor"
  • "Set the tempo to 120 BPM"

FX & plugins

  • "What plugins are on the vocal track?"
  • "Set the compressor threshold to -20 dB"
  • "Bypass the EQ on track 3"
  • "Automate the filter cutoff over four bars"

MIDI

  • "Create a 4-bar MIDI item and add a C major chord"
  • "Quantize the drums with a bit of swing"
  • "Humanize the hi-hats so they feel less robotic"
  • "Snap the bassline to E minor"

Editing & comping

  • "Split the item at the cursor and fade the tail"
  • "Comp lane 2 across the vocal takes"
  • "Duplicate this item four times"

Rendering & project

  • "Render the project to a WAV file"
  • "Render just the Chorus region"
  • "Save the project"
Disclaimer: REAPER MCP is an independent, unofficial tool. It is not affiliated with, authorized, or endorsed by Cockos Incorporated. "REAPER" is a trademark of Cockos Incorporated, used here only to identify compatible software.

How it works

REAPER can't talk to your AI assistant on its own, so REAPER MCP has two small pieces:

  • The MCP server — a Python program your AI client runs. Your assistant sends it plain-language requests.
  • The bridge script — a tiny stock-Lua script (reaper_mcp_bridge.lua) that runs inside REAPER and carries out those requests. No dependencies, nothing extra to install in REAPER.

The two talk through files on your own computer — no network, no ports, nothing leaves your machine. Changes happen in your currently open project, in real time, so keep REAPER running with the project you want to work on loaded.

One thing to remember: the bridge runs per session. After you restart REAPER, re-run reaper_mcp_bridge.lua from the Actions list (or add it to a toolbar / startup action) — you'll see a "REAPER MCP Bridge … started" message in REAPER's console each time it's active.

Set it up

Requirements

  • REAPER (any recent version; live-tested through 7.77) — Windows, macOS, or Linux
  • Python 3.8+ — handled for you by uv or pipx in the steps below
  • An MCP-compatible AI assistant (e.g. Claude Desktop, Claude Code, Cursor, Windsurf, VS Code, and other clients with built-in MCP support)

The quick way: let your AI assistant set it up

If your assistant can run terminal commands (Claude Code, Cursor, or VS Code's agent), paste this in — it handles the install and config, then walks you through the one manual step REAPER needs. On plain Claude Desktop, follow the manual steps below instead.

Set up the TwelveTake REAPER MCP server for me.
- It's a Python package on PyPI called twelvetake-reaper-mcp. Install it so it can
  run (uvx or pipx) and add it to my MCP client config as a server named "reaper".
- REAPER needs a small bridge script. Download reaper_mcp_bridge.lua from
  github.com/TwelveTake-Studios/reaper-mcp and copy it into my REAPER Scripts folder.
- Then tell me the one manual step: in REAPER, open Actions -> Show action list ->
  Load ReaScript, choose reaper_mcp_bridge.lua, and Run it. I should see a
  "REAPER MCP Bridge ... started" message in REAPER's console.
- Confirm it works by asking how many tracks are in my project.

Or do it by hand

Step 1 — Install the bridge in REAPER

Download reaper_mcp_bridge.lua from the REAPER MCP repository and copy it into your REAPER Scripts folder:

Windows: %APPDATA%\REAPER\Scripts\
macOS:   ~/Library/Application Support/REAPER/Scripts/
Linux:   ~/.config/REAPER/Scripts/

Then in REAPER: Actions → Show action list → Load ReaScript, choose reaper_mcp_bridge.lua, and click Run. You should see a REAPER MCP Bridge (File-based, Full API) started message in REAPER's console.

Step 2 — Add the server to your AI client

Nearly every MCP client uses the same JSON — an mcpServers entry with a command and its args. Add this to your client's MCP configuration:

{
  "mcpServers": {
    "reaper": {
      "command": "uvx",
      "args": ["twelvetake-reaper-mcp"]
    }
  }
}

Where you put it depends on your client:

  • Claude Desktop — Settings → Developer → Edit Config (opens claude_desktop_config.json); paste the block above.
  • Claude Code — skip the JSON and just run: claude mcp add reaper -- uvx twelvetake-reaper-mcp
  • Cursor — Settings → MCP → Add, or paste the block above into ~/.cursor/mcp.json — same shape.
  • Windsurf — in the Cascade panel, click the MCP icon → Configure, or edit ~/.codeium/windsurf/mcp_config.json — same shape.
  • VS Code — Command Palette → "MCP: Add Server," or edit .vscode/mcp.json. VS Code uses a top-level servers key with "type": "stdio" instead of mcpServers.

Using a different client? Add the same command and args wherever it lists MCP servers. After adding it, fully quit and reopen your client.

Step 3 — Check it's working

With REAPER open and the bridge running, ask your assistant: "How many tracks are in my project?" A number back means everything's connected.

Keeping it updated

The server updates through uvx / pipx (or re-run the setup prompt). When a release changes the bridge, re-download reaper_mcp_bridge.lua into your Scripts folder and re-run it in REAPER so the two stay in step.

Troubleshooting

  • No "Bridge … started" message? Re-run reaper_mcp_bridge.lua from Actions → Show action list, and confirm the file is in your Scripts folder.
  • Assistant can't see the "reaper" server? Fully quit and reopen your client after editing the config, and check the JSON is valid (a stray trailing comma is the usual culprit).
  • "Cannot connect to REAPER"? Make sure REAPER is open and you re-ran the bridge this session — it doesn't persist across REAPER restarts.

What it can control

170+ tools across your whole production workflow. You don't call these directly — you ask in plain language and your assistant picks the right one.

Tracks

Create, rename, delete, volume / pan / mute / solo, phase, width, color, folders, record-arm, inputs, and metering.

FX & plugins

Add, remove, reorder, and bypass any plugin; read and set any parameter; save and load presets.

ReaEQ bands

Dedicated EQ band control in real units (Hz, dB, Q), handling ReaEQ’s non-linear curves correctly.

Takes & comping

Per-take FX, multi-take workflows, explode / crop, and REAPER 7 fixed-lane comping.

Routing & sidechain

Sends, receives, channel-specific routing, and complete sidechain setup in a single call.

Automation

Track and FX-parameter envelopes — add and edit points, set automation modes, arm for recording.

MIDI

Create items, add notes individually or in batches, then reshape them — transpose, quantize (with swing), humanize, snap to a scale, stretch, legato, strum, velocity ramps, and overlap cleanup.

Audio items

Import, split, duplicate, fade, position, mute, and copy / paste items.

Markers & regions

Add, edit, and navigate markers and regions — and render by region.

Transport

Play, stop, record, loop, and move the edit cursor.

Project & rendering

Tempo, time signature, save / open, project summary, and render to audio.

Mixing helpers

One-call mastering chain, parallel (NY) compression, and submix buses.

The complete, current tool reference lives in the REAPER MCP repository.

Is it safe to let it change my project?

Yes — the same safety nets you already use in REAPER apply:

  • Undo works. Every change lands in REAPER's own undo history — press Ctrl+Z (or ask your assistant to undo) to reverse it.
  • Nothing is written to disk until you save. Changes live in your open session; close without saving to discard them, or save when you're happy.
  • Runs locally. The server and bridge talk through files on your machine — no network calls, nothing sent anywhere.

For big AI-driven changes, it's still worth saving a copy first (or leaning on REAPER's project auto-backups), the same as any major edit.

FAQ

What is this, in plain terms?

It's a small helper program (an "MCP server") that your AI assistant talks to. Once it's set up, you can ask your assistant — in normal language — to do things in REAPER for you, from adding a compressor to rendering a mix, instead of clicking through it yourself.

Do I need to know how to code?

No. If your assistant can run commands, it can install and configure everything for you from the prompt above. Otherwise it's a download, a couple of pasted settings, and running one script inside REAPER — all shown in the setup steps.

Is it safe to let it change my project?

Yes. Changes go into REAPER's normal undo history (Ctrl+Z reverses them), and nothing is saved to disk until you save the project — so you can always close without saving to discard AI edits. See Safety above.

Does REAPER need to be open?

Yes. It works on your live, currently-open project, and the bridge script must be running (re-run it after each REAPER restart). Keep REAPER open with the project you want to work on loaded.

Why does REAPER need a bridge script?

REAPER can't accept outside requests on its own, so a tiny stock-Lua script runs inside it and relays what your assistant asks for. It has no dependencies and installs nothing extra — you just load and run it. See How it works.

Which platforms are supported?

Windows, macOS, and Linux — anywhere REAPER and Python run. The file-based bridge is the same on all three.

Can I use this with ChatGPT?

It works with any client that can run a local MCP server — Claude Desktop, Cursor, Windsurf, VS Code, and Claude Code among them. ChatGPT isn't one of them today: it generally connects to remote, HTTPS-hosted MCP servers rather than local ones like this. You can wrap a local server as a remote one with a bridge, but a client with built-in local MCP support is the simpler route.

How do updates work?

The server updates through uvx / pipx. When a release changes the bridge, re-download reaper_mcp_bridge.lua and re-run it in REAPER so the two versions match.

Is it still being worked on?

Yes, actively. It just shipped v1.6.0, which added a set of MIDI editing tools, and every release is live-tested against REAPER before it goes out. Check the GitHub repo for the latest.

Is it really free?

Yes — free and open source under the MIT license. If it saves you time, you're welcome to buy us a coffee or support us on Ko-fi.

Want an AI wired into your own software?

We build tools like this for clients, too.

See development services