Skip to main content
Glama
Mooer Prime M2 MCP

Mooer Prime M2 MCP

by lucanenni

edit_effect

Idempotent

Turn an effect on or off and set labeled parameters in real units such as dB, Hz, ms, and semitones; edits apply live and are saved only with save_preset.

Instructions

Turn an effect on/off and/or set parameters by label in real units (dB, Hz, ms, semitones; delay time and mod rate also accept sync notes like "1/8D"). Edits go live immediately but are not stored until save_preset.

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": {
      "slot": "<slot>"
    },
    "name": "edit_effect"
  }
}

Input Schema

NameRequiredDescriptionDefault
slotYesPosition in the chain, 1 = first
paramsNoe.g. {"Gain": 70, "Time": "1/8D"}
enabledNo
raw_wordsNoAdvanced: raw 16-bit words by index (2 = first parameter)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare non-read-only, idempotent, non-destructive, so the safety bar is low, and the description still adds real value: changes take effect immediately on the live signal but are discarded unless save_preset is called. That transient-vs-persisted distinction is exactly the kind of behavioral trait an agent needs and cannot get from the hints.

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, both earning their place: the first defines capability and value formats, the second defines persistence semantics. No filler, and the core action is front-loaded.

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?

For a mutation tool with nested params, no output schema, and full annotation coverage, the description covers the essentials: what can be edited, in what units, and whether changes persist. Minor gaps remain — what happens when a label is unknown or the slot is empty, and how labels are discovered — but nothing that blocks a correct call.

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?

With 75% schema coverage, the schema already documents slot position, params as label->value, and raw_words. The description adds genuine meaning for params by specifying real units and sync-note notation ("1/8D") and by signaling that enabling and parameter setting can be combined in one call. It says nothing about the advanced raw_words escape hatch, so it only partially compensates.

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?

States a specific verb set and resource: turn an effect on/off and/or set its parameters by label at a given slot, with units spelled out (dB, Hz, ms, semitones). It does not, however, differentiate itself from the similarly named sibling 'change_effect', leaving the agent to infer that this one tweaks parameters while the other swaps effect types.

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 one concrete workflow rule — edits are live but transient until save_preset — which implicitly routes the agent to save_preset for persistence. It offers no explicit when-to-use or when-not-to-use guidance relative to change_effect, add_effect, or remove_effect, so the agent must infer the boundaries.

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