Skip to main content
Glama

clear_envelope_points

Remove automation envelope points within a specified time range or across the entire timeline in REAPER projects. Identify envelopes by name or index to delete points and clean up automation data.

Instructions

Delete all automation envelope points in the given time range (default: entire timeline). Identify the envelope by name (e.g. 'Volume', 'Pan') or by 0-based envelope_index.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
track_indexYes
envelope_indexNo
envelope_nameNo
t1No
t2No

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • The adapter method that calls the Lua bridge to clear envelope points.
    def clear_envelope_points(
        self,
        track_index: int,
        envelope_index: int | None = None,
        envelope_name: str | None = None,
        t1: float = 0.0,
        t2: float = 1e12,
    ) -> dict[str, Any]:
        return self._client.call(
            "clear_envelope_points",
            track_index=track_index,
            envelope_index=envelope_index,
            envelope_name=envelope_name,
            t1=t1,
            t2=t2,
        )
  • The MCP tool definition and registration for clear_envelope_points.
    def clear_envelope_points(
        track_index: int,
        envelope_index: int | None = None,
        envelope_name: str | None = None,
        t1: float = 0.0,
        t2: float = 1e12,
    ) -> dict[str, Any]:
        """
        Delete all automation envelope points in the given time range (default: entire timeline).
        Identify the envelope by name (e.g. 'Volume', 'Pan') or by 0-based envelope_index.
        """
        try:
            return _wrap(
                adapter.clear_envelope_points(
                    track_index=track_index,
                    envelope_index=envelope_index,
                    envelope_name=envelope_name,
                    t1=t1,
                    t2=t2,
                )
            )
        except Exception as exc:
            return _err(exc)
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses the destructive 'Delete' operation and default scope (entire timeline), but omits critical behavioral details: recoverability (can this be undone?), interaction rules (what happens if both name and index provided?), and units for the time range (seconds/beats?).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. First sentence states the action and scope; second sentence explains identification method. All information earns its place. Appropriately front-loaded with the core destructive action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Considering 5 parameters with 0% schema coverage and a destructive operation, the description covers the main usage patterns well (envelope identification, time range defaults, indexing basis). Output schema exists so return values needn't be explained. Minor gaps remain: track_index basis, time units, and parameter precedence rules when both identification methods provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description compensates well: it specifies envelope_name examples ('Volume', 'Pan'), notes envelope_index is '0-based', and implies t1/t2 via 'time range' with default. However, it omits track_index semantics (0-based vs 1-based?) and time unit clarification, which are critical for correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states specific verb 'Delete' with resource 'automation envelope points' and scope 'given time range (default: entire timeline)'. It clearly distinguishes from siblings like get_envelope_points (read) and insert_envelope_point (add).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implied usage guidance on how to identify envelopes (name vs 0-based index) and default time range behavior. However, lacks explicit when-to-use guidance versus alternatives (e.g., when to use clear vs insertion/deletion of individual points) or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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