- Home
- MCP servers
- Total Reaper MCP
Total Reaper MCP
- 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.