Skip to main content
Glama
bestimmaa
by bestimmaa

Set a Roon zone's volume to a target percent

set_volume

Set the volume to a specific level in a Roon zone. Enter a percentage from 0 (silent) to 100 (max) for precise control.

Instructions

Use this when the user wants to change how loud a zone is — turn it up, turn it down, set the volume, or pick a level for a specific room (e.g. "turn it up to 60", "volume to 30 in the office", "set the kitchen to 50", "louder" — see note). Sets the zone's volume to level percent (0 = silent, 100 = max). The server rescales to each output's native range, so a single value works across mixed devices in a grouped zone. Incremental outputs (IR blasters with no numeric range) are reported as skipped rather than guessed at. zoneId is optional and resolves like now_playing. NOTE on relative changes ("louder" / "softer" without a number): this tool is absolute — read the current state with now_playing isn't enough on its own (volume isn't exposed there), so for relative changes, ask the user for a target percent or apply a reasonable default delta.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zoneIdNoTarget zone id or output id from list_zones. Omit to use ROON_DEFAULT_ZONE or fall back automatically.
levelYesTarget volume in percent (0 = silent, 100 = max). Mapped to each output's native range.
Behavior4/5

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

Discloses key behaviors: server rescales to native range, incremental outputs are reported as skipped. No annotations provided, so description carries the burden. No contradictions.

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?

Description is concise and front-loaded with purpose. Includes a structured note on relative changes. Could use clearer sectioning, but overall efficient.

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?

Covers main functionality, zone resolution, and special case of incremental outputs. No output schema but behavior is sufficiently described. Minor omission: error handling on invalid inputs.

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%, but description adds context: zoneId resolution like now_playing, and note on relative changes for the level parameter. Adds practical usage value beyond schema.

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?

Title and description clearly state the tool's purpose: setting a Roon zone's volume to a target percent. It distinguishes from sibling tools like mute (mute/unmute) and control_playback (play/pause) by focusing on absolute volume setting.

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?

Explicitly states when to use: 'when the user wants to change how loud a zone is'. Notes relative changes require a target percent or default delta, guiding against misuse. However, it does not explicitly mention when not to use or list specific alternative tools.

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/bestimmaa/roon-mcp'

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