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:
- REAPER-side Lua scripts (execute DAW actions)
- Python MCP server (registers tools and handles MCP calls)
- 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)
- Install REAPER scripts:
orch scripts "<REAPER Scripts directory>"
This command copies files into:
<REAPER Scripts directory>/rfhits/orchestra
- In REAPER, run
orchestra_loader.lua. - Add Orchestra to your MCP client config (see
MCP Client Configuration). The client launchesorch launchautomatically. - Call tools from your MCP client.
- To stop the REAPER side loop, run
orchestra_stop.luain REAPER.
REAPER Integration
End-to-end flow:
- MCP tool (Python) calls
bridge.call_reaper("module.method", params) - Request JSON is written to
~/.orchestra/inbox - REAPER main loop dispatches and executes
- Reply JSON is written to
~/.orchestra/outboxand 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:
- when agent touches DAW (reaper) - YouTube
- continue and arrange MIDI in reaper via agent & MCP - YouTube
- 当 Agent 遇见 DAW(Reaper) - 哔哩哔哩
- agent 接入 reaper 进行 MIDI 续写和编曲 - 哔哩哔哩
Related MCP music projects and tools:
awesome-music-mcp: https://github.com/Music-MCP/awesome-music-mcp
Contributing / License
- Issues and pull requests are welcome.
- See
LICENSEfor licensing terms.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7b0655bb690eb6b80f31c466e9d2f8bddbb0c2f491cc1c9659f180d630e6033
|
|
| MD5 |
be01e644196651454675ab3f6c3f4c01
|
|
| BLAKE2b-256 |
60edcefafcf128344e2c7876ace0a67722365affcbd76cccf9e9f7e24a680b7d
|
File details
Details for the file reaper_orchestra-0.1.2-py3-none-any.whl.
File metadata
- Download URL: reaper_orchestra-0.1.2-py3-none-any.whl
- Upload date:
- Size: 595.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aaf206e3b024c8813e7e3dbc112be1dbe141f81d5aaf2f867b1cc0e15b8833ea
|
|
| MD5 |
a5cc385dbe6d6b6d0d6ca672e3d5de28
|
|
| BLAKE2b-256 |
7f342408ceb8005ab54d4c2000740653bb76ea0a5f44fddaddc0eed72c402b7b
|