load_project
Load an existing REAPER project (.rpp) by specifying its file path, enabling immediate access to all tracks, routing, and mixing settings.
Instructions
Load a REAPER project (.rpp) from the given file path.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_path | Yes |
Implementation Reference
- src/reaper_mcp/project_tools.py:53-70 (handler)The load_project MCP tool handler function. It checks if the project file exists, opens it via RPR.Main_openProject(), retrieves the project via get_project(), and returns project metadata (name, tempo, time signature, path).
@mcp.tool() def load_project(project_path: str) -> dict: """Load a REAPER project (.rpp) from the given file path.""" try: if not os.path.exists(project_path): return {"success": False, "error": f"File not found: {project_path}"} RPR.Main_openProject(project_path) project = get_project() return { "success": True, "name": project.name, "tempo": project.bpm, "time_signature": f"{project.time_signature[0]}/{project.time_signature[1]}", "project_path": project_path, } except Exception as e: logger.error(f"load_project failed: {e}") return {"success": False, "error": str(e)} - src/reaper_mcp/project_tools.py:14-14 (registration)The register_tools function that uses @mcp.tool() decorator to register load_project (and other project tools) with the MCP server.
def register_tools(mcp): - src/reaper_mcp/server.py:10-10 (registration)Import of the project_tools registration function into the server.
from reaper_mcp.project_tools import register_tools as _reg_project - src/reaper_mcp/server.py:20-20 (registration)Invocation of _reg_project(mcp) to register all project tools including load_project.
_reg_project(mcp)