Skip to main content
Glama

itunes_next

Skip to the next track in Apple Music playback using MCP commands for macOS control.

Instructions

Skip to the next track.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Implementation Reference

  • The handler function for the 'itunes_next' tool, registered via @mcp.tool(). It executes an AppleScript command to skip to the next track in the Music (iTunes) application using the run_applescript helper.
    @mcp.tool()
    def itunes_next() -> str:
        """Skip to the next track."""
        script = 'tell application "Music" to next track'
        return run_applescript(script)
  • Shared helper function that executes AppleScript via osascript subprocess, used by the itunes_next handler and other tools to interact with the Music application.
    def run_applescript(script: str) -> str:
        """Execute an AppleScript command via osascript and return its output."""
        result = subprocess.run(["osascript", "-e", script], capture_output=True, text=True)
        if result.returncode != 0:
            return f"Error: {result.stderr.strip()}"
        return result.stdout.strip()
Behavior3/5

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

No annotations are provided, so the description carries full burden. 'Skip to the next track' clearly indicates a mutation action (changing playback state), but doesn't disclose behavioral details like whether this requires iTunes to be running, what happens at the end of a playlist, error conditions, or response format. It states the core action but lacks operational context.

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 a single, perfectly focused sentence with zero wasted words. It's front-loaded with the complete action statement and contains no redundant or unnecessary information. Every word earns its place.

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?

Given the tool's simplicity (zero parameters, mutation action), the description is reasonably complete. However, with no annotations and a mutation tool, it could benefit from mentioning basic operational constraints. The existence of an output schema means return values are documented elsewhere, reducing the burden on the description.

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 tool has zero parameters, and schema description coverage is 100% (empty schema properly documented). The description doesn't need to explain parameters, so it appropriately focuses on the action. A baseline of 4 is appropriate for zero-parameter tools when the schema is complete.

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 specific action ('Skip to') and target resource ('the next track'), using an unambiguous verb+resource combination. It effectively distinguishes this tool from siblings like 'itunes_play', 'itunes_pause', and 'itunes_previous' by specifying the exact navigation function.

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 implies usage context (when a user wants to advance to the next track in a playback sequence), but doesn't explicitly state when NOT to use it or name alternatives. It doesn't provide prerequisites or compare with similar tools like 'itunes_previous' or 'itunes_play_song'.

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/kennethreitz/mcp-applemusic'

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