reascript-mcp
Enables AI agents to control Reaper DAW by parsing .rpp project files and generating Lua ReaScripts for project-level tasks.
README
reascript-mcp
MCP server exposing Reaper/ReaScript project-control helpers to AI agents.
This is the first working slice of the Reaper layer for the Asian Sentry agentic music tooling stack. It complements music21-mcp: music21 handles symbolic music reasoning; ReaScript handles project-level DAW control and state readback.
Current tools
| Tool | What it does |
|---|---|
parse_rpp_project |
Parse a .rpp Reaper project file into compact JSON: tempo, time signature, track names, item counts, and media source types. Works without Reaper installed. |
generate_reascript |
Generate Lua ReaScripts for supported actions. Initial actions: list_tracks and create_midi_item. |
write_reascript_file |
Generate a supported Lua ReaScript and write it to disk for loading/running in REAPER. |
Install
cd reascript-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
Run tests
python -m pytest -q
Current status: 12 tests passing.
Use as MCP server
python -m reascript_mcp.server
Example MCP config:
{
"mcpServers": {
"reascript-mcp": {
"command": "/path/to/reascript-mcp/.venv/bin/python",
"args": ["-m", "reascript_mcp.server"],
"cwd": "/path/to/reascript-mcp"
}
}
}
Direct Python examples
from reascript_mcp.tools.parse_rpp_project import parse_rpp_project
from reascript_mcp.tools.generate_reascript import generate_reascript
print(parse_rpp_project("song.rpp"))
script = generate_reascript("list_tracks", {"output_path": "tracks.json"})
print(script["script"])
from reascript_mcp.tools.write_reascript_file import write_reascript_file
write_reascript_file("list_tracks", {"output_path": "tracks.json"})
Next build slices
- Add a Reaper CLI smoke harness that runs against a disposable config/project and exits cleanly.
- Add more project-control scripts: create tracks, rename tracks, import MIDI, set tempo map, add markers/regions.
- Add structured state readback scripts for items, takes, MIDI notes, markers, routing, and FX chains.
- Connect this to the common musical data model so music21/mido/ReaScript reference the same musical locations.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.