
REAPER MCP
com.twelvetakev1.7.7更新於 Sep 29, 2026
Lets an AI assistant work in your open REAPER project: mixing, MIDI, routing and rendering.
安裝
在 SourceWeft 中
- 開啟 儀表板中的 REAPER MCP,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
TwelveTake REAPER MCP
A TwelveTake Studios project.
[Tools] [Buy Me a Coffee] [Ko-fi]
Setup guide, examples and FAQ -> twelvetake.com/tools/reaper-mcp
Listed in the MCP Registry as mcp-name: com.twelvetake/reaper-mcp.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control REAPER DAW for mixing, mastering, MIDI composition, and full music production workflows.
Version: 1.7.7
Why This Server
Workflow Automation, Not Just API Wrappers
Most MCP servers just wrap REAPER's API and call it a day. This one includes production workflow helpers that handle multi-step operations in a single call:
Zero Configuration
- File-based communication works immediately — no network setup, no ports to configure
- Stock REAPER Lua only — the bridge script has no dependencies, nothing extra to install in REAPER
- Copy the script, run it, connect your AI assistant
177 Tools Covering Real Production Needs
- Full FX control — add/remove plugins, get/set any parameter by index, manage presets, bypass
- FX parameter automation — automate any plugin knob (flanger depth, filter cutoff, etc.)
- Complete routing — sends, receives, sidechain routing to specific channel pairs
- Automation — create envelopes, add/edit points, set automation modes
- MIDI — create items, add notes individually or in batches, edit velocities
- MIDI editing — transpose, quantize with swing, humanize, snap to a scale, stretch, legato, strum, velocity ramps — each targetable by pitch range, beat window, or channel
- Audio items — import, split, duplicate, fade, position, mute
- Markers & regions — create, edit, navigate, render by region
- Undoable edits: every change the AI makes is one named step in REAPER's undo history ("MCP: delete track"), so Ctrl+Z in REAPER reverses one tool call at a time
Requirements
- REAPER (any recent version; full live suite green through REAPER 7.79)
- Python 3.10+ (for the MCP server)
- An MCP-compatible AI assistant
Installation
1. Install the Bridge Script in REAPER
The bridge script runs inside REAPER and handles communication with the MCP server.
The package can deploy it for you:
That copies reaper_mcp_bridge.lua into REAPER's Scripts folder for your platform, backing
up any existing copy first. It writes nothing else, and the server never touches your REAPER
installation on its own. Pass a path if REAPER is portable or installed somewhere unusual:
--install-bridge "/path/to/REAPER/Scripts".
To do it by hand instead:
- Copy
reaper_mcp_bridge.luato your REAPER Scripts folder:- Windows:
%APPDATA%\REAPER\Scripts\ - macOS:
~/Library/Application Support/REAPER/Scripts/ - Linux:
~/.config/REAPER/Scripts/
- Windows:
- In REAPER: Actions → Show action list → Load ReaScript
- Select
reaper_mcp_bridge.luaand click Run
You should see "REAPER MCP Bridge (File-based, Full API) started" in REAPER's console.
2. Install and Configure the MCP Server
The server is published on PyPI as twelvetake-reaper-mcp. The simplest path is to let your
MCP client launch it with uvx (or pipx) — nothing to install by hand.
Add it to your MCP client's configuration (e.g. .mcp.json, or your client's MCP settings):
VS Code uses a top-level
serverskey with"type": "stdio"instead ofmcpServers.
To confirm the server starts on its own:
It waits quietly for a client to connect — press Ctrl+C to stop.
3. Verify
With REAPER open and the bridge running, ask your assistant "how many tracks are in my project?" — a number back means the server, bridge, and REAPER are all talking.
Run from source (for development)
To work on the server itself, run it from a clone instead of from PyPI. Install the dependencies:
Point your MCP client at the local script:
Then check the connection with:
Nix flake (optional)
If you use Nix, the repo ships a flake-based dev shell that provides Python 3.12 and creates/activates a virtualenv for you:
Then install the dependencies as usual:
This pins the Python version and keeps dependencies isolated from your system.
Note: the
x86_64-linuxdev shell is tested and working. The macOS (Darwin) shells are provided but have not been tested — confirmation from a macOS user is welcome.
How It Communicates
The server and the bridge exchange JSON files in a mailbox directory that the bridge script polls from inside REAPER. There is no network configuration and no port to open.
Bridge directory: REAPER's own Scripts/mcp_bridge_data, resolved per platform:
Override with REAPER_BRIDGE_DIR for portable installs. The server prints the directory it
resolved to stderr on startup, and includes it in any timeout error.
The HTTP transport that shipped alongside this was removed in v1.7.2. It had been deprecated
since v1.2.1, and its request parser could never read a POST body, so no call it was handed
ever reached REAPER. REAPER_COMM_MODE no longer does anything.
Quick Start Examples
Basic Track Operations
Mixing
FX and Parameters
MIDI Composition
Transport and Navigation
Project Management
Tool Reference
Track Operations (23 tools)
FX Operations (16 tools)
ReaEQ Operations (5 tools)
Dedicated ReaEQ band control using REAPER's EQ-specific API, which handles ReaEQ's non-linear parameter curves (dB gain, log frequency, log Q) correctly.
Take FX Operations (11 tools)
Per-take (per-item) FX, mirroring the track FX tools. Every take is addressed by
(track_index, item_index, take_index).
Take Management & Comping (7 tools)
Multi-take workflows: list/switch/delete takes, explode/crop, REAPER 7 fixed-lane comping.
Routing (9 tools)
Transport (10 tools)
Project (15 tools)
MIDI Operations (8 tools)
MIDI Utilities (14 tools)
Editing tools for notes that already exist. Every one takes the same optional filter — a pitch range, an onset window in beats from the item start, and a channel — so you can target a phrase without selecting anything by hand. Timing is in beats, pitch in semitones. Each is one undo step.
remove_overlapping_midi_notes is the only one here that can remove notes; the rest only move
what is already there. It is flagged destructive so a client can prompt first.
Audio Items (17 tools)
Markers & Regions (8 tools)
Automation (8 tools)
FX Parameter Automation (5 tools)
Selection & Editing (11 tools)
Mixing Helpers (6 tools)
Advanced (4 tools)
Track Indexing
- Regular tracks: 0-based index (first track = 0)
- Master track: Use index
-1
Common Plugin Names
Use these names with track_fx_add_by_name():
Third-party plugins use their full name as shown in REAPER's FX browser.
Troubleshooting
"Cannot connect to REAPER"
- Ensure REAPER is running
- Ensure the bridge script is running (check REAPER's console)
- Verify the bridge directory exists
"Track not found"
- Track indices are 0-based
- Use
-1for master track - Check track count with
get_track_count()
Bridge script won't load
- Deploy it with
twelvetake-reaper-mcp --install-bridge, then load and run it from REAPER's action list. REAPER runs the deployed copy, not the one in a clone.
Slow response
- File-based mode has ~50ms latency per call
- Batch operations when possible (e.g.,
add_midi_notes_batch)
Environment Variables
Contributing
See CONTRIBUTING.md. Read the first section before writing a patch: this repo is published from a private working repo through an explicit allowlist, so PRs are ported by hand rather than merged, and it is better to know that up front. A well-diagnosed issue is worth as much here as a patch and costs you far less.
Contributors
People outside the project whose work is in this software are listed in CONTRIBUTORS.md, including several whose diagnoses shipped before anyone here thought to look for them.
License
MIT License - see LICENSE
TwelveTake Studios LLC Website: twelvetake.com Contact: [email protected]
來源:README.md,提交 91aef77
工具
0版本歷史
1- v1.7.7最新Sep 29, 2026

