set_time_signature
Set the time signature of a REAPER project by providing the numerator and denominator values (e.g., 4/4, 3/4, 6/8).
Instructions
Set the project time signature, e.g. 4/4, 3/4, 6/8.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| numerator | Yes | ||
| denominator | Yes |
Implementation Reference
- src/reaper_mcp/project_tools.py:118-126 (handler)The handler function for the set_time_signature tool. Uses reapy's Project.time_signature setter to update the time signature.
@mcp.tool() def set_time_signature(numerator: int, denominator: int) -> dict: """Set the project time signature, e.g. 4/4, 3/4, 6/8.""" try: project = get_project() project.time_signature = (numerator, denominator) return {"success": True, "time_signature": f"{numerator}/{denominator}"} except Exception as e: return {"success": False, "error": str(e)} - src/reaper_mcp/server.py:8-28 (registration)The server module imports and calls register_tools from project_tools.py, which registers set_time_signature as an MCP tool via the @mcp.tool() decorator.
# Import each tool module's register_tools function and call it with the mcp instance. # The imports must happen after mcp is created to avoid circular dependencies. from reaper_mcp.project_tools import register_tools as _reg_project 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) _reg_midi(mcp) _reg_fx(mcp) _reg_audio(mcp) _reg_mixing(mcp) _reg_render(mcp) _reg_mastering(mcp) _reg_analysis(mcp) - The schema/type definition: takes numerator (int) and denominator (int), returns a dict.
@mcp.tool() def set_time_signature(numerator: int, denominator: int) -> dict: