Skip to main content
Glama
williamzujkowski

Strudel MCP Server

reverse

Reverse musical patterns in Strudel to create mirrored sequences and explore inverted rhythmic structures for experimental composition.

Instructions

Reverse pattern

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Handler implementation for the 'reverse' tool. Retrieves the current pattern, appends '.rev' to reverse it in Strudel syntax, writes the modified pattern, and returns a success message.
    case 'reverse':
      const toReverse = await this.getCurrentPatternSafe();
      const reversed = toReverse + '.rev';
      await this.writePatternSafe(reversed);
      return 'Pattern reversed';
  • Tool registration in getTools() method, defining the name, description, and empty input schema (no parameters required). This is returned by the list tools handler.
    {
      name: 'reverse',
      description: 'Reverse pattern',
      inputSchema: { type: 'object', properties: {} }
    },
  • Input schema definition for the 'reverse' tool, specifying no required parameters.
    inputSchema: { type: 'object', properties: {} }
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Reverse pattern' implies a mutation operation (reversing implies changing the pattern), but it doesn't state whether this is destructive (overwrites the original), requires specific permissions, has side effects (e.g., affects playback), or what the expected outcome is. For a tool with zero annotation coverage, this minimal description fails to provide necessary behavioral context.

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 extremely concise ('Reverse pattern'), which is efficient but borders on under-specification. It consists of two words that directly state the action and object, with no wasted words. However, for a tool with no annotations and complex siblings, this brevity may sacrifice clarity. It's front-loaded but lacks the depth needed for adequate understanding.

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?

Given the complexity implied by sibling tools (e.g., musical pattern manipulation), no annotations, no output schema, and 0 parameters, the description is incomplete. It doesn't explain what 'reverse' means in this context, what the tool returns, or how it integrates with other tools like 'get_pattern' or 'save'. For a potentially mutative operation in a rich toolset, more context is needed to ensure correct usage.

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?

The input schema has 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description doesn't mention any parameters, which is appropriate since none exist. It implies the tool operates on an implicit 'pattern' context, but doesn't clarify how that pattern is selected or provided. Given the zero-parameter baseline, a score of 4 reflects that the description doesn't need to compensate for missing parameter documentation, though it could hint at implicit inputs.

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

Purpose2/5

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

The description 'Reverse pattern' is a tautology that merely restates the tool name 'reverse' with minimal additional context. It indicates the tool operates on 'pattern' but doesn't specify what type of pattern (musical, rhythmic, data) or what reversing entails (audio reversal, sequence inversion, etc.). Compared to sibling tools like 'transpose', 'quantize', or 'generate_melody' that clearly indicate their musical functions, this description lacks specificity.

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

Usage Guidelines1/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., requires an existing pattern), exclusions (e.g., cannot reverse empty patterns), or related tools (e.g., 'undo' for reversal of actions, 'restore_history' for historical states). With siblings like 'generate_variation' and 'transpose' that might offer similar transformative functions, the absence of usage context is a significant gap.

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/williamzujkowski/strudel-mcp-server'

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