Skip to main content
Glama

Control a specific music player

hs_music_control

Control playback in Spotify or the Music app with play, pause, play/pause, next, or previous actions. Targets the specified player directly to avoid conflicts when multiple players are available.

Instructions

Play, pause, or skip in Spotify or the Music app specifically. Use this instead of hs_media_control when more than one player could respond to a media key. The reported state is read back after the action settles, so it reflects what the player is now doing. Errors rather than launching the app if it is not already running.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesWhat to do.
playerYesWhich player to control.
Behavior4/5

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

With no annotations, the description carries the full burden and discloses important behaviors: the reported state is read back after the action settles, and it errors rather than auto-launching the app. It could additionally describe the exact returned state shape or side effects, but it provides solid guidance for a simple control action.

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 three focused sentences, front-loaded with the core purpose and followed by usage and behavior guidance. Every sentence earns its place; there is no redundant repetition of schema information.

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 tool is simple with only two enum parameters, and the description provides usage differentiation, target scope, and behavioral expectations. Since there is no output schema, mentioning that the state is read back helps, though exact return fields are not specified; overall it is sufficiently complete for effective selection and invocation.

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

Parameters3/5

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

The input schema already provides full coverage with enumerated values and descriptions for both player and action. The description adds context by naming Spotify/Music and listing actions, but it does not add detailed per-parameter semantics beyond the schema, so the baseline of 3 is appropriate.

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 states specific actions ('Play, pause, or skip') and specific targets ('Spotify or the Music app'), making the tool's purpose immediately clear. The phrase 'Use this instead of hs_media_control' also differentiates it from a closely related sibling tool.

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

Usage Guidelines5/5

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

It explicitly says when to use this tool over hs_media_control ('when more than one player could respond to a media key') and gives a behavioral constraint ('Errors rather than launching the app if it is not already running'), which helps the agent decide if this tool is appropriate.

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