create_track
Add a new track to the end of a REAPER project, specifying type: audio, MIDI, instrument, or folder.
Instructions
Create a new track at the end of the project. track_type: audio, midi, instrument, folder
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| track_type | No | audio |
Implementation Reference
- src/reaper_mcp/track_tools.py:14-38 (handler)The create_track tool handler: creates a new track at the end of the project, supports audio, midi/instrument, and folder types.
def create_track(name: str, track_type: str = "audio") -> dict: """ Create a new track at the end of the project. track_type: audio, midi, instrument, folder """ try: project = get_project() idx = project.n_tracks project.add_track(idx, name) track = project.tracks[idx] if track_type in ("midi", "instrument"): RPR.SetMediaTrackInfo_Value(track.id, "I_RECINPUT", 4096) # All MIDI inputs elif track_type == "folder": RPR.SetMediaTrackInfo_Value(track.id, "I_FOLDERDEPTH", 1) return { "success": True, "track_index": idx, "name": track.name, "type": track_type, } except Exception as e: logger.error(f"create_track failed: {e}") return {"success": False, "error": str(e)} - src/reaper_mcp/track_tools.py:14-14 (schema)Type signature: takes name (str) and optional track_type (str, default 'audio'), returns dict.
def create_track(name: str, track_type: str = "audio") -> dict: - src/reaper_mcp/track_tools.py:11-13 (registration)Registration via @mcp.tool() decorator inside register_tools function.
def register_tools(mcp): @mcp.tool() - src/reaper_mcp/server.py:11-21 (registration)The server.py imports and calls register_tools from track_tools.py, which registers create_track on the MCP server.
from reaper_mcp.track_tools import register_tools as _reg_track from reaper_mcp.midi_tools import register_tools as _reg_midi from reaper_mcp.fx_tools import register_tools as _reg_fx from reaper_mcp.audio_tools import register_tools as _reg_audio from reaper_mcp.mixing_tools import register_tools as _reg_mixing from reaper_mcp.render_tools import register_tools as _reg_render from reaper_mcp.mastering_tools import register_tools as _reg_mastering from reaper_mcp.analysis_tools import register_tools as _reg_analysis _reg_project(mcp) _reg_track(mcp) - src/reaper_mcp/connection.py:27-29 (helper)Helper get_project() used by create_track to obtain the current REAPER project.
def get_project() -> reapy.Project: ensure_connected() return reapy.Project()