Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VLC_HTTP_HOSTNoHost where VLC is listening. Defaults to `localhost`.
VLC_HTTP_PORTNoPort VLC's HTTP interface listens on. Defaults to `8085`.
ROOT_VIDEO_FOLDERYesFolder that holds your videos. Tool paths are relative to it.
VLC_HTTP_PASSWORDYesPassword for VLC's HTTP interface. The fallback `your_password` will fail VLC's login.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_statusB

Get the current status of VLC playback.

seekA

Seek to a specific position in the video. + or - seek relative to the current position and otherwise absolute.

Allowed values are of the form: [+ or -][:][:][] or [+ or -]% Examples: -10s -> seek 10 seconds backward +1h:2m:3s -> seek 1 hour, 2 minutes and 3 seconds forward 30s -> seek to the 30th second 50% -> seek to the middle -10% -> seek 10% back

vlc_controlA

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

set_playback_rateB

Set the playback speed. 1.0 is normal speed, 2.0 is double, 0.5 is half. Must be greater than 0.

set_aspect_ratioB

Set the video aspect ratio.

Args: ratio: One of 1:1, 4:3, 5:4, 16:9, 16:10, 221:100, 235:100, 239:100, or "default" to reset.

set_sync_delayA

Set the audio or subtitle delay to fix out-of-sync playback.

Args: stream: "audio" or "subtitle" seconds: Delay in seconds (can be negative or fractional, e.g. -0.5). 0 resets it.

set_volumeB

Set the volume level of VLC (0-200, where 100 is normal volume).

Args: volume_level: An integer between 0 and 200 representing the volume percentage

get_volumeA

Get the current volume level of VLC (as a percentage).

adjust_volumeB

Increase or decrease the volume by a specified percentage.

Args: change: An integer representing the percentage to change the volume by. Positive values increase volume, negative values decrease it.

get_tracksA

List the streams (audio, video, subtitle) of the current item, plus titles and chapters.

Use the stream numbers shown here with select_track.

select_trackA

Select a title, chapter, audio track, video track or subtitle track.

Args: kind: One of title, chapter, audio, video, subtitle track_id: The stream number from get_tracks (or the title/chapter number). Use -1 for subtitle to disable it.

add_subtitleA

Load an external subtitle file into the currently playing video.

Args: subtitle_path: Path relative to the video folder (or an absolute path) of a subtitle file such as .srt

get_playlistA

List the items in the VLC playlist with their ids. The current item is marked with *.

enqueue_videoA

Add a video to the end of the playlist without starting it.

Args: video_path: Path relative to the video folder, as returned by get_available_videos

play_playlist_itemA

Play a playlist item by its id (from get_playlist). If item_id is omitted, plays the last active item.

remove_playlist_itemB

Remove an item from the playlist by its id. VLC marks this command as unsupported, so it may not work.

clear_playlistA

Remove every item from the playlist.

sort_playlistB

Sort the playlist.

Args: mode: One of id, name, author, random, track_number reverse: True to sort in reverse order

toggle_playlist_modeA

Toggle a playlist mode on or off and report its new state.

Args: mode: "random" (shuffle), "loop" (repeat whole playlist) or "repeat" (repeat current item)

get_equalizerA

Show the equalizer state: preamp, band gains and the available presets.

set_equalizerA

Change the equalizer. Only the arguments you pass are applied.

Args: enabled: True to enable, False to disable the equalizer preset_id: Preset id from get_equalizer preamp_db: Preamp level, -20 to 20 dB band: Band 0-9 (0: 60 Hz, 1: 170 Hz, 2: 310 Hz, 3: 600 Hz, 4: 1 kHz, 5: 3 kHz, 6: 6 kHz, 7: 12 kHz, 8: 14 kHz, 9: 16 kHz). Requires gain_db. gain_db: Gain for the band, -20 to 20 dB

get_available_videosB

Get all available videos with their path.

browse_folderB

List the files and folders VLC sees in a folder, via VLC's own file browser.

Args: folder: Path relative to the video folder (empty for the video folder itself), or an absolute path

get_album_artB

Get the album art / cover image for the current item, or for a playlist item id from get_playlist.

show_videoC

Show the video using the the video path and the subtitle language code. If the subtitle language code is an empty string, the video will play with no subtitle.

vlmA

Run a VLM (VideoLAN Manager) command, or list VLM elements when command is empty.

Args: command: A VLM command such as "show", "new mybroadcast broadcast enabled", "control mybroadcast play". Leave empty to list all VLM elements. Returns VLC's raw XML response.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.4/5.0

Scored across 26 tools

Disambiguation4/5

Most tools target a clearly distinct resource or action (volume, tracks, equalizer, playlist, subtitles, seeking), so an agent can pick correctly. There is mild overlap around playback start paths—show_video vs enqueue_video + play_playlist_item vs vlc_control(play/toggle)—and vlm is a catch-all escape hatch that partially duplicates other controls.

Naming Consistency4/5

The set is overwhelmingly consistent snake_case verb_noun (get_volume, set_equalizer, play_playlist_item, toggle_playlist_mode, clear_playlist). A few outliers break the pattern: bare 'vlm', bare 'seek', and noun-first 'vlc_control', though they remain readable.

Tool Count3/5

26 tools is at/just over the heavy end for a media-player controller. Each maps to a real VLC capability, but the surface could be trimmed (e.g. vlm overlaps other tools, volume get/set/adjust could collapse), making it borderline rather than well-scoped.

Completeness4/5

Coverage is broad: playback, volume, tracks/titles/chapters, subtitles, playlist management, equalizer, aspect ratio, A/V sync, seek, rate, file browsing, album art, and VLM. Only minor gaps remain (e.g. screenshot/snapshot, audio output device selection, recording), which agents can mostly work around via vlm.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues