Scythe

Provides OSC transport control, tempo, volume, pan, and MIDI generation for REAPER via MCP with Lua scripting support.
  • python

0

GitHub Stars

python

Language

6 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "yura9011-scythe_mcp_reaper": {
      "command": "uv",
      "args": [
        "run",
        "scythe-mcp"
      ]
    }
  }
}

Scythe MCP REAPER Integration lets you control REAPER through the Model Context Protocol, enabling OSC transport, tempo, volume and pan control, as well as programmatic MIDI generation and Lua scripting. This setup lets you drive REAPER from an MCP client, script REAPER actions, and compose with music theory utilities directly from your MCP workflow.

How to use

You connect a MCP client to the server, then issue commands to manage REAPER transport, tempo, track properties, and MIDI content. You can create tracks, drive playback, adjust levels, mute/solo, and execute Lua code in REAPER to perform virtually any REAPER operation. The integration also includes music-theory tools for scales, chords, progressions, and rhythm patterns so you can generate musical content end-to-end.

How to install

Prerequisites: you need Python installed on your machine and a compatible MCP client that can communicate with REAPER via the MCP protocol.

cd d:/tareas/experiment_cubase
uv sync

Configuration and usage notes

Before you start REAPER, configure the OSC interface and load the REAPER Lua client as shown below. These steps enable the MCP client to send commands and receive status from REAPER.

Configure REAPER OSC:

  1. Open REAPER and go to Preferences → Control/OSC/Web → Add
  2. Choose OSC (Open Sound Control)
  3. Set Mode to Local port
  4. Set Port to 8000
  5. Set Local IP to your computer’s local address (for example 192.168.0.3)

Load the Lua client into REAPER:

  1. Copy scythe_mcp/reascript/scythe_poller.lua into REAPER Scripts
  2. In REAPER, go to Actions → Load ReaScript → Run

Add the MCP server configuration to your MCP client setup using the following snippet. This config defines a local stdio server that runs the MCP command to start the Scythe MCP integration.

{
  "mcpServers": {
    "scythe": {
      "command": "uv",
      "args": ["run", "scythe-mcp"],
      "cwd": "d:/tareas/experiment_cubase"
    }
  }
}

Example: Create a Lo-fi Beat

Ask the AI to create a lo-fi track at 85 BPM with jazzy chords and a dreamy melody. The server will create five tracks named Drums, Bass, Keys, Melody, and FX, assign a chord progression, place melody notes on the melody track, and load a synth on each track to realize the arrangement.

Tips for workflows

Use the Available Tools to drive transport, tempo, and track operations from your MCP client. Combine the OSC controls with ReaScript execution to automate complex REAPER tasks and generate musical content on the fly.

Available tools

play

Transport play command to start playback in REAPER.

stop

Transport stop command to halt playback in REAPER.

record

Begin recording in REAPER.

set_tempo

Adjust the project tempo in REAPER (beats per minute).

create_track

Create a new track inside REAPER with a given name.

set_track_volume

Set the volume for a specified track (0 to 1 scale).

mute_track

Mute a specified track.

solo_track

Solo a specified track.

execute_lua

Run a Lua script inside REAPER to perform advanced operations.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational