REAPER DAW knowledge base and MCP bridge reference for the session producer agent. Use this when operating REAPER, managing tracks/takes/FX, understanding the bridge architecture, or troubleshooting transport issues.
invoke.py handles notes-compact conversion, result polling (5 s timeout, 50 ms interval), and
stale-result clearing automatically. See references/bridge-architecture.md for full details.
Engineering Tools (reaper-producer-tools)
The reaper-producer-tools repository is a pre-installed CLI available to all agents. Think of it as the engineering team's toolbox that's already on the system.
For Producer, Guitarist, Drummer
Use the existing tools — don't reinvent the wheel
The CLI is at: C:\Users\slyle\agents\reaper-producer\reaper-producer-tools
Available via: bun run reaper-producer-tools/src/index.ts <command>
Check if a tool exists before asking for something new
Requesting New Tools
If you need a new script, automation, or CLI command:
Ask @engineer — they're the ones who build and maintain the tools
Don't modify the repo yourself — that's the engineer's job
Explain what you need — "I need a way to batch-export stems" or "I need a script that auto-colors tracks by type"
Example Workflow
You need: "Export all tracks to separate WAV files"
Action: Delegate to @engineer: "Hey @engineer, I need a batch stem export script"
You need: "Quickly check session BPM"
Action: Use MCP tool directly: `query_project_state`
What You Can Control
Through MCP tools, you can:
Query project state (name, BPM, play state code, cursor position, play position, track count)
Control transport (play, stop, record)
Save the project
Get current position in bar/beat format
Set project tempo
List tracks with mute state, armed state, FX counts, volume (dB), pan, and peak levels (dB)
Add tracks with name, position, and color
Set track volume, pan, mute, and input monitoring
Drop markers at cursor or specific positions
Get all markers and navigate to markers
List media items (takes) on a track
Mute/unmute media items and rename takes
List FX on any track
Set FX parameters by track/FX/param (name or index)
Create MIDI items with note data
Quantize MIDI items
Insert preset FX chains (basic_vocal, basic_drum, basic_drum_bus, drum_instrument)
Arm tracks and start recording
Render rough mixes with most recent render settings
Reload MCP_Handler.lua mid-session via reload_handler (hot-reload without REAPER restart)
Log explanatory messages to the REAPER console with explain_change
Trigger a VST plugin rescan via rescan_vst (REAPER action 4161) — use after installing new VST3 plugins so REAPER discovers them without a restart
Delete media items from a track via delete_item (takes track_name_or_index + item_index; delete highest index first when removing multiple items)
What You Cannot Control (Yet)
These operations are not exposed through the current MCP tools:
Time signature changes (only tempo is settable)
Solo tracks (mute is available, but solo is not)
Undo/redo operations
Loop/repeat settings
Punch in/out configuration
Track routing and sends
Track record input selection
Envelope automation beyond FX params
Bridge Architecture Summary
See references/bridge-architecture.md for the complete architecture. Key points:
Active bridge: invoke.py (from skill, run via Bash) + MCP_Handler.lua (Lua, inside REAPER)
Transport: ExtState via REAPER Web Interface on port 8080
Transport helper: reaper_web_bridge.py (in skill + bridge/) for raw SET/GET debugging
See references/fx-chains.md for built-in FX chain definitions, comprehensive ReaPlugs parameter reference (every Cockos plugin with full parameter tables), sidechaining setup, and FX routing (serial/parallel, containers).
REAPER Concepts
See references/reaper-concepts.md for REAPER domain knowledge relevant to session production. Includes:
See references/reascript-api.md for the key REAPER API functions used by the bridge.
Extensions (SWS + ReaPack)
See references/extensions.md for the key REAPER extensions:
SWS/S&M Extension: auto-color, snapshots, notes, region playlist, ReaConsole, cycle actions, startup actions, cue buss, loudness tools, additional ReaScript API
ReaPack: community package manager with ~1300+ scripts, effects, and themes
Hardware Reference
See references/scarlett-solo-4th-gen.md for Focusrite Scarlett Solo 4th Gen setup, hardware features, gain staging, ASIO driver setup, and common gotchas.
Workflow
Always call query_project_state first to orient yourself.
Reference song structure markers when giving position callouts.
Use name-based lookups for tracks and FX when possible (more readable than indices).
Save before destructive operations.
Confirm with the artist before deleting anything.
Log significant changes to the REAPER console with explain_change.
After installing a new VST3 plugin on disk, call rescan_vst before attempting to use that plugin via insert_fx_chain or list_fx_on_track.
Known Good Configuration
See references/known-good-config.md for the verified project state as of April 2026 (tracks, FX, installed plugins, bridge wiring, hardware).
Maintenance
The skillz subagent is responsible for maintaining this skill.
After discovering new durable facts about REAPER or the bridge, delegate to skillz.
Keep SKILL.md focused on intent, rules, and workflow.
Put concrete technical details in the appropriate reference file.
When the bridge gains new capabilities, update references/bridge-architecture.md.
When Not To Use This Skill
For general OpenCode configuration (use working-at-home or working-at-opencode)
For tasks unrelated to REAPER or audio production
For mixing/mastering decisions (those are artist/engineer territory unless explicitly asked)