Skip to main content
Glama
headrush-mcp

headrush-mcp

by Haervwe

create_rig

Build and validate a HeadRush pedal rig from a JSON spec, saving it only if the build matches and no existing name or unsaved edit conflicts.

Instructions

Build a new rig from a spec, verify it, and save it only if everything matches.

Pass spec or a local JSON spec_path; get_rig_spec_format has the format, including scenes. Unknown keys are refused. Refused if the name exists, the loaded rig has unsaved edits, or a block has no object on the pedal (such as ReValver Amp 2 and C-Verb 2). If a build fails, retry with resume_draft to reuse the unnamed draft it left, which overwrites that draft. That only works for a draft this server built since it started. saved is only true once the pedal lists the new rig.

Numbers count as matching within one step of the parameter's grid, since the pedal snaps to it. Check warnings: with Auto Assign Footswitches on, the pedal may have put new blocks on switches the spec didn't set.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "create_rig"
  }
}

Input Schema

NameRequiredDescriptionDefault
saveNo
specNo
spec_pathNo
resume_draftNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations, it discloses refusal conditions (duplicate name, unsaved edits, block with no pedal object and concrete examples), draft-overwrite semantics and the server-session scope limit of `resume_draft`, the meaning of `saved`, numeric tolerance within one grid step, and the need to inspect `warnings` when Auto Assign Footswitches may have added switch assignments. The `resume_draft` overwrite is a scoped caveat on a server-built draft rather than a contradiction of destructiveHint=false.

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

Conciseness4/5

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

Front-loaded with the core action in the first sentence, then conditions and caveats in a logical order; nearly every sentence carries unique information. Slightly dense with mid-sentence line breaks, but no meaningful padding.

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

Completeness5/5

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

For a complex multi-parameter mutation tool it covers input sourcing, failure modes, retry semantics, verification tolerance, and the two output fields (`saved`, `warnings`) that an agent must act on, with an output schema backing the rest. Nothing critical to calling it correctly appears missing.

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?

Schema description coverage is 0%, so the description must carry the parameter burden: it explains `spec` vs `spec_path` (including that the format lives in get_rig_spec_format and that unknown keys are refused) and fully explains `resume_draft` including its draft-reuse and session constraints. The `save` boolean defaulting to true is only implicitly covered by the 'save it only if everything matches' phrasing, leaving that one parameter under-specified.

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?

The first sentence gives a specific verb chain and resource: build a rig from a spec, verify it, save conditionally. It is clearly distinguishable from siblings like save_rig_as_new, load_rig, and save_loaded_rig without opening any schema.

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

Usage Guidelines5/5

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

It names the two mutually exclusive input routes (inline `spec` vs local `spec_path`), points to get_rig_spec_format for the format, enumerates three refusal conditions, and describes the recovery path via `resume_draft` after a failed build. That is explicit when-to-use, when-refused, and alternative-tool guidance.

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