Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
REAPER_MCP_TIMEOUTNoPer-call timeout in ms (default 15000; raise for very large MIDI inserts).15000
REAPER_MCP_BRIDGE_DIRNoOverride the shared IPC folder (must match on both sides).

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

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
reaper_pingA

Check that the REAPER bridge is alive. Returns the REAPER version. Call this first to confirm the connection.

reaper_get_project_stateA

Return the current project's tempo (BPM), length in seconds, transport play state, and the list of tracks (index, name, item count, mute/solo, volume in dB). Use this to orient before making changes.

reaper_set_tempoA

Set the project master tempo in BPM.

reaper_save_projectA

Save the current REAPER project to disk.

reaper_insert_trackA

Insert a new track at the given index (0-based). Omit index to append at the end. Returns the new track's index.

reaper_delete_trackA

Delete the track at the given 0-based index.

reaper_set_track_nameB

Set the name of the track at the given index.

reaper_set_track_muteC

Set the mute state of a track.

reaper_set_track_soloC

Set the solo state of a track.

reaper_set_track_volumeA

Set a track's volume in decibels (0 dB = unity, negative = quieter).

reaper_create_midi_itemA

Create an empty MIDI item on a track, positioned and sized in beats (quarter notes). Returns the item's index on that track, which you pass to reaper_add_midi_notes.

reaper_add_midi_notesA

Add MIDI notes to the active take of an existing MIDI item. Positions and lengths are in beats relative to the item start. Insert many notes in one call for chords/melodies.

reaper_list_track_fxA

List the FX on a track (index, name, enabled state).

reaper_add_fxA

Add an FX/plugin to a track by name (e.g. 'ReaEQ', 'ReaComp', or a VST name). Returns the new FX index. Matching is fuzzy on the plugin name.

reaper_get_fx_paramsA

List all parameters of an FX on a track (index, name, current value, min, max). Values are normalized as the plugin reports them.

reaper_set_fx_paramA

Set one parameter of an FX by parameter index. Use reaper_get_fx_params to discover indices and ranges.

reaper_transportA

Control playback: play, stop, pause, or record. Returns the resulting play state (0=stopped, 1=playing, 2=paused, 4=recording as bit flags).

reaper_set_edit_cursorA

Move the edit cursor to a time position in seconds.

reaper_renderA

Render (bounce) the project master to a 24-bit WAV file on disk. By default renders the current time selection (your loop); set bounds='project' for the whole project. Returns the absolute file path and size. Renders headlessly — no dialog.

reaper_callA

Escape hatch: call ANY ReaScript API function by name with positional args, for operations the dedicated tools don't cover. Example: {"func":"CountTracks","args":[0]}. Pointers returned by the API come back as "handle:N" strings, valid only within this REAPER session; pass them back verbatim as args to chain calls. Prefer the dedicated reaper_* tools when one exists.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources