Skip to main content
Glama

fx

Manage REAPER track and master effects: list, add, edit parameters, bypass, move, and load presets by track index.

Instructions

Track FX. action: list | add | params | set | delete | bypass | move | preset. params takes filter (case-insensitive part of the parameter name) to list only matching ones. track_index -1 is the master. set takes value 0..1 (REAPER normalized) or formatted: the value as the plugin displays it (number in its unit, e.g. -18 for dB, 4 for 4:1, 120 for ms; or a label like "3.2k"), resolved by searching the display text. set returns the formatted value actually set.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>",
      "track_index": "<track_index>"
    },
    "name": "fx"
  }
}

Input Schema

NameRequiredDescriptionDefault
paramNo
valueNo
actionYes
filterNo
presetNo
enabledNo
fx_nameNo
fx_indexNo
formattedNo
dest_indexNo
track_indexYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.6.0
    • addedInput schema / properties / filter
      Added value: +{
      +  "type": "string"
      +}
  2. Changed1 schema field changedv0.5.0
    • addedInput schema / properties / formatted
      Added value: +{
      +  "type": [
      +    "string",
      +    "number"
      +  ]
      +}
  3. First observedv0.1.0

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It does a good job on 'set' semantics — normalized 0..1 vs formatted display-text values, and that set returns the formatted value actually set. But for mutations like delete, add, bypass and move it says nothing about required permissions, reversibility, or side effects, which is a meaningful gap for a tool with destructive capabilities.

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

Conciseness3/5

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

The description is reasonably compact with no filler, and it front-loads the action list. But it is a single dense run-on paragraph with no separation between action enumeration, per-action notes, and set semantics, which makes it harder to scan than a structured multi-line definition.

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

Completeness2/5

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

For a tool with 11 parameters, 8 dispatched actions and no output schema or annotations, the description is not complete enough. It never maps parameters to actions, so an agent cannot tell from the description that add needs fx_name or move needs fx_index/dest_index, and the absence of any delete/bypass transparency is a real risk.

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

Parameters3/5

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

Schema coverage is 0% across 11 parameters, so the description must compensate and only partly does. It clarifies the trickiest ones well — filter (case-insensitive part of parameter name), track_index (-1 = master), value (0..1 normalized) and formatted (display string like '3.2k'). It leaves preset, enabled, fx_name, fx_index, dest_index and the action-specific parameter requirements undocumented.

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

Purpose4/5

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

The description states the resource (Track FX) and enumerates all eight actions, which makes the tool's scope clear and distinguishes it from siblings like item, envelope, track and send. It isn't a full verb+resource statement like 'manage effects on a track' but the enumeration is functional. An agent can identify it as the FX tool without opening the schema.

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?

The description gives some action-specific usage: 'params takes filter' to narrow results, 'track_index -1 is the master', and how 'set' resolves values. However, it never explains when to use a given action, what each of add/delete/bypass/move/preset requires, or when an agent should prefer this tool over siblings. Usage is implied by the action enum rather than guided.

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