Skip to main content
Glama

insert_envelope_point

Add automation points to REAPER envelopes for precise control of volume, pan, mute, and other parameters in audio projects.

Instructions

Insert a point into an automation envelope. Identify the envelope by name (e.g. 'Volume', 'Pan', 'Mute') or by 0-based envelope_index. Using envelope_name is preferred and works even if the envelope is not yet visible/armed in the REAPER UI.

  • time: position in seconds

  • value: linear amplitude (Volume: 0.0=silence, 1.0=0 dB, 2.0=+6 dB max)

  • shape: 0=linear, 1=square, 2=slow start/end, 3=fast start, 4=fast end, 5=bezier

  • tension: bezier tension (-1.0 to 1.0)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
track_indexYes
timeYes
valueYes
envelope_indexNo
envelope_nameNo
shapeNo
tensionNo

Implementation Reference

  • The MCP tool handler that registers 'insert_envelope_point' and calls the adapter.
    def insert_envelope_point(
        track_index: int,
        time: float,
        value: float,
        envelope_index: int | None = None,
        envelope_name: str | None = None,
        shape: int = 0,
        tension: float = 0.0,
    ) -> dict[str, Any]:
        """
        Insert a point into an automation envelope.
        Identify the envelope by name (e.g. 'Volume', 'Pan', 'Mute') or by
        0-based envelope_index. Using envelope_name is preferred and works even
        if the envelope is not yet visible/armed in the REAPER UI.
        - time: position in seconds
        - value: linear amplitude (Volume: 0.0=silence, 1.0=0 dB, 2.0=+6 dB max)
        - shape: 0=linear, 1=square, 2=slow start/end, 3=fast start, 4=fast end, 5=bezier
        - tension: bezier tension (-1.0 to 1.0)
        """
        try:
            return _wrap(
                adapter.insert_envelope_point(
                    track_index=track_index,
                    envelope_index=envelope_index,
                    envelope_name=envelope_name,
                    time=time,
                    value=value,
                    shape=shape,
                    tension=tension,
                )
            )
  • The adapter method that forwards the 'insert_envelope_point' request to the REAPER client.
    def insert_envelope_point(
        self,
        track_index: int,
        envelope_index: int | None = None,
        envelope_name: str | None = None,
        time: float = 0.0,
        value: float = 1.0,
        shape: int = 0,
        tension: float = 0.0,
    ) -> dict[str, Any]:
        return self._client.call(
            "insert_envelope_point",
            track_index=track_index,
            envelope_index=envelope_index,
            envelope_name=envelope_name,
            time=time,
            value=value,
            shape=shape,
            tension=tension,
        )

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/danielkinahan/ReaMCP'

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