Skip to main content
Glama

vlc_control

Control VLC playback by playing, pausing, stopping, skipping playlist tracks, or toggling fullscreen.

Instructions

Control VLC playback.

Actions: play - resume playback if paused (does nothing if already playing) pause - pause playback (does nothing if already paused) toggle - toggle pause; if stopped, plays the current or first playlist item stop - stop playback next - jump to the next playlist item previous - jump to the previous playlist item fullscreen - toggle fullscreen

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "action": "<action>"
    },
    "name": "vlc_control"
  }
}

Input Schema

NameRequiredDescriptionDefault
actionYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does a good job disclosing idempotency semantics: play/pause explicitly no-op in the already-correct state, and toggle has defined behavior from the stopped state. It stops short of saying what happens when the playlist is empty, whether stop clears the playlist, or whether any action requires a video to be loaded.

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?

One-line purpose statement followed by a clean, front-loaded action list; each line carries distinct semantics and there is no filler. Formatting makes the value set scannable at a glance.

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 single-parameter control tool with an output schema already declared, the description is nearly sufficient — action values are fully defined and state transitions are mostly clear. The remaining gap is the absence of any fallback/error behavior for actions invoked when nothing is loaded or the playlist is empty.

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

Parameters5/5

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

The schema is a bare untyped string with 0% description coverage and no enum, so without the description an agent could not know valid values. The description effectively defines the accepted value set and gives each action a precise meaning, fully compensating for the schema gap.

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?

States a specific verb and resource ('Control VLC playback') and then enumerates the eight supported actions with concrete meaning for each, so an agent knows exactly what capability this tool exposes. The per-action glosses (e.g. 'play - resume playback if paused') also distinguish it from siblings like play_playlist_item or seek.

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 action list implies when each action applies, and edge cases such as 'toggle - if stopped, plays the current or first playlist item' are helpful. However, it never states when to use this tool versus siblings (e.g. play_playlist_item to start a specific item, get_status to check state before acting), and there is no guidance on preconditions or errors.

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