Skip to main content
Glama

create_midi_item

Create a MIDI item on a specified track in REAPER DAW. Set the start position and length in beats to add MIDI data for composition and arrangement.

Instructions

Create a MIDI item on a track.

Args:
    track_number: Track number (1-based)
    position: Start position in beats
    length: Length in beats (default: 4 = 1 bar in 4/4)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
track_numberYes
positionNo
lengthNo

Implementation Reference

  • The main handler function for the 'create_midi_item' MCP tool. It is decorated with @mcp.tool(), defining the tool schema via its parameters and docstring. Calls ReaperBridge.insert_midi_item to perform the action.
    @mcp.tool()
    def create_midi_item(
        ctx: Context,
        track_number: int,
        position: float = 0.0,
        length: float = 4.0
    ) -> str:
        """
        Create a MIDI item on a track.
        
        Args:
            track_number: Track number (1-based)
            position: Start position in beats
            length: Length in beats (default: 4 = 1 bar in 4/4)
        """
        bridge = get_bridge()
        result = bridge.insert_midi_item(track_number - 1, position, length)
        return result.get("message", "MIDI item created")
  • Supporting method in ReaperBridge class that handles the insertion of a MIDI item by writing a JSON command file for execution by a Lua script in REAPER.
    def insert_midi_item(self, track_index: int, position: float, length: float) -> Dict[str, Any]:
        """Insert MIDI item via file command."""
        self._write_command("insert_midi_item", {
            "track_index": track_index,
            "position": position,
            "length": length
        })
        
        response = self._read_response()
        if response:
            return response
        return {"success": True, "message": "MIDI item command sent"}

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yura9011/scythe_mcp_reaper'

If you have feedback or need assistance with the MCP directory API, please join our Discord server