Reaper MCP logo

Reaper MCP

by xDarkzx

Controls REAPER locally through MCP for AI-assisted composition, vocal chopping, MIDI editing, mixing, FX, routing, and mastering.

Install Reaper MCP

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "xdarkzx-reaper-mcp": {
      "command": "uvx",
      "args": [
        "xdarkzx-reaper-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— the server itself is confirmed live (we called its tools/list endpoint). The stdio install command is a separate, ongoing check.

Overview

xDarkzx/Reaper-MCP connects MCP-compatible AI clients to REAPER, exposing more than 170 tools for music production. It communicates through a local file-based Lua bridge, allowing agents to work with transport, tracks, MIDI, audio items, vocal chops, FX chains, automation, routing, markers, and project data. Reach for it when an agent needs to create or modify a REAPER project rather than only control playback. REAPER must be open with the MCP Lua script running.

Use cases

  • Compose MIDI arrangements inside REAPER
  • Create and sequence key-matched vocal chops
  • Configure plug-in chains and effect buses
  • Edit CC automation and MIDI sections
  • Inspect and mix an EDM test project

Key features

  • Local file-based Lua IPC bridge
  • Vocal-chop slicing, retuning, stretching, and layering
  • Batch MIDI composition and score inspection
  • FX chain, routing, and automation control
  • Track, transport, project, marker, and region operations
  • ReaScript and REAPER production workflows

Tools174

What Reaper MCP lets your agent do. Expand a tool for its parameters.

Verified live~30.8k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

23/24 checks healthy over the last 88d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 2d ago via OSV.dev · xdarkzx-reaper-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars113Stargazers on the source repository.
Last commit11d agoMost recent push to the default branch.
Tools exposed174Callable tools this server registers over MCP.
Directory activity16 viewsConfig copies, upvotes, and views on AllMCPs.

How Reaper MCP works

What xDarkzx/Reaper-MCP does

xDarkzx/Reaper-MCP lets an MCP-compatible AI assistant operate REAPER as a music-production workspace. Its tool set covers transport, project and track management, MIDI composition and inspection, audio-item editing, takes, markers and regions, automation, FX chains, routing, mixing, mastering, and ReaScript-related workflows.

The server is particularly suited to agent-directed production tasks. It can split audio at detected transients or chosen timeline positions, duplicate and rearrange chops, change pitch or playrate, reverse takes, and build structured vocal-chop arrangements. MIDI tools insert and inspect notes and CC data, while composition helpers support patterns, chord progressions, and arrangement edits.

How it works

Communication stays on the local computer. The MCP process exchanges commands with a Lua script running inside REAPER through file-based IPC, so the AI client does not need a remote service or API key. REAPER remains the application that owns the project, audio, MIDI, plug-ins, and playback state.

The client sends tool calls such as setup_fx_chain, compose_arrangement, or item_split_at_transients; the server performs the corresponding REAPER action and returns structured results. Many operations use zero-based track, item, take, marker, and FX indices. Results often include those indices so later calls can target the created or modified objects.

Setup and configuration

REAPER 7 or newer and Python 3.10 or newer are supported by the project. Install from the repository, use the published Python package with pip, or install from a downloaded archive. The installer can configure Claude Desktop; other clients can use a standard MCP server entry with reaper-mcp as the command.

The Lua bridge must also be loaded in REAPER. The installer can configure it to load automatically. With a manual setup, load reaper_scripts/reaper_mcp_server.lua through REAPER's Actions menu and run it. REAPER must remain open and the script must be active while the MCP client sends requests.

Tools and capabilities

Notable capabilities include:

  • Control playback, recording, tempo, time signature, looping, and other transport state.
  • Create and configure tracks, including volume, pan, mute, solo, color, routing, and sends.
  • Insert, edit, inspect, and clear MIDI notes and CC automation.
  • Split, duplicate, move, resize, reverse, repitch, and time-stretch audio items and takes.
  • Build vocal-chop arrangements with grid slicing, key transposition, style modes, and optional melody generation.
  • Add, inspect, configure, scan, and remove plug-ins, including batch FX chains and master-track processing.
  • Read, create, edit, and clear track or FX automation envelopes.
  • Add markers and regions, inspect project data, and create a demo EDM project for testing production workflows.

setup_fx_chain accepts plug-in names or existing FX indices and can write parameters by fuzzy name or exact index. It reports failures per item in a batch response. FX parameter scanning temporarily sweeps values and caches discovered ranges, so it is better reserved for plug-ins whose parameter behavior is unclear.

Limitations and notes

Audio transient sensitivity comes from REAPER's project settings rather than the split tool. Changing a take's playrate does not automatically resize the item's visible timeline length. Pitch quality depends on REAPER's configured take pitch-shift mode; the vocal-chop pipeline recommends an Élastique Pro Soloist setting for formant preservation but does not set it automatically.

Composition calls use different timing conventions. compose_arrangement expects raw seconds, while some pattern and chord tools convert quarter-note timing using the project BPM. Large MIDI writes may need to be divided into smaller calls, and layered chop workflows can create many overlapping items. Check returned counts and per-item summaries instead of treating a non-throwing batch call as proof that every operation succeeded.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Reaper MCP

xDarkzx/Reaper-MCP is an MCP server that connects AI clients to REAPER through a local Lua file-based bridge. Its main tools control transport, tracks, MIDI, audio items, vocal chops, plug-in chains, routing, automation, markers, and project data, enabling agents to compose, edit, mix, and inspect music directly in an open REAPER project.

Install it from the repository, with the published Python package, or from an archive, then run the platform installer or configure the `reaper-mcp` command in your MCP client. Load `reaper_mcp_server.lua` in REAPER, unless the installer has configured automatic loading.

Yes, xDarkzx/Reaper-MCP works with Cursor because Cursor supports MCP servers. Add `reaper-mcp` as the server command in Cursor's MCP configuration, then keep REAPER open with the Lua bridge script running.

It needs REAPER open with the MCP Lua script running, plus the `reaper-mcp` process started by an MCP-compatible client. The project supports REAPER 7 or newer and Python 3.10 or newer.

Yes, it can split items at transients or explicit positions, alter pitch and playrate, reverse and duplicate takes, stack harmonized layers, and run the `chop_pipeline` for contiguous key-matched arrangements. REAPER's pitch-shift mode remains a user configuration.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewReaper MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/xdarkzx-reaper-mcp?style=directory)](https://allmcps.com/mcp/xdarkzx-reaper-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/xdarkzx-reaper-mcp"><img src="https://allmcps.com/api/badge/xdarkzx-reaper-mcp?style=directory" alt="Reaper MCP on AllMCPs" /></a>