Skip to main content
Glama

mcp-mpv-player

npm version npm downloads

中文文档

Control mpv media player through AI conversation. Play music and video, manage playlists — all via natural language.

Works with opencode and any MCP-compatible AI tool.

mcp-mpv-player MCP server

Installation

Make sure Node.js is installed, then run:

npx mcp-mpv-player

The setup wizard will automatically:

  • Detect or install mpv

  • Locate your opencode config file

  • Register the MCP tool

Restart opencode when done.

Related MCP server: social-video-mcp

Usage Examples

Just talk to your AI naturally:

Play D:/Music/song.mp3
Pause
Next track
Skip forward 30 seconds
Jump to 2 minutes 30 seconds
Set volume to 80
Create a playlist called "chill" with D:/Music/a.mp3 and D:/Music/b.mp3
Play the "chill" playlist
Shuffle

Tools

Playback Control

Tool

Description

player_play

Play a file or URL, auto-starts mpv

player_pause

Toggle pause / resume

player_stop

Stop playback

player_next

Next track

player_prev

Previous track

player_seek

Seek by seconds / absolute time / percent

player_set_volume

Set volume (0–130)

player_set_speed

Set playback speed (0.5x / 1x / 2x …)

player_status

Get current playback status

player_shuffle

Shuffle playlist and play from the start

Playlist Management

Tool

Description

playlist_create

Create a new playlist

playlist_load

Load and play a saved playlist

playlist_add

Add files to a playlist

playlist_remove

Remove a track from a playlist

playlist_list

List all playlists or inspect one

playlist_delete

Delete a playlist

Playlists are saved as .m3u files in %USERPROFILE%\mpv-playlists\.

Requirements

  • Windows 10 / 11

  • Node.js 18+

  • mpv (can be installed automatically by the setup wizard)

How It Works

mpv exposes a JSON IPC interface via a Windows Named Pipe (\\.\pipe\mpv-ipc). This tool runs as an MCP server, receives commands from the AI, and forwards them to mpv.

When player_play is called and mpv is not running, it is launched automatically with the IPC flag and stays running in the background between tracks.

License

MIT

Available Tools

16 tools
player_nextB

Skip to the next item in the playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description is minimal and does not disclose behavior such as return values, failure modes (e.g., at end of playlist), or side effects. The agent lacks critical information about what happens on invocation.

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, clear sentence with no unnecessary words. It is appropriately sized for a simple, no-parameter tool.

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?

For a tool with no parameters and no output schema, the description covers the basic purpose but lacks behavioral details (e.g., what if playlist is empty or at end). It is minimally viable but incomplete.

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 has zero parameters, so no parameter information is needed. The description does not attempt to explain any nonexistent parameters, and the baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (skip) and target (next item in playlist), making the purpose unambiguous. However, it does not explicitly differentiate from the sibling player_prev, though the direction is implied.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like player_play or player_seek. The description lacks context about prerequisites or consequences (e.g., if at end of playlist).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

player_pauseA

Toggle pause / resume playback.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as return status, error conditions (e.g., if already paused), or side effects. The bare description leaves ambiguity.

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, short sentence that conveys the essential purpose without waste.

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 has no parameters or output schema, the description is mostly complete. However, it could benefit from mentioning the toggle behavior or state dependencies.

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?

There are no parameters, and schema coverage is 100% by default. The description adds no parameter details, but none are needed.

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 'Toggle pause / resume playback' uses a specific verb 'Toggle' and clearly identifies the resource (pause/resume playback). It distinguishes this tool from siblings like player_play or player_stop.

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

Usage Guidelines3/5

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

The description implies usage for pausing or resuming playback but does not provide explicit when-to-use or when-not-to-use guidance. No alternatives or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

player_playA

Open and play a media file or URL. If mpv is not running, it will be launched automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute file path or URL (http/https/rtmp etc.)
appendNoAppend to current playlist instead of replacing it

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses automatic launch of mpv but omits details on error handling, blocking behavior, or side effects like replacing the current playlist (only vaguely implied by the append parameter).

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 extremely concise (two sentences) with the primary purpose front-loaded. No wasted words.

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 action and automatic launch behavior. Though it could explicitly mention what happens to current playback or error cases, it is largely complete for a simple playback tool with no output schema.

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?

Schema coverage is 100%, so baseline is 3. The description adds no additional meaning beyond what the schema already provides for 'path' and 'append'.

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: 'Open and play a media file or URL'. It also adds a distinguishing detail (launching mpv automatically) that sets it apart from sibling tools like player_pause or player_stop.

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

Usage Guidelines3/5

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

The description implies usage when starting playback but does not provide explicit guidance on when to choose this tool over siblings (e.g., player_next, player_seek). It lacks exclusion criteria or alternative descriptions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

player_prevA

Go back to the previous item in the playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided. The description only states the action without revealing side effects or behavior at boundaries (e.g., whether it loops, stops, or errors when already at the first item).

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 sentence that is efficient and front-loaded with the key action. No wasted words.

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?

Given the simplicity of the tool (no parameters, no output schema), the description is minimally adequate but lacks important behavioral context at playlist boundaries. An explanation of what happens when already at the first item would improve completeness.

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 0 parameters, and the description does not need to add parameter details. The baseline score applies as the description still clarifies the purpose.

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 'Go back to the previous item in the playlist' uses a specific verb and resource, clearly indicating the action and target. It differentiates from sibling tool 'player_next' by specifying 'previous'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., player_seek for specific positions). It does not mention edge cases like being at the beginning of the playlist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

player_seekC

Seek within the current media.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesSeconds to seek (positive = forward, negative = backward) when mode=relative. Absolute second when mode=absolute. 0-100 when mode=percent.
modeNoSeek moderelative

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description must convey behavioral traits. It only states 'Seek within the current media,' omitting details such as behavior when seeking beyond track length, whether the media pauses, or if it requires an active media session.

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 clear sentence that is front-loaded and efficiently conveys the core purpose. Every word earns its place.

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

Completeness2/5

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

The description is too minimal for a tool with 2 parameters and no output schema. It lacks information on return values, error conditions, prerequisites (e.g., media must be loaded and playing), and edge cases like invalid seek values.

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?

Schema description coverage is 100%, with both parameters well-described in the schema. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Seek within the current media' clearly identifies the tool's action and resource. It distinguishes from siblings like player_next/prev (track skipping) and player_play/pause (playback control). However, it does not highlight the supported seek modes (relative, absolute, percent).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool vs alternatives like player_next/prev or player_play/pause. No context about prerequisites (e.g., media must be playing) or when seeking is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

player_set_speedA

Set playback speed multiplier. 1.0 = normal speed.

ParametersJSON Schema
NameRequiredDescriptionDefault
speedYesSpeed multiplier e.g. 0.5, 1.0, 1.5, 2.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description adds minimal behavioral context beyond the schema, explaining the multiplier concept but not addressing constraints, effects on other state, or error scenarios.

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 short, front-loaded sentences with no wasted words; 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?

For a simple one-parameter setter with no output schema, the description is nearly complete, providing purpose and a reference value. Minor omission: no mention of valid ranges or behavior during paused playback.

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 schema already covers the parameter with examples (0.5, 1.0, 1.5, 2.0), and the description adds only '1.0 = normal speed' which is helpful but not extensive; baseline 3 due to high schema coverage.

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 action ('Set playback speed multiplier') and provides a reference value (1.0 = normal speed), distinguishing it from sibling tools like play, pause, etc.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives, but the context of sibling tools makes it implied; missing explicit when-not or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

player_set_volumeA

Set playback volume (0–130). 100 is default.

ParametersJSON Schema
NameRequiredDescriptionDefault
volumeYesVolume level 0–130

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must carry the burden. It adds the default value but does not disclose other behavioral traits like persistence or side effects on playback.

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?

Extremely concise with no wasted words. Single sentence effectively communicates purpose, range, and default.

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?

For a simple one-parameter tool with no output schema, the description covers the essential range and default. Could be slightly more comprehensive (e.g., integer constraint), but adequate.

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% and description adds the default value (100) not present in schema. Adds meaningful context 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?

The description clearly states the verb 'Set', the resource 'playback volume', and provides a range (0–130) and default (100). This distinguishes it from sibling tools like player_seek or player_set_speed.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., other volume-related tools are absent). Lacks explicit context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

player_shuffleA

Randomly shuffle the current playlist and start playing from the first track.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description is the sole source of behavioral info. It states the main action but does not disclose edge cases (e.g., behavior on empty playlist, effect on current playback state). Basic but adequate for a simple operation.

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 sentence of 11 words, conveying all necessary information without redundancy. Highly concise and front-loaded.

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 zero parameters and no output schema, the description covers the essential action. It could mention prerequisites (e.g., a playlist must be active) but is otherwise sufficient for a simple function.

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?

There are no parameters, and schema coverage is 100% trivially. The description adds no parameter info, which is appropriate. Baseline score 3 is used as per rubric for high schema coverage.

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 action: shuffle the current playlist and start playing from the first track. It uses specific verbs and resources, and distinguishes itself from siblings like player_play and player_next.

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

Usage Guidelines3/5

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

No explicit guidance on when to use vs. alternatives. While the purpose is clear, there is no mention of prerequisites (e.g., a playlist must be loaded) or exclusions (e.g., not to be used if user wants to shuffle without playing).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

player_statusA

Get current playback status: file name, position, duration, volume, speed, pause state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description adequately conveys that this tool is a read-only operation returning specific playback details. It does not mention side effects or additional behavioral traits, but for a status query, the description is transparent enough.

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 sentence that directly states the purpose and lists the key return values. No wasted words, and the most important information is front-loaded.

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

Completeness5/5

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

For a tool with no parameters and no output schema, the description fully covers what the tool does and what information it returns. It is complete and sufficient for an agent to use.

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 has zero parameters, and the description does not need to add parameter details. According to guidelines, 0 params baseline is 4. The description adds meaning by listing the return fields.

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 'Get current playback status' and enumerates the specific fields returned (file name, position, duration, volume, speed, pause state). This distinguishes it from sibling tools which are all control actions (play, pause, next, etc.).

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: use this to retrieve current playback state. It does not explicitly state when not to use it, but given the tool's simplicity and differentiation from sibling tools, the guidance is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

player_stopA

Stop playback and clear the current file.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It explicitly states both actions: stopping playback and clearing the file. This is sufficient for a simple tool.

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?

Extremely concise and front-loaded. Every word is necessary and earns its place.

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

Completeness5/5

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

For a zero-parameter tool with no outputs, the description fully covers the behavior. No additional detail is needed.

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?

No parameters exist, so schema coverage is 100%. The description adds meaning beyond the empty schema by clarifying the tool's effect.

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 verb 'stop' and resource 'playback', and adds 'clear the current file' which distinguishes it from siblings like player_pause that only pause without clearing.

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

Usage Guidelines2/5

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

No guidance on when to use stop versus pause or other siblings. The description does not provide context for choosing this tool over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

playlist_addA

Add files to an existing playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPlaylist name
filesYesFiles to append

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It indicates a mutation (add) but does not mention whether duplicates are allowed, if files are appended, or what happens if the playlist doesn't exist. This is insufficient for a mutation tool without annotations.

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, concise sentence with no superfluous information. It is front-loaded and efficient.

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?

Given no output schema and no annotations, the description is minimal. It covers the basic purpose but lacks details on error handling, idempotency, or behavior for missing playlists. For a simple mutation, it is just adequate.

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?

Schema coverage is 100%, so the baseline is 3. The description clarifies that files are added to an existing playlist, which adds context beyond the schema but does not elaborate on the parameters themselves.

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 'Add files to an existing playlist' clearly states the action (add) and the resource (files to an existing playlist). It effectively distinguishes from sibling tools like playlist_create (creates new) and playlist_remove (removes files).

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

Usage Guidelines3/5

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

The description implies the playlist must already exist but does not explicitly state this prerequisite or compare with alternatives. It provides minimal guidance on when to use versus playlist_create or playlist_remove.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

playlist_createB

Create a new playlist with a list of file paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPlaylist name
filesYesArray of absolute file paths or URLs

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It fails to disclose important behaviors such as whether an existing playlist with the same name is replaced, whether files must exist on disk, or if paths/URLs are validated. The brief statement does not cover safety or side effects.

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?

The description is a single, efficient sentence with no waste. However, it could be slightly more structured to include key constraints without becoming verbose. Still, it earns points for brevity.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description should provide more context about return values, error conditions, or the behavior when a playlist name already exists. The current description is too minimal for a creation tool with two required parameters.

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?

Schema coverage is 100%, and the schema already documents both parameters (name and files) with clear descriptions. The description adds little new meaning beyond restating 'list of file paths', which is less precise than the schema's 'absolute file paths or URLs'.

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 action ('Create a new playlist') and the input source ('list of file paths'). The verb 'create' distinguishes it from sibling tools like playlist_add (which implies adding to existing) and playlist_load (loading a saved playlist).

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

Usage Guidelines2/5

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

No explicit guidance is provided on when to use this tool versus alternatives. The description does not mention scenarios like creating a new playlist from scratch vs. adding to an existing one, nor does it reference sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

playlist_deleteB

Delete a saved playlist file.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPlaylist name to delete

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description only states the action without disclosing behavioral details such as irreversibility, side effects, or required permissions. The description does not compensate for the lack of annotations.

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 concise sentence that directly states the tool's purpose with no unnecessary words. It is well-structured and front-loaded.

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?

For a simple deletion tool with one parameter and no output schema or annotations, the description is mostly complete. It fully explains the action and parameter, though additional behavioral details would be beneficial.

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 has 100% coverage with a simple string parameter 'name' described as 'Playlist name to delete'. The description adds no additional meaning beyond the schema, so a baseline score 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 clearly states the action (delete) and the resource (saved playlist file). It distinguishes from sibling tools like playlist_create or playlist_list, as deletion is a distinct operation.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like playlist_remove. The description does not mention prerequisites or scenarios for using this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

playlist_listA

List all saved playlists or show contents of a specific playlist.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoPlaylist name to inspect (omit to list all playlists)

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided. Description only states basic function without disclosing behavioral traits such as read-only nature, side effects, or output format. For a tool with no annotations, more detail is needed.

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?

Single sentence, efficient, no waste. Every word earns its place.

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?

Given no output schema and no annotations, the description is reasonably complete for a list tool, but lacks detail about return format (e.g., list of names vs objects). Adequate but could be improved.

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?

Schema description coverage is 100% with one parameter. Description adds context by explaining the dual mode, but largely restates the schema. Adequate but not enhanced 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?

Description clearly states it lists all playlists or shows contents of a specific playlist. Differentiates from siblings like playlist_create, playlist_delete, etc. by using specific verb 'list' and resource 'playlists'.

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?

Provides clear usage: omit 'name' to list all, provide 'name' to show contents. No explicit when-not or alternatives, but context from sibling tools makes it unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

playlist_loadB

Load a saved playlist by name and start playing it.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPlaylist name (without .m3u)

TDQS

B3.1/5.0
Behavior2/5

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

Without annotations, the description carries full burden. It states the action but does not disclose effects on current state (e.g., stopping playback, clearing queue) or preconditions (e.g., playlist must exist).

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 front-loaded sentence with no wasted words, efficiently communicating the core action. Every word earns its place.

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?

For a simple single-parameter tool, the description is mostly complete. However, it lacks context about its effect on current playback, which an agent might need to avoid confusion with siblings.

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?

Schema coverage is 100% with a clear parameter name and description. The tool description adds no additional semantic value beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool loads a saved playlist and starts playing it, with a specific verb and resource. However, it lacks details on whether it replaces the current playback queue or not, which slightly reduces clarity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus siblings like playlist_add or player_play. The agent is left to infer usage without explicit when-to or when-not-to instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

playlist_removeB

Remove a file from a saved playlist by index (0-based).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPlaylist name
indexYes0-based index to remove

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully convey behavioral traits. It only states removal by index but omits what happens on invalid index, whether the operation is reversible, or any side effects. For a mutation tool, this is insufficient.

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 sentence that efficiently conveys the essential information without any redundancy or waffle.

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?

Given the simplicity of the tool (2 parameters, no output schema), the description is functional but incomplete. It lacks details on return values, error handling, and behavior when inputs are invalid, which would be helpful for an agent.

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?

Schema coverage is 100%, so both parameters are well-documented. The description adds the '0-based' detail to the index parameter, which is a minor improvement. However, it does not clarify the name parameter beyond the schema's description.

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 verb 'Remove' and resource 'file from a saved playlist' are clearly stated. The 0-based index specification adds precision. It distinguishes from sibling tools like playlist_delete (deletes entire playlist) and playlist_add.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as playlist_delete or player_prev. There is no mention of prerequisites, constraints, or situations where this tool is inappropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 16 tool updatesv1.0.3
    • First observedplayer_next
    • First observedplayer_pause
    • First observedplayer_play
    • First observedplayer_prev
    • First observedplayer_seek
    • First observedplayer_set_speed
    • First observedplayer_set_volume
    • First observedplayer_shuffle
    • First observedplayer_status
    • First observedplayer_stop
    • First observedplaylist_add
    • First observedplaylist_create
    • First observedplaylist_delete
    • First observedplaylist_list
    • First observedplaylist_load
    • First observedplaylist_remove

TDQS

A3.7/5.0
Disambiguation5/5

All tools have clear prefixes ('player_' and 'playlist_') and distinct actions. There is no overlap between player controls and playlist management, and within each category, each tool serves a unique purpose.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (e.g., player_next, playlist_create). No deviations or mixed conventions are present.

Tool Count4/5

With 16 tools, the server slightly exceeds the ideal range of 3-15 but remains well-scoped. The count covers both playback controls and playlist management without being excessive.

Completeness4/5

The tool surface covers core playback and playlist operations. Minor gaps exist, such as lack of a tool to remove items from the current playing playlist or control loop/shuffle modes, but these are not critical for basic functionality.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/guodaxia9527/mcp-mpv-player'

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