PluginBench
MCP Server
Active
MIT

Reaper Daemon MCP Server

io.github.wretcher207/reaper-daemon

Drive REAPER from Claude: read sessions, set FX, write automation, and measure mix moves with AI.

What is the Reaper Daemon MCP server?

Reaper Daemon is a REAPER MCP server that lets Claude and other AI agents control REAPER directly—reading sessions, adding and configuring plugins, writing automation, and measuring mix changes. It works via JSON file exchange (no network socket) with a Lua script inside REAPER and an optional Python MCP server, supporting macOS, Windows, and Linux.

Reaper Daemon bridges REAPER and AI agents like Claude, enabling collaborative mixing and music production. You can ask Claude to adjust EQ, set plugin parameters in real units, write automation, generate drum MIDI with humanization, transcribe audio to drums, and verify mix moves with before/after measurements—all with full undo support and no network exposure.

How to install Reaper Daemon

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "reaper-daemon": {
      "command": "https://github.com/wretcher207/reaper-daemon/releases/download/v3.22.1/reaper-daemon.mcpb",
      "args": []
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • scan_fx — Dump every plugin and parameter in the session for discovery
  • verify_change — Measure loudness, spectrum, and dynamics before and after a mix move
  • discover_drum_map — Read any drum kit's note map
  • shred — Render a humanized guitar or bass riff
  • band — Cut a whole rhythm section for guitar and bass
  • transport — Control playback, tempo, cursor position, and time selection
  • tracks — Add, delete, rename, select, adjust volume, pan, mute, solo, arm, and color tracks
  • routing — Read and create sends and receives, toggle master feed
  • fx — Add, remove, bypass, reorder plugins, set parameters in real units, write automation, save chains
  • markers_regions_items — Full read and write of markers, regions, and media items
  • midi — Insert MIDI files and use a drum DSL with humanization
  • transcription — Turn an audio item into drum MIDI with optional local analysis
  • render — Render the session to audio
  • save — Save the REAPER project

Use cases

  • Ask Claude to EQ a muddy bass by pulling down 300 Hz and verify the change with spectrum analysis
  • Generate humanized drum patterns for a kit and insert them as MIDI into your session
  • Transcribe drum audio to MIDI and map it to your own drum library
  • Have Claude adjust vocal levels so they sit naturally in the mix instead of on top
  • Automate plugin parameters across a mix move while staying inside REAPER's undo system

Reaper Daemon MCP server FAQ

What is Reaper Daemon?

Reaper Daemon is an MCP server that lets Claude and other AI agents control REAPER for mixing and music production. It reads your session, sets plugin parameters, writes automation, generates MIDI, and measures mix changes—all running locally on your machine with no network exposure.

Is it free?

Yes, Reaper Daemon is open-source under the MIT license. You do need REAPER (a paid DAW) to use it, but the server itself is free.

How do I install it in Claude or Cursor?

Clone the repository, run `python3 setup/install.py`, then restart REAPER. For Claude Desktop, add it as an MCP server by pointing to `reaper_mcp.py`. For Cursor, use the same MCP configuration. The repository also works as a Claude plugin.

Do I need to authenticate or set up a network connection?

No. Reaper Daemon runs entirely on your machine—the bridge is a Lua script inside REAPER, and the MCP server is plain Python with no network calls. It trades JSON files through a local folder, so there's no port or socket setup needed.

What audio files does it create?

By default, Reaper Daemon does not write audio files. Renders and audio captures are off by default. You can enable them if you want to hear before/after comparisons, but nothing is sent over the network.

Can I use it with other AI agents besides Claude?

Yes. The MCP server works with any MCP client, and the CLI works with any agent that can read and write files. The Claude plugin and Daemon Console are Claude-specific, but the core bridge is agent-agnostic.

README (reference)

Source of truth, from the repository.

<p align="center"> <img src="docs/assets/readme-header.png" alt="Reaper Daemon. Nothing is listening." width="100%"> </p>

Reaper Daemon

Reaper Daemon MCP server – quality and maintenance score on Glama

Reaper Daemon is a REAPER MCP server and file bridge for driving REAPER from an AI agent, including mixing your session with Claude or any other agent. No network socket, no port, no extensions.

The agent drops a JSON command file in a folder. A Lua script inside REAPER runs it and writes a JSON result back. That's the whole protocol. It works with Claude Code, Codex, Cursor, or anything else that can read and write files, and an optional stdio MCP server, reaper_mcp.py, exposes the same bridge as tools for Claude Desktop and any other MCP client.

macOS, Windows, Linux. Pure Lua inside REAPER, plain Python 3 outside, no pip packages for the core bridge and MCP server. Audio-to-drum MIDI transcription uses a separate optional model environment. Every change runs inside a REAPER undo block, so Ctrl+Z reverts anything an agent does.

Install

git clone https://github.com/wretcher207/reaper-daemon.git
cd reaper-daemon
python3 setup/install.py

Restart REAPER, then check the bridge is alive:

python3 reaperd.py status

Prefer ReaPack, or want to load the bridge by hand? See docs/install.md.

Claude plugin

The repository is also a Claude plugin. It bundles the MCP server with four skills: drum programming, drum humanizing, guitar and bass parts, and MIDI for an existing arrangement. The plugin drives the install above, so clone and run the installer first.

When you add the plugin, Claude asks for two settings:

  • Reaper Daemon folder: where you cloned it. Default ~/reaper-daemon.
  • Python command: default python3. On Windows, use python or py if python3 isn't on your PATH.

Cowork doesn't ask, so it uses those defaults. To try the plugin in Claude Code straight from your clone:

claude --plugin-dir /path/to/reaper-daemon

The MCP server runs on your computer, next to REAPER. It works in Claude Code and in Cowork sessions on your machine. Chat on claude.ai loads the skills but can't reach REAPER.

Mix with an AI agent

Point Claude, or any agent talking to Reaper Daemon, at your open REAPER session and ask it to work on the mix. It reads every plugin and parameter with scan_fx, sets FX values in real units like "-2.5 dB", and writes automation. verify_change captures the track before and after a move and reports what changed in the audio, so you are not taking its word for it. Every move sits inside a REAPER undo block, and your ears make the call.

Example prompts:

  • "The bass is muddy around 300 Hz, pull it down."
  • "Bring the vocal down so it sits with the mix instead of on top."
  • "Tune the bass until its LUFS is down 3 dB."
  • "What plugins are on the drum bus, and what are they set to?"

See MCP server for setup and Verify for what the measurements do and do not prove.

What it does

AreaCommands
Projecttransport, tempo, cursor, time selection, render, save
Tracksadd, delete, rename, select, volume, pan, mute, solo, arm, color
Routingread sends and receives, create sends, toggle master feed
FXadd, remove, bypass, reorder, set parameters, write automation, save chains
Markers, regions, media itemsfull read and write
MIDIinsert MIDI files, plus a drum DSL with humanization
Transcriptionturn an audio item into drum MIDI with an optional local analysis runtime
Guitar and bassshred renders a humanized riff, band cuts a whole rhythm section
Discoveryscan_fx dumps every plugin and parameter; discover_drum_map reads any kit's note map
Verifymeasure loudness, spectrum and dynamics before and after a mix move

The bridge knows nothing about any specific plugin or drum library. Agents discover what a project contains and act on it by name.

Three ways to talk to it

CLI. One Python entry point for everything an agent does.

python3 reaperd.py send commands/examples/get_context.json --wait
python3 reaperd.py shred --track argent-l --bars-file riff.txt --seed 101

MCP server. reaper_mcp.py wraps the bridge as tools over stdio. Ask Claude Desktop to "measure the drums" and it does.

Reaper Daemon MCP server – quality and maintenance score on Glama

Daemon Console. A chat panel docked inside REAPER, backed by a headless Claude Code session that always knows which track you have selected.

Docs

Installone-line installer, ReaPack, manual load
CLIreaperd.py reference
MCP serversetup for Claude Desktop and other clients
Daemon Consolethe in-REAPER chat panel
Drumskit discovery, stem profiling, humanize
Drum workshopseparate composition briefs, MIDI comparisons, scoped audition feedback
Drum transcriptionaudio to MIDI, background jobs, kit mapping
Guitar and bassshred and band
Mix recipescapture, compare and rebuild a mix setup
Verifyclosed-loop mix moves with measured proof
Protocolthe file wire format
Troubleshootingsilent captures, stale heartbeats
Securitytrust model and the optional token
Developtests, CI, repo layout

Agents should read AGENTS.md, CLAUDE.md, and bridge/command_schema.md. Two bundled skills, arrangement-midi and drum-humanize, cover MIDI composition and drum humanization.

Security

Any process that can write to inbox/ can drive REAPER. Keep the bridge folder local and off shared drives. Details in docs/security.md.

What it runs and sends

Everything runs on your machine. The MCP server and CLI are plain Python with no network calls. The bridge is a Lua script inside REAPER. It trades JSON files with the server through the Reaper Daemon folder, which also holds logs and the MIDI files it generates. Renders and captures write audio files only if you turn on audio writes, which are off by default. Nothing leaves your computer.

Three optional pieces do more, and only if you install them:

  • Drum transcription downloads its Python packages and model weights during setup, and Demucs downloads its weights on the first separation job. Audio stays local.
  • analyze_track and compare_tracks run Post Mortem from your PATH.
  • The Daemon Console starts a Claude Code session on your machine, which talks to Anthropic like any Claude Code session.

License

MIT. See LICENSE.

Keyboard performance setup, MIDI/controller tests and template saving are documented in the performance workflow.

Related MCP servers

Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.

0
MIT
View repository →

A self-improving, verifiable memory layer for AI coding agents.

2
Python
Apache-2.0
View repository →

Connect your Scrivener manuscripts to Claude and AI assistants—read, write, analyze, and search with 57 tools.

45
TypeScript
AGPL-3.0
View repository →

33 tools, 30 US federal data domains. Ed25519 signed, provenance chains, entity graph. Free.

1
JavaScript
MIT
View repository →

Public collaboration for AI agents: find requests, share evidence, and form groups.

FHFHIR MCP Server logo

FHIR MCP Server

Maintained

MCP server providing seamless access to FHIR APIs for healthcare data integration with AI tools

132
Python
Apache-2.0
View repository →