Skip to main content

MCP server for REAPER DAW: project, tracks, MIDI, FX, samples.

Project description

REAPER MCP Server

PyPI version Python Version License: MIT Tests codecov

A Model Context Protocol (MCP) server that provides programmatic control over REAPER DAW through a clean, tool-based interface. Built with FastMCP and python-reapy, this server enables AI assistants and automation tools to interact with REAPER projects.

Features

  • Project Management - Project details, initialization, save, playback state, undo/redo, time conversions
  • Playback Control - Start, pause, stop, record, cursor and time selection management
  • Markers & Regions - Add, list, and manage markers and regions
  • Track Operations - Create, delete, configure tracks (volume, pan, mute, solo, color, selection)
  • Tempo Control - Get/set project BPM
  • MIDI - Generate and import MIDI notes, patterns, and files
  • FX & Plugins - List, add, and control VST plugins and parameters
  • Audio Samples - Manage sample directories, search, import, and time-stretch audio files

Prerequisites

  • REAPER installed with ReaScript enabled
  • python-reapy bridge configured for out-of-process control
  • Python 3.11+

Note: The server must be able to communicate with REAPER. Ensure REAPER is running before starting the server.

Installation

Using uv (Recommended)

# Install with uv
uv pip install reaper-mcp

# Or run directly with uv
uv tool install reaper-mcp

Using pip

pip install reaper-mcp

Usage

Run the server (default stdio transport for MCP clients):

python -m reaper_mcp

Run with MCP Proxy (stdio):

uv tool run mcpo --port 8000 -- uv run reaper_mcp

Options:

  • --transport {stdio,sse,http,ws,websocket} - Transport protocol (default: stdio)
  • --host HOST - Host for network transports (default: 127.0.0.1)
  • --port PORT - Port for network transports (default: 8000)
  • --path PATH - URL path for HTTP/SSE/WebSocket
  • --allow-origin ORIGIN - CORS origin (repeatable)

Example with WebSocket:

python -m reaper_mcp --transport ws --port 9000

MCP Client Configuration

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "reaper": {
      "command": "python",
      "args": ["-m", "reaper_mcp"]
    }
  }
}
Cline (VS Code)

Add to MCP settings:

{
  "mcpServers": {
    "reaper": {
      "command": "python",
      "args": ["-m", "reaper_mcp"]
    }
  }
}
Continue (VS Code)

Add to config.json:

{
  "mcpServers": {
    "reaper": {
      "command": "python",
      "args": ["-m", "reaper_mcp"]
    }
  }
}
Using uv

For any client, replace "command": "python" with "command": "uv" and "args": ["run", "python", "-m", "reaper_mcp"]

Notes

  • Tools are designed to be small and focused - prefer calling multiple tools over complex combined actions
  • File paths must be accessible from the REAPER host machine
  • Some operations depend on REAPER configuration, OS, and installed plugins
  • Tools return helpful error messages when operations are unavailable

Testing

A comprehensive integration test suite is available to validate all 115+ MCP tools across 13 categories. The test suite can optionally use Ollama LLM to generate songs and validate functionality.

Quick Start

cd tests
./run_tests.sh

Features

  • Tests all 4 producer workflow methods (create_song_from_scratch, create_variation, continue_song, arrange_song_structure)
  • Validates song structure, BPM, tracks, and MIDI content
  • Tests all 115+ tools systematically across 13 categories
  • Generates comprehensive JSON and text reports
  • Optional Ollama LLM integration (granite4:micro-h model)

Configuration

Default Ollama settings (edit tests/test_config.py to customize):

  • Host: 10.0.0.192
  • Port: 11434
  • Model: granite4:micro-h

Run without Ollama:

./run_tests.sh --no-ollama

See tests/README.md for complete documentation including:

  • Installation and prerequisites
  • Configuration options
  • Test phases and categories
  • Sample output and success criteria
  • Troubleshooting guide
  • Architecture details

Links

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_mcp-1.4.0.tar.gz (194.1 kB view details)

Uploaded Source

Built Distribution

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

reaper_mcp-1.4.0-py3-none-any.whl (67.2 kB view details)

Uploaded Python 3

File details

Details for the file reaper_mcp-1.4.0.tar.gz.

File metadata

  • Download URL: reaper_mcp-1.4.0.tar.gz
  • Upload date:
  • Size: 194.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for reaper_mcp-1.4.0.tar.gz
Algorithm Hash digest
SHA256 e19cf6425bb7621c45fbd02b6eda40d2e787a253a2e504dcf09af811edfb0e64
MD5 7b937f5e06e16612563b952ca592b986
BLAKE2b-256 f745ae9c2b29f32c6644a72dc2c26fcc2f8b3eccc728403651c83a0b70613179

See more details on using hashes here.

Provenance

The following attestation bundles were made for reaper_mcp-1.4.0.tar.gz:

Publisher: publish.yml on nbdy/reaper-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file reaper_mcp-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: reaper_mcp-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 67.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for reaper_mcp-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e896624613e16af7b210c9b4eda7627fbd2713dd004a19555d79cbb33e59f095
MD5 5a7eba5746842a4e7c6cdf111f6d94d4
BLAKE2b-256 ad39761a8594cd48a88ed0939f965e80975c2b49bd385e2bb1a547c0b8099bba

See more details on using hashes here.

Provenance

The following attestation bundles were made for reaper_mcp-1.4.0-py3-none-any.whl:

Publisher: publish.yml on nbdy/reaper-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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