Skip to main content
Glama

volume_ramp

Ramp Spotify playback volume up or down to a target percentage over a chosen number of minutes, with adjustable step intervals and an optional pause or play at the end.

Instructions

Generic volume ramp to a target percent over N minutes (up OR down, step-controlled, optional end-state pause/play) — a superset of schedule_wind_down (which is down-only with floor+pause). Quota: 🟢 stepped PUT /me/player/volume writes (ceil(minutes/step_minutes) calls), in-process, cancel-safe (restart replaces).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dry_runNoPreview only: validate inputs and describe exactly what would change without performing it
minutesNoTotal ramp duration in minutes (default 5)
device_idNoTarget device id (defaults to active device)
end_stateNoApplied after the final step (default none)none
step_minutesNoMinutes between steps (default 1)
target_percentYesRamp target (0-100)
response_formatNo'concise' = human prose, 'detailed' = more fields in prose, 'json' = raw API objectconcise
Behavior5/5

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

With no annotations present, the description carries the full behavioral burden and delivers: it discloses the underlying stepped PUT/me/player/volume writes, the exact quota formula (ceil(minutes/step_minutes) calls), that it is in-process, and that it is cancel-safe via restart replacement. This gives an agent concrete expectations about side effects and lifecycle behavior.

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 dense sentences earn their place: the first states the core behavior and the superset relation, the second provides quota and safety semantics. It is front-loaded with the main purpose and avoids fluff.

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

Completeness4/5

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

The description covers the core ramp behavior, the sibling alternative, quota impact, and cancel-safety, which is robust for a tool with no output schema. It does not explicitly mention what response the agent should expect, but the response_format parameter and schema descriptions fill most of that gap.

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 coverage is 100%, so the baseline is 3. The description adds meaning beyond parameter names by explaining that the operation is a ramp over minutes, step-controlled, and that quota scales with minutes/step_minutes; this enriches understanding of target_percent, minutes, and step_minutes. It does not detail every parameter, but the schema already documents them.

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?

Description states a specific action: a generic volume ramp to a target percent over N minutes, explicitly covering up or down, step-control, and optional end-state pause/play. It also differentiates from schedule_wind_down by naming it and clarifying the superset relationship.

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

Usage Guidelines4/5

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

The description clearly contrasts volume_ramp with schedule_wind_down, telling the agent when this tool is appropriate (up or down, step-controlled, with optional pause/play) versus the sibling (down-only with floor+pause). It does not explicitly mention volume_step, set_volume, or other volume-related siblings as alternatives, so guidance is partial but helpful.

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/NovaLux12/spotify-mcp-server'

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