set_tempo
Adjust the project tempo in beats per minute (BPM) for REAPER DAW music production. Specify a tempo value between 20-999 BPM to control playback speed and timing.
Instructions
Set the project tempo in BPM.
Args:
tempo: Tempo in beats per minute (20-999)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tempo | Yes |
Implementation Reference
- scythe_mcp/server/main.py:53-68 (handler)MCP tool handler for set_tempo: validates input tempo (20-999 BPM), calls ReaperBridge.set_tempo, returns success/error message.@mcp.tool() def set_tempo(ctx: Context, tempo: float) -> str: """ Set the project tempo in BPM. Args: tempo: Tempo in beats per minute (20-999) """ if tempo < 20 or tempo > 999: return "Error: Tempo must be between 20 and 999 BPM" bridge = get_bridge() if bridge.set_tempo(tempo): return f"Tempo set to {tempo} BPM" return "Error: Failed to send OSC command"
- Helper method in ReaperBridge that sends OSC command /tempo/raw with BPM value to REAPER.def set_tempo(self, bpm: float) -> bool: """Set project tempo.""" return self.send_osc("/tempo/raw", float(bpm))
- scythe_mcp/server/main.py:53-68 (registration)The @mcp.tool() decorator registers this function as the 'set_tempo' MCP tool.@mcp.tool() def set_tempo(ctx: Context, tempo: float) -> str: """ Set the project tempo in BPM. Args: tempo: Tempo in beats per minute (20-999) """ if tempo < 20 or tempo > 999: return "Error: Tempo must be between 20 and 999 BPM" bridge = get_bridge() if bridge.set_tempo(tempo): return f"Tempo set to {tempo} BPM" return "Error: Failed to send OSC command"