Skip to main content

Orchestra MCP server for REAPER

Project description

Orchestra

Orchestra is a lightweight MCP bridge for REAPER. It lets AI agents call DAW operations through a Python MCP server and a Lua script running inside REAPER.

What is Orchestra

Orchestra connects three parts:

  1. REAPER-side Lua scripts (execute DAW actions)
  2. Python MCP server (registers tools and handles MCP calls)
  3. File-based IPC bridge (~/.orchestra/inbox, outbox, archive)

The design goal is practical AI-assisted music editing, not only one-shot generation.

Installation

Prerequisites:

  • uv
  • REAPER

Install uv (official standalone installer):

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Install Orchestra from PyPI as a uv-managed tool:

uv tool install reaper-orchestra
orch --help

If orch is not found in your shell, add uv's tool bin directory to PATH:

uv tool update-shell

Quick Start (5 min)

  1. Install REAPER scripts:
orch scripts "<REAPER Scripts directory>"

This command copies files into:

  • <REAPER Scripts directory>/rfhits/orchestra
  1. In REAPER, run orchestra_loader.lua.
  2. Add Orchestra to your MCP client config (see MCP Client Configuration). The client launches orch launch automatically.
  3. Call tools from your MCP client.
  4. To stop the REAPER side loop, run orchestra_stop.lua in REAPER.

REAPER Integration

End-to-end flow:

  1. MCP tool (Python) calls bridge.call_reaper("module.method", params)
  2. Request JSON is written to ~/.orchestra/inbox
  3. REAPER main loop dispatches and executes
  4. Reply JSON is written to ~/.orchestra/outbox and archived

MCP Client Configuration

For Claude Desktop, edit this MCP config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\\Claude\\claude_desktop_config.json

To use command: "orch" directly in MCP config, make sure orch is installed and available on PATH (for example: uv tool install reaper-orchestra).

Add Orchestra under mcpServers:

{
  "mcpServers": {
    "orchestra": {
      "command": "orch",
      "args": ["launch"]
    }
  }
}

Why uv helps here: it manages the environment and keeps the CLI launch path simple (orch).

Core Capabilities

  • Project info, tempo/time-signature control
  • Track CRUD, color, mute/solo, parent-child folder relation
  • Item CRUD, split/merge, color, length
  • Take add/list/activate
  • Marker create/list/update/delete
  • Audio insert/render (seconds/measures)
  • MIDI insert/render (seconds/measures)

Limitations

  • Not a full replacement for manual mixing decisions
  • No full automatic “concept-level” local audio regeneration yet
  • FX-chain and automation workflows are still being expanded

Demos and Ecosystem

Video demos:

Related MCP music projects and tools:

Contributing / License

  • Issues and pull requests are welcome.
  • See LICENSE for licensing terms.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reaper_orchestra-0.1.2.tar.gz (573.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reaper_orchestra-0.1.2-py3-none-any.whl (595.9 kB view details)

Uploaded Python 3

File details

Details for the file reaper_orchestra-0.1.2.tar.gz.

File metadata

  • Download URL: reaper_orchestra-0.1.2.tar.gz
  • Upload date:
  • Size: 573.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for reaper_orchestra-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c7b0655bb690eb6b80f31c466e9d2f8bddbb0c2f491cc1c9659f180d630e6033
MD5 be01e644196651454675ab3f6c3f4c01
BLAKE2b-256 60edcefafcf128344e2c7876ace0a67722365affcbd76cccf9e9f7e24a680b7d

See more details on using hashes here.

File details

Details for the file reaper_orchestra-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for reaper_orchestra-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 aaf206e3b024c8813e7e3dbc112be1dbe141f81d5aaf2f867b1cc0e15b8833ea
MD5 a5cc385dbe6d6b6d0d6ca672e3d5de28
BLAKE2b-256 7f342408ceb8005ab54d4c2000740653bb76ea0a5f44fddaddc0eed72c402b7b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page