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
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.
- Open REAPER
- Go to Actions > Run ReaScript
- Select
scripts/enable_reapy.pyfrom this repo (or create a new script with the contents below)import reapy reapy.config.enable_dist_api()
- 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
Configuration
The server stores its configuration in your platform's config directory:
- macOS:
~/Library/Application Support/reaper-mcp/config.json - Linux:
~/.config/reaper-mcp/config.json - Windows:
%APPDATA%\reaper-mcp\config.json
License
MIT
Metadata
Release files for reaper-mcp-server 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| reaper_mcp_server-0.2.0.tar.gz | 156.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| reaper_mcp_server-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 183.0 kB
Release files / reaper_mcp_server-0.2.0.tar.gz
| Download URL | reaper_mcp_server-0.2.0.tar.gz |
|---|---|
| Size | 156.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b25dfbec096aad9683ec28c8c1dd9ddf1f0a9665c94f9da9cf95134edd4935a1
|
|
BLAKE2b-256 checksum How to use checksums |
39f986774617cb6ae9e191748ad6482b16a87c957f20cec181a0dbba82225b24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / reaper_mcp_server-0.2.0-py3-none-any.whl
| Download URL | reaper_mcp_server-0.2.0-py3-none-any.whl |
|---|---|
| Size | 26.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
efaa666f971919305252e0cf7288a255846ded100107bf2448cff7bbf217b4eb
|
|
BLAKE2b-256 checksum How to use checksums |
9ed9256dc6e9cd99640cc9699ba035f8ae660c4b493acef1f633f8e63213addc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|