Skip to main content
Glama

Get or set volume and mute

hs_audio_volume

Get or set audio volume and mute state on the macOS default device. Use without arguments to query current values.

Instructions

Read or change the volume and mute state of the default audio device. Called with no arguments it only reports the current state, so it is safe to use as a query.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
mutedNoMute state. Omit to leave it unchanged.
volumeNoVolume percentage. Omit to leave it unchanged.
directionNooutput
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavior. It mentions that a no-arg call is a safe query, but it does not explain side effects of changing volume or mute, whether changes are persistent or immediate, nor the impact on the default device. There is no mention of the direction parameter (input/output) or return format. Given it's a mutation-capable tool, this is a significant gap.

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?

The description is two sentences long, front-loaded with the core function, and contains zero fluff. Every word contributes value, making it highly efficient for an agent to parse.

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?

The tool is relatively simple (3 optional params, no output schema). The description covers the primary read/write functionality and the safe query mode. However, it omits details about the 'direction' parameter (input/output) and what exactly is reported (volume and mute state, but no format). Given the absence of an output schema, these missing details leave the agent partially uninformed.

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 input schema already describes each parameter with acceptable clarity (coverage 67%, though all params have descriptions). The description adds relevant value by clarifying the all-optional behavior: 'Called with no arguments it only reports the current state.' This informs the agent that omitting all parameters is a query, which is not explicit in the schema alone.

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 description clearly states the tool's function: 'Read or change the volume and mute state of the default audio device.' This is a specific verb-resource pair that distinguishes it from sibling tools like hs_audio_devices (listing devices) and hs_media_control (media playback). The purpose is unambiguous.

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 provides a clear usage hint: 'Called with no arguments it only reports the current state, so it is safe to use as a query.' This tells the agent when to use the tool passively versus actively changing state. However, it does not explicitly mention alternatives or exclusions, leaving some room for ambiguity among audio-related siblings.

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/vukvukovich/hammerspoon-mcp'

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