Skip to main content
Glama
headrush-mcp

headrush-mcp

by Haervwe

get_footswitches

Read-only

Summarize footswitch assignments and reachability on a HeadRush Flex Prime, including warnings when bank-hold or On Press settings block access and auto-assignment status.

Instructions

Summarise footswitches, with warnings about switches you can't reach.

Switches 1-3 and 4-6 are separate banks. The pedal starts on 4-6, and 1-3 are only reachable by holding a switch whose hold function is Bank A/B. Holds don't work with Footswitch Function set to On Press. warnings says when either gets in the way. auto_assign_footswitches is whether the pedal puts newly placed blocks on free switches, or null if settings couldn't be read.

Scene switches show doubling and path; use get_scene for the rest. The pedal keeps an old module and operation on scene switches, so those only appear on toggle and hold switches.

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": "get_footswitches"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only cover read-only and closed-world, while the description adds substantial behavior: bank 1-3 switches are unreachable unless a hold function is Bank A/B, holds fail when Footswitch Function is On Press, and `warnings` surfaces those conflicts. It also discloses that `auto_assign_footswitches` can be null when settings couldn't be read, which is important failure-mode context not in the annotations. The remaining scene-switch sentences are terse but still convey a real constraint (legacy module/operation only on toggle and hold switches).

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?

The purpose and the main access constraint are front-loaded, and each paragraph covers a distinct concern (banks/reachability, auto-assign field, scene switch caveats) with no filler. Some sentences lean on unexplained domain shorthand such as 'show doubling and path', which costs a little clarity for an agent without pedal-specific knowledge.

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?

With an output schema present, the description doesn't need to enumerate return values, and it correctly spends its space on the non-obvious traps: unreachable banks, hold-function interaction, and null-able settings. For a zero-parameter read tool this covers everything an agent needs to interpret the result and know where to go next.

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 tool takes zero parameters, so there is nothing for the description to disambiguate at the input level; baseline 4 applies. The description instead explains output fields (`warnings`, `auto_assign_footswitches`), which is value-add rather than parameter semantics.

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 opening sentence gives a specific verb and resource ('Summarise footswitches') plus a distinguishing trait ('with warnings about switches you can't reach'), so an agent knows this is the aggregated-view tool rather than a raw settings dump. It does not explicitly differentiate itself from close siblings like get_footswitch_settings or list_footswitch_actions, which an agent could easily confuse it with.

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?

It does give one explicit routing instruction: 'use get_scene for the rest' for scene switch details, which is genuine when-to-use guidance. However, it says nothing about when to prefer this over get_footswitch_settings or list_footswitch_actions, despite those being the most likely alternatives for an agent asking about footswitches, so the guidance is partial.

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