REAPER MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Host IP address for OSC mode | |
| mode | No | Server mode (osc or reapy) | osc |
| debug | No | Enable debug logging | |
| send_port | No | Port used for sending OSC messages | |
| receive_port | No | Port used for receiving OSC messages |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_projectC | Create a new REAPER project with the given tempo and time signature. |
| save_projectA | Save the current project. If no path is given, saves to ~/Documents/REAPER Projects. |
| load_projectB | Load a REAPER project (.rpp) from the given file path. |
| get_project_infoA | Get information about the current project: name, path, tempo, tracks, length. |
| set_tempoB | Set the project tempo in BPM. |
| set_time_signatureB | Set the project time signature, e.g. 4/4, 3/4, 6/8. |
| create_trackB | Create a new track at the end of the project. track_type: audio, midi, instrument, folder |
| delete_trackC | Delete a track by its index. |
| rename_trackC | Rename a track. |
| set_track_volumeC | Set track volume in dB. Range: roughly -150 to +12 dB. |
| set_track_panA | Set track pan. -1.0 = full left, 0.0 = center, 1.0 = full right. |
| set_track_muteC | Mute or unmute a track. |
| set_track_soloC | Solo or unsolo a track. |
| get_track_infoC | Get detailed information about a track including FX and items. |
| list_tracksB | List all tracks in the current project with their basic parameters. |
| set_track_colorB | Set track color using RGB values (0–255 each). |
| create_midi_itemC | Create an empty MIDI item on a track. Returns item_id for use with add_midi_note. |
| add_midi_noteA | Add a MIDI note to an existing MIDI item. pitch: MIDI note number 0–127 (60 = middle C, 69 = A4). start/length: seconds, relative to the item's start. channel: MIDI channel 0–15 (use 9 for drums). |
| create_chord_progressionA | Create a chord progression on a track as a single MIDI item. chords: comma-separated chord names, e.g. "C,G,Am,F" or "Cm7,Fm7,Bb7,Ebmaj7". Supports: maj, min/m, dim, aug, maj7, min7/m7, dom7/7, dim7, hdim7, sus2, sus4. All chords are voiced around middle C (MIDI 60). |
| create_drum_patternA | Create a drum pattern on a track using a step-sequencer string. Each character = one step. Characters: k=kick, s=snare, h=hihat(closed), o=hihat(open), t=tom(low), m=tom(mid), f=tom(high), c=crash, r=ride, .=rest. Example 4/4 rock beat (16 steps): "k...h...s...h..." All drum notes are placed on MIDI channel 9 (GM standard). |
| add_fxA | Add an FX plugin to a track. Works for both instruments (VSTi) and effects (VST/AU). Use the exact plugin name as shown in REAPER's FX browser. Built-in Cockos plugins: ReaEQ, ReaComp, ReaDelay, ReaVerb, ReaLimit, ReaSynth, ReaSamplOmatic5000, ReaTune, ReaGate, ReaFIR, ReaXcomp. |
| remove_fxC | Remove an FX plugin from a track by its index. |
| set_fx_parameterA | Set a normalized parameter value (0.0–1.0) on an FX plugin. Use get_fx_parameters to discover available parameters and their indices. |
| get_fx_parametersB | Get all parameters for an FX plugin, including names, indices, and current values. |
| list_track_fxB | List all FX plugins on a track. |
| bypass_fxB | Enable or bypass (disable) an FX plugin on a track. |
| load_fx_presetC | Load a saved preset by name for an FX plugin. |
| import_audio_fileB | Import an audio file onto a track at the given position (seconds). Supports all formats REAPER can read: wav, aiff, mp3, flac, ogg, etc. |
| start_recordingB | Arm a track and start recording. Call stop_transport when done. |
| stop_transportA | Stop playback or recording. |
| play_projectA | Start project playback from the current cursor position. |
| set_cursor_positionA | Move the edit cursor to a position in seconds. |
| edit_audio_itemB | Trim an audio item and/or add fades. All values in seconds. start_trim: seconds to remove from the beginning. end_trim: seconds to remove from the end. fade_in/fade_out: fade length in seconds. |
| adjust_pitchB | Adjust the pitch of an audio item by semitones (can be fractional). |
| adjust_playback_rateC | Adjust playback rate of an audio item. 1.0 = normal speed, 0.5 = half speed. |
| add_volume_automationA | Add a volume automation point on a track. The volume envelope must be visible in REAPER (right-click track > Show envelope). position: time in seconds. value_db: volume level in dB. |
| add_pan_automationA | Add a pan automation point on a track. The pan envelope must be visible in REAPER. pan: -1.0 (full left) to 1.0 (full right). |
| create_sendC | Create an aux send from one track to another. |
| list_sendsB | List all sends from a track. |
| remove_sendC | Remove a send from a track by its index. |
| set_send_volumeC | Set the volume of a send in dB. |
| create_busA | Create a new bus track and route the given tracks to it via sends. track_indices: list of track indices to feed into the bus. |
| render_projectA | Render the entire project to a file. format: wav, flac, mp3 (requires LAME), ogg. sample_rate: e.g. 44100, 48000, 96000. bit_depth: 16, 24, or 32 (WAV only; ignored for mp3/ogg/flac). channels: 1 (mono) or 2 (stereo). |
| render_time_selectionB | Render a specific time range of the project to a file. |
| render_stemsB | Render each track as a separate stem file by soloing each track individually. track_indices: list of track indices, or null to render all tracks. Files are named after the track names in the output directory. |
| add_master_fxC | Add an FX plugin to the master track. |
| list_master_fxB | List all FX plugins on the master track. |
| set_master_fx_parameterC | Set a normalized parameter (0.0–1.0) on a master track FX plugin. |
| set_master_volumeB | Set the master track output volume in dB. |
| apply_mastering_chainA | Add a standard mastering FX chain to the master track. Presets: default (EQ > Comp > Limiter), loud (EQ > Comp x2 > Limiter), gentle (EQ > light Comp > Limiter). After applying, use set_master_fx_parameter to dial in specific settings. Use list_master_fx + get_fx_parameters to discover parameter indices. |
| apply_limiterA | Add ReaLimit to the master track. After adding, use set_master_fx_parameter with the parameter indices from get_fx_parameters to set the threshold and release values. |
| analyze_loudnessA | Render the project to a temp file and measure integrated loudness (LUFS) and true peak (dBTP) using the ITU-R BS.1770 standard. |
| normalize_projectA | Measure the project's integrated loudness, then adjust the master volume so the output hits the target LUFS level. Common targets: -14 LUFS (streaming), -16 LUFS (podcasts), -23 LUFS (broadcast). |
| analyze_frequency_spectrumA | Render the project and analyze frequency band levels. Returns RMS level in dB for seven bands: sub_bass (20–60Hz), bass (60–250Hz), low_mids (250–500Hz), mids (500–2kHz), high_mids (2–4kHz), presence (4–8kHz), brilliance (8–20kHz). |
| detect_clippingA | Render the project and detect digital clipping (samples at or above 0 dBFS). Returns clipped sample count, peak level in dB, and whether clipping was found. |
| analyze_dynamicsA | Render the project and measure dynamic range: RMS, peak, crest factor, and a simplified DR score (average peak-to-RMS over 3-second blocks). |
| analyze_stereo_fieldA | Render the project and analyze stereo width and mono compatibility. Returns mid/side balance, stereo width ratio, and L/R correlation. Correlation near 1 = mono-like, near 0 = wide stereo, negative = phase issues. |
| analyze_transientsA | Render the project and detect transient events (note attacks, drum hits, etc.). Returns the count and timing of up to 100 transient onset events. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bonfire-systems/reaper-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server