ReaperMCP

138 tools. 103 can modify or destroy data without limits.

12 destructive tools with no built-in limits. Policy required.

Last updated:

103 can modify or destroy data
35 read-only
138 tools total

Community server · catalogue entry verified 11/06/2026

How to control ReaperMCP ↓

What ReaperMCP exposes to your agents

Read (35) Write / Execute (89) Destructive / Financial (12)
Critical Risk

The most dangerous ReaperMCP tools

103 of ReaperMCP's 138 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control ReaperMCP

PolicyLayer is an MCP gateway — it sits between your AI agents and ReaperMCP, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "envelope_clear_range": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "project_new": {
    "limits": [
      {
        "counter": "project_new_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "analyze_clipping": {
    "limits": [
      {
        "counter": "analyze_clipping_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register ReaperMCP — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON REAPERMCP →

Free to start. No card required.

All 138 ReaperMCP tools

WRITE 78 tools
Write project_new Create a new empty REAPER project. Returns the new project info. Write item_take_add Add a new empty take to an item. Returns the new take's index. Write item_take_set_active Switch which take plays back on an item. Write create_chord_progression create_chord_progression Write create_drum_pattern create_drum_pattern Write envelope_add_points envelope_add_points Write fx_add Add FX plugin to track. Prefer setup_fx_chain for batch operations. Write fx_disable Bypass an FX plugin. Write fx_enable Enable an FX plugin. Write fx_move Move FX to different position in chain. Write fx_rename fx_rename Write fx_set_param Set FX parameter by index. Prefer setup_fx_chain for batch operations. Write fx_set_param_by_name Set FX parameter by name (fuzzy match). Write fx_set_preset Load preset by name. Write item_create_midi Create an empty MIDI item on a track. Returns the item's global index. Write item_insert_media Insert audio/MIDI file into track. Write item_move Move item to new position. Write item_move_to_track Move item to different track. Write item_select Select/deselect an item. Write item_set_fade Set fade in/out. -1=unchanged. Write item_set_length Set item length. Write item_set_mute Mute/unmute item. Write item_set_volume Set item volume in dB. Write item_split Split item at position. Write marker_add Add marker. Prefer add_markers_batch for multiple. Write marker_add_region Add region. Prefer add_markers_batch for multiple. Write marker_edit Edit marker/region. Write midi_insert_cc midi_insert_cc Write midi_insert_note midi_insert_note Write midi_insert_notes_batch Batch-insert notes into a MIDI item. Primary tool for writing MIDI. Write midi_quantize midi_quantize Write midi_select_notes Select/deselect all notes in item. Write midi_set_item_extents Set MIDI item boundaries in quarter notes. Write midi_set_note midi_set_note Write midi_sort Sort MIDI events by time. Write project_export_audio Render project to audio file. Write project_open Open .rpp project file. Write project_redo Redo last undone action. Write project_save Save the current project. Returns project info confirming the save. Write project_save_as Save project to new path. Write project_set_grid Set grid division (1.0=quarter, 0.5=eighth, 0.25=sixteenth). Write project_set_notes Set the project notes/description text. Write project_set_ripple_mode Set REAPER's ripple edit mode. Write project_undo Undo last action. Write selection_deselect_all_items Deselect all media items. Write selection_deselect_all_tracks Deselect all tracks. Write selection_select_all_tracks Select all tracks. Write selection_set_loop Set loop points. Write selection_set_time Set time selection. Write send_create Create send between tracks. Prefer setup_routing for batch. Write send_remove Remove a send. Write send_set_mute Mute/unmute send. Write send_set_pan Set send pan. Write send_set_volume Set send volume. Write set_fx_preferences set_fx_preferences Write setup_drum_bus setup_drum_bus Write setup_parallel_compression setup_parallel_compression Write setup_vocal_chain setup_vocal_chain Write tempo_add_marker tempo_add_marker Write track_create Create new track. Write track_rename Rename a track. Write track_select Select/deselect a track. Write track_set_color Set track color (RGB 0-255). Prefer configure_tracks for batch. Write track_set_folder Set folder state. 0=normal, 1=folder parent, -1=last in folder. Write track_set_input Set recording input. 0=none, 1-1024=mono, 1024+=stereo, 4096+=MIDI, -1=MIDI all. Write track_set_mute Mute/unmute a track. Write track_set_pan Set track pan. Prefer configure_tracks for batch. Write track_set_record_arm Arm/disarm track for recording. Write track_set_solo Solo/unsolo a track. Write track_set_volume Set track volume. Prefer configure_tracks for batch. Write track_template_apply Apply a saved template to a track — replaces its FX chain + settings. Write track_template_save track_template_save Write track_unfreeze Unfreeze a track, restoring its original FX chain and MIDI state. Write transport_set_bpm Set project tempo. Write transport_set_playrate Set playback speed. Write transport_set_position Set cursor position. Write transport_set_time_signature Set time signature. Write transport_toggle_repeat Toggle repeat/loop mode.
READ 35 tools
Read analyze_clipping analyze_clipping Read analyze_frequency_spectrum Bass / mid / treble energy split and spectral centroid. Read analyze_loudness analyze_loudness Read analyze_stereo_field Stereo correlation, mid/side balance, and width estimate. Read detect_common_bpm detect_common_bpm Read envelope_get_points envelope_get_points Read fx_get_chain Get FX chain for a track (names, enabled, presets, param counts). Read fx_get_instrument Find VSTi instrument on track. Returns index + params, or -1 if none. Read fx_get_params fx_get_params Read fx_get_preset Get current preset name and count. Read fx_list_installed fx_list_installed Read item_get_all Get all media items. Filter by track or -1 for all. Read item_get_info Get detailed info for one item. Read item_take_list List all takes on an item with their active status. Read load_loops load_loops Read marker_get_all Get all markers and regions. Read midi_count_events Count notes, CCs, and sysex events in item. Read midi_get_note_names Get MIDI note number to name mapping (C4=60, etc.). Read midi_get_notes Get notes in a MIDI item (capped at max_results to limit context size). Read project_get_info Get project info (name, BPM, time sig, tracks, length, markers, render settings). Read project_get_notes Get the project notes/description text. Read scan_audio_folder scan_audio_folder Read selection_get_selected_items Get a list of all currently selected media items with their info. Read selection_get_selected_tracks Get a list of all currently selected tracks with their info. Read selection_get_time Get current time selection. Read tempo_list_markers List all tempo + time-signature markers in the project. Read track_get_all Get all tracks with properties (name, volume, pan, mute, solo, FX, items, routing). Read track_get_info Get detailed info for one track. Read track_get_mixer_state Get mixer state for all tracks (volumes, pans, mutes, solos, sends). Read track_get_peak track_get_peak Read track_template_list List all saved track templates. Read transport_get_state Get transport state (play/record status, position, BPM, time sig, repeat). Read selection_select_all_items Select all items. Read send_get_all Get all sends/receives on a track. Read send_get_routing_diagram Get full project routing diagram (sends, receives, outputs).

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about ReaperMCP

Can an AI agent delete data through the Reaper MCP server? +

Yes. The ReaperMCP server exposes 12 destructive tools including envelope_clear_range, fx_remove, item_delete. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through ReaperMCP? +

The ReaperMCP server has 78 write tools including project_new, item_take_add, item_take_set_active. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach ReaperMCP.

How many tools does the Reaper MCP server expose? +

138 tools across 4 categories: Destructive, Execute, Read, Write. 35 are read-only. 103 can modify, create, or delete data.

How do I enforce a policy on ReaperMCP? +

Register the Reaper MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every ReaperMCP tool call.

Deterministic rules across all 138 ReaperMCP tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Free to start. No card required.

138 ReaperMCP tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.