Skip to main content
Glama
chrissdks

Guitar Tone Assistant

by chrissdks

Save local tone profile

save_user_tone_profile

Save your guitar tone preferences to a local profile, replacing an existing one if needed, while keeping profile data private and never sending it to TONE3000.

Instructions

Replace an optional local tone profile. This writes only to the server's local profile store and never sends profile data to TONE3000.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
profileYes
profileIdNodefault

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
profileYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description adds genuine behavioral value: it specifies the write scope ('only to the server's local profile store') and gives a privacy guarantee ('never sends profile data to TONE3000') that an agent can relay to a user. The 'Replace' wording discloses overwrite semantics. No contradiction with annotations.

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, roughly 25 words, with the core action front-loaded and the high-value privacy/scope note second. Every sentence earns its place and there is zero filler.

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?

An output schema exists, so return values need no explanation, and the privacy/write-scope story is clear. However, for a write tool with a complex nested input and 0% schema coverage, the description leaves the agent to infer the expected profile structure and the meaning of profileId, making the input side under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden for parameter meaning but does not compensate. The 9-field nested profile object (guitars, tunings, pickupTypes, favoriteAmps, etc.) and the profileId parameter (default 'default') are entirely unexplained; only the phrase 'local tone profile' vaguely gestures at the profile argument.

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 a specific verb ('Replace') with a clear resource ('local tone profile'), and the tool is readily distinguishable from read/search siblings like get_user_tone_profile and search_tone3000. Minor deductions: 'optional' is ambiguous since the profile parameter is actually required, and the title says 'Save' while the description says 'Replace,' a slight semantic mismatch.

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 privacy note ('never sends profile data to TONE3000') and 'local profile store' phrasing imply a local-only persistence use case, which is useful context. However, the description never names an alternative or states when-not-to-use it, and it doesn't contrast with the natural read sibling get_user_tone_profile.

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