Skip to main content
Glama
Strudel MCP Server

Strudel MCP Server

compose

Generate, write, and play a complete Strudel pattern from a chosen genre in one step, auto-initializing the default browser when needed.

Instructions

Generate, write, and play a complete pattern in one step. Auto-initializes default browser if needed.

Input Schema

NameRequiredDescriptionDefault
keyNoMusical key (default: C)
styleYesGenre: techno, house, dnb, breakbeat, trap, jungle, ambient, experimental, intelligent_dnb, trip_hop, boom_bap. Anything else (jazz included) gets techno drums, and the response says so.
tempoNoBPM (default: genre-appropriate)
auto_playNoStart playback immediately (default: true)
session_idNoOptional session ID (#108). Omit to use default session. compose auto-init only applies to default session — named sessions must already exist.
get_feedbackNoGet AI feedback on the generated pattern (default: false)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv4.1.1
    • changedInput schema / properties / style / description
      Previous value: -"Genre: techno, house, dnb, ambient, trap, jungle, jazz, experimental"New value: +"Genre: techno, house, dnb, breakbeat, trap, jungle, ambient, experimental, intelligent_dnb, trip_hop, boom_bap. Anything else (jazz included) gets techno drums, and the response says so."
  2. Changed1 schema field changedv4.0.0
    • addedInput schema / properties / session_id
      Added value: +{
      +  "description": "Optional session ID (#108). Omit to use default session. compose auto-init only applies to default session — named sessions must already exist.",
      +  "type": "string"
      +}
  3. Changed1 schema field changedv2.2.0
    • addedInput schema / properties / get_feedback
      Added value: +{
      +  "description": "Get AI feedback on the generated pattern (default: false)",
      +  "type": "boolean"
      +}
  4. Addedv1.0.0

TDQS

A3.5/5.0
Behavior3/5

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

There are no annotations, so the description carries the full disclosure burden. It does reveal two side effects: playback is triggered and a default browser is auto-initialized if needed. It does not say whether an existing pattern is overwritten, whether audio output requires a browser session, or how slow or expensive the composite operation is, so a mutation/playback tool remains under-disclosed.

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 short sentences, front-loaded with the core action and followed by the one non-obvious side effect. No filler and nothing restated from the schema.

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

Completeness3/5

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

With six parameters, no annotations, and no output schema, the description should say more about what a successful call returns (pattern handle/session id, feedback payload when get_feedback is true) and what state it mutates. As it stands, an agent can pick the tool but cannot predict its results or side effects beyond browser init.

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 description coverage is 100% (style genres, key default, tempo default, auto_play, session_id, get_feedback), so the schema already handles parameter meaning. The description adds nothing about any parameter and doesn't explain the interplay between auto_play and get_feedback. The baseline score of 3 is appropriate.

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 uses concrete verbs (generate, write, play) on a specific resource (a complete pattern) and highlights the composite 'in one step' nature, which distinguishes it from the granular siblings (generate_part, init, playback, edit_pattern). It stops short of naming which siblings it replaces, but the action is unambiguous.

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?

'In one step' only implies that this tool is the shortcut alternative to initializing, generating, and playing separately; neither a when-to-use condition nor an excluded case is stated. The important precondition — that auto-init applies only to the default session and named sessions must already exist — appears in the schema's session_id description, not in the description itself.

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