get_envelope_points
Extract automation envelope points from REAPER track envelopes to access time, value, shape, and tension data for audio parameter control.
Instructions
Read all automation envelope points from a track 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. Returns envelope name and list of points with time, value, shape, tension.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| track_index | Yes | ||
| envelope_index | No | ||
| envelope_name | No |
Implementation Reference
- src/reaper_mcp/server.py:986-1008 (handler)The MCP tool handler function for 'get_envelope_points', which registers the tool and calls the adapter.
@mcp.tool() def get_envelope_points( track_index: int, envelope_index: int | None = None, envelope_name: str | None = None, ) -> dict[str, Any]: """ Read all automation envelope points from a track 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. Returns envelope name and list of points with time, value, shape, tension. """ try: return _wrap( adapter.get_envelope_points( track_index=track_index, envelope_index=envelope_index, envelope_name=envelope_name, ) ) except Exception as exc: return _err(exc) - src/reaper_mcp/reaper_adapter.py:534-542 (handler)The adapter implementation that communicates the 'get_envelope_points' request to the underlying REAPER bridge.
def get_envelope_points( self, track_index: int, envelope_index: int | None = None, envelope_name: str | None = None ) -> dict[str, Any]: return self._client.call( "get_envelope_points", track_index=track_index, envelope_index=envelope_index, envelope_name=envelope_name, )