REAPER MCP Server

MCP

Lets agents drive REAPER from arrangement through mixing to mastering: create tracks and buses, write MIDI, load effects, automate, render stems, and analyze loudness, spectrum and clipping. Needs REAPER running, Python 3.10+, and a script run inside REAPER to enable the reapy remote API. Alpha.

bonfire-systems/reaper-mcp157
GitHub에서 보기
README

REAPER MCP Server

A Model Context Protocol (MCP) server that enables AI agents to control REAPER DAW — 60 tools covering project management, tracks, track templates, MIDI, FX, mixing, mastering, rendering, and audio analysis.

Requirements

  • REAPER 7 or later, installed and running
  • Python 3.10+
  • REAPER's distant API enabled (see Setup)

Installation

pip install reaper-mcp-server

Or install from source:

git clone https://github.com/bonfire-systems/reaper-mcp.git
cd reaper-mcp
pip install -e .

Setting Up REAPER

The server communicates with REAPER via python-reapy, which requires REAPER's distant API to be enabled.

  1. Open REAPER
  2. Go to Actions > Run ReaScript
  3. Select scripts/enable_reapy.py from this repo (or create a new script with the contents below)
    import reapy
    reapy.config.enable_dist_api()
    
  4. Restart REAPER

Usage

With Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

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

With Claude Code

claude mcp add reaper -- reaper-mcp-server

Standalone

reaper-mcp-server          # start the server
reaper-mcp-server --debug  # with debug logging

Tools (60)

Project Management

create_project load_project save_project get_project_info set_tempo set_time_signature set_cursor_position play_project stop_transport

Tracks

create_track delete_track rename_track list_tracks get_track_info set_track_color create_bus create_send remove_send list_sends

Track Templates

list_track_templates insert_track_template

Inserts saved .RTrackTemplate files from REAPER's TrackTemplates folder (subfolders included) with their exact FX state, routing, folder structure and items, optionally at a given track position.

MIDI

create_midi_item add_midi_note create_chord_progression create_drum_pattern

FX & Instruments

add_fx remove_fx bypass_fx list_track_fx get_fx_parameters set_fx_parameter load_fx_preset add_master_fx list_master_fx set_master_fx_parameter

Audio

import_audio_file edit_audio_item start_recording adjust_pitch adjust_playback_rate

Mixing

set_track_volume set_track_pan set_track_mute set_track_solo set_send_volume set_master_volume add_volume_automation add_pan_automation

Rendering

render_project render_stems render_time_selection

Mastering

apply_mastering_chain apply_limiter normalize_project

Analysis

analyze_loudness analyze_dynamics analyze_frequency_spectrum analyze_stereo_field analyze_transients detect_clipping

Contributing

See CONTRIBUTING.md. In short: one concern per pull request, tested against a real REAPER (say which version), and an issue first for new tools.

License

MIT