Total Reaper MCP

Reaper DAW MCP Server with 100% Reascript Coverage
  • python

27

GitHub Stars

python

Language

6 months ago

First Indexed

2 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": {
    "shiehn-total-reaper-mcp": {
      "command": "python",
      "args": [
        "-m",
        "server.app"
      ]
    }
  }
}

You can run a Python-based MCP server that bridges REAPER with an MCP client, exposing REAPER functionality through a clean API. This server lets you drive REAPER from AI/LLM workflows or other automation while keeping the actual DAW operations isolated in the bridge.

How to use

Start the MCP server to expose REAPER functionality to your MCP client. You typically choose a profile to tailor the tool set to your needs, such as a minimal natural language DSL or the full 600+ tools. Use the default profile for a balanced setup and switch to a profile that matches your workflow as needed.

How to install

Prerequisites you must have installed before running the server:

  • REAPER 6.83+ (includes embedded Lua 5.4 and full ReaScript API)

  • Python 3.10+ (required for MCP 1.1.2+)

  • LuaSocket (optional, only needed for socket-based communication)

Follow these concrete steps to set up the server locally:

# Create and activate a Python virtual environment (Python 3.10+ required)
python3.10 -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install the MCP package in editable mode
pip install -e .

# Start the MCP server with the default profile (dsl-production: 53 tools with natural language interface)
python -m server.app

# Or start with a specific profile
python -m server.app --profile dsl              # Natural language tools only (15 tools)
python -m server.app --profile full             # All tools (600+ tools)

Starting and verifying the server

The MCP server runs locally and interacts with REAPER via a file-based bridge. After starting, verify that the core components are active:

  • The Python server should display that it is ready and waiting for connections. It will indicate which profile is active and how many tools were registered.

  • The bridge communicates through a data directory such as ~/Library/Application Support/REAPER/Scripts/mcp_bridge_data/ and REAPER should show a startup message for the bridge.

Environment and tooling notes

  • The repository uses a file-based bridge as the reliable communication path between the MCP server and REAPER. Socket-based bridging is available conceptually but not implemented in all configurations, so prefer the file-based approach for now.

  • If you want to experiment with a specific tool profile, run the server with the corresponding profile flag as shown above. The selection happens on the Python MCP server side, not inside the bridge script.

Testing and validation

Run the project’s tests to ensure integration between the MCP server, bridge, and REAPER operates correctly.

pytest tests/ -v

To test specific profiles or integration scenarios, you can set the environment variable MCP_TEST_PROFILE to the desired profile before invoking the tests.

## Notes on usage with profiles

Available profiles let you tailor the tool set to match LLM capabilities or your workflow needs. Typical options include dsl-production (default), dsl, groq-essential, full, and others described in the tooling guide. Choose a profile at startup to limit or expand the exposed tools.

## Uninstall and cleanup

To remove the MCP server setup, run the uninstall script provided with the project.
Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational