Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SSH_USERNoSSH username used to connect to remote Ubuntu hosts. Optional.
BACKUP_DIRYesDirectory path used for cluster backup operations (e.g. ./backups).
RADARR_URLYesBase URL of your Radarr instance (e.g. http://radarr:7878)
SONARR_URLNoBase URL of your Sonarr instance (e.g. http://sonarr:8989). Optional.
SABNZBD_URLYesBase URL of your SABnzbd instance (e.g. http://sabnzbd:8080)
PROWLARR_URLYesBase URL of your Prowlarr instance (e.g. http://prowlarr:9696)
SSH_KEY_PATHNoPath to the SSH private key file (e.g. /path/to/id_ed25519). Optional.
TAUTULLI_URLYesBase URL of your Tautulli instance (e.g. http://tautulli:8181)
TMDB_API_KEYYesAPI key for The Movie Database (TMDb)
UBUNTU_HOSTSNoComma-separated list of remote Ubuntu hosts to monitor, e.g. '192.168.1.10,192.168.1.11'. Optional.
RADARR_API_KEYYesAPI key for Radarr
SONARR_API_KEYNoAPI key for Sonarr. Optional.
QBITTORRENT_URLNoBase URL of your qBittorrent instance (e.g. http://qbittorrent:8080). Optional.
SABNZBD_API_KEYYesAPI key for SABnzbd
PROWLARR_API_KEYYesAPI key for Prowlarr
QBITTORRENT_PASSNoPassword for qBittorrent. Optional.
QBITTORRENT_USERNoUsername for qBittorrent. Optional.
TAUTULLI_API_KEYYesAPI key for Tautulli
DISCORD_WEBHOOK_URLNoDiscord webhook URL for notifications. Optional.

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": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
check_movie_statusA

Checks if a specific movie exists in the Radarr library on the Ubuntu cluster and returns its monitoring status with artwork.

diagnose_missing_mediaA

Traces a movie through Radarr metadata, history, and active download client queues to pinpoint why it is missing.

search_plex_libraryA

Searches the movies and TV shows actually in the user's Plex library (across all movie and show libraries, including 4K) by genre, actor, title, release year, and/or library. Filters can be combined, e.g. genre 'Horror' with year 1982, or genre 'Horror' with library '4k'. Pass mediaType 'movie' when the user asks about movies/films, 'show' for TV/series/shows, and leave it out (any) when the question is about titles in general, e.g. everything with an actor; a show in several libraries is one result, with its season and episode counts. Some libraries (such as Sports) may be left out unless named in the library filter. Use this to answer what the user owns or can watch; use check_movie_status for Radarr/download status of one specific movie. Watch state: use watched 'unwatched' (never played), 'inProgress' (started but not finished - this is the complete list of unfinished titles, unlike get_on_deck's short recent list) or 'watched' (finished), and notWatchedInYears for 'haven't watched in N years' (a never-watched title counts from when it was added); they are for the Plex account the app is connected with. sort orders by recentlyAdded, lastWatched or leastRecentlyWatched instead of by title. Also filter by network (or movie studio), contentRating (TV-MA, R...), minRating (audience rating 0-10), yearFrom/yearTo (a decade is 1990 to 1999) and addedWithinDays ('what showed up this week?'). Plex does not know whether a show is continuing or ended; use Sonarr tools for that. Always express a narrowing the user asks for (4K, a genre, a year, unwatched...) as a filter here rather than filtering results yourself, because the results table shown to the user contains exactly the rows this returns. The default limit is small: when the user wants everything ('all', 'every', 'list them'), pass limit 500; if the reply says more matches remain, call again with the offset it gives.

get_on_deckA

Answers 'what should I watch next?' from Plex's On Deck ('Continue Watching'): the movies the user has partly played and, for each show they are following, the episode to watch next (or the one they are part way through), most recently active first, with how far through each one is. A movie held in HD and 4K is one entry. Use title for 'which episode is next for ?' and mediaType 'show' for 'which episode is next in each show?'. IMPORTANT: On Deck is only Plex's short recent list (at most 50 items across everything), not every unfinished title, so for 'which movies did I start but not finish?', 'what haven't I finished?' or any complete list use search_plex_library with watched 'inProgress' instead. The watch state is for the Plex account the app is connected with.

search_episodesA

Finds individual TV episodes in the user's Plex library: 'the episode of where ...', 'which episode is called ...', episodes that aired in a date range, a show's season premieres or finales. IMPORTANT: Plex cannot search episode plots across the whole library. To search PLOTS (summaries) you must name the show (the show argument); the words then match the episode title and its plot. Without a show, only episode TITLES (and air dates) can be searched. When the user describes an episode by its plot and no show is known, ask which show or say only titles can be searched. Use season and episode for a specific one, airedFrom/airedTo (YYYY-MM-DD) for 'aired in March 2026', and episodeType 'premiere' or (with a show) 'finale'. Each result shows the show, season and episode numbers, air date and watch state.

find_series_by_qualityA

Finds TV shows by the video quality Sonarr downloaded: 'which shows do I only have in 720p?' (bestAtMost 720), 'which shows have 1080p or better?' (bestAtLeast 1080), 'which shows mix qualities?' (mixedOnly, useful as upgrade candidates). Lists the shows with the lowest best quality first, each with how many files are at each resolution, and opens with how many shows are at each level. It only sees what Sonarr downloaded, so a 4K copy in a separate Plex 4K library that Sonarr does not manage is not counted: for 4K use search_plex_library with library '4k'. Use folder to narrow to a kind of show by its Sonarr folder ('kids', 'anime', 'sports'). The first call reads every show's files (about 15 seconds) and is then cached for 5 minutes. Read-only.

resolve_actor_filmographyA

Resolves an actor's name to their official TMDb filmography (movies and TV shows), filtering out talk shows, news, self-appearances, and uncredited roles. When Plex is configured, marks which of those titles the user already has in their Plex library and which they don't. Use this to answer which of an actor's movies or shows the user is missing. Pass mediaType 'movie' when the user asks about movies/films, 'show' for TV/series, and leave it out (any) when the question is about the actor's work in general; keep the same mediaType on follow-ups.

check_series_completenessA

Answers 'do I have every episode of ?' from Sonarr's episode list: how many aired episodes are downloaded, which seasons and episodes are missing, what has not aired yet, and whether Sonarr is monitoring the show (so will fetch the rest). Use this for one specific TV show; use find_series_gaps to see which shows have gaps. It does not check what Plex has scanned.

find_series_gapsA

Lists the TV shows in Sonarr that are missing aired episodes, most missing first, with how many are downloaded, whether Sonarr is monitoring each show, and whether it is actively looking for the rest. Use it for 'which of my shows have gaps?', 'what am I missing?' or 'which shows are only missing a few episodes?'. Use monitored 'searching' for 'what is Sonarr still looking for?'. Express any narrowing as a filter (monitored, minMissing, maxMissing, hideEmpty) rather than filtering the result yourself, because the table shown to the user is exactly the rows returned. Most gaps are in shows that are deliberately not monitored or only partly kept; 'hideEmpty' drops shows with nothing downloaded and 'maxMissing' finds near-complete ones. For one show use check_series_completeness.

check_series_statusA

The TV counterpart of check_movie_status: what Sonarr knows about one show - whether it is monitored, its quality profile and location, when the next episode airs, when something was last downloaded, what is in the download queue, and how many aired episodes are downloaded. Use it for 'is monitored?', 'what quality is ?', 'when does come back?'. For which episodes are missing use check_series_completeness; for why one is missing use diagnose_missing_episodes.

diagnose_missing_episodesA

Explains WHY aired episodes of a show have no file, the TV counterpart of diagnose_missing_media: from Sonarr's history and download queue it says, per group of episodes, whether they were never grabbed, were grabbed but never imported, had a download fail (and why), had their file removed, are stuck in the queue, or are simply not monitored so Sonarr never looks for them. Read-only: it changes nothing. Give season (and episode) to look at just those; without them it groups every missing episode of the show. Use check_series_completeness first to see which episodes are missing.

get_upcoming_episodesA

What TV episodes are coming, from Sonarr's calendar. With no title it answers 'what's on this week?': every episode airing in the next few days (default 7, up to 60) from the shows Sonarr monitors, by day, with season premieres and finales flagged and episodes already downloaded marked. With a title it answers 'when does come back?': that show's next episodes, or that none is scheduled yet (or that it has ended). Only shows Sonarr monitors are listed by default and the number left out is reported; use monitored 'unmonitored' when the user asks about shows they do not monitor, or 'any' for everything (express that as the filter, because the table shown to the user is exactly the rows returned). Dates are the network's own air dates.

get_plex_activityA

Fetches real-time playback streaming analytics from Plex via Tautulli to monitor user context and transcoding strain.

get_library_analyticsA

Queries historical statistics regarding most watched movies, total user count, and overall watch metrics.

get_background_jobsA

Retrieves active, pending, or completed persistent media processing jobs running on the server cluster.

update_job_statusA

Updates the operational state of an active or pending background batch job.

plan_media_upgradeC

Evaluates and safely schedules a controlled batch upgrade for specified media classes while enforcing storage policies.

execute_next_job_stepA

Processes a single sequential block item from an active background batch queue entry to prevent API flooding. (Jobs that have been started are also advanced automatically, one item per minute, by the job runner.)

check_indexer_healthA

Audits all Usenet indexers and torrent trackers configured in Prowlarr to flag connection failures or bans, and reports Prowlarr's own system health warnings.

search_and_select_moviesA

Searches TMDb for matching movies and renders a structured Markdown multi-choice grid interface for confirmation.

confirm_selected_choicesA

Adds the user's numbered choices from the last search_and_select_movies grid to Radarr as monitored movies and starts a download search for each. Movies already in Radarr are reported, not added twice. Uses the quality profile you name, otherwise the default set on the Settings page, otherwise Radarr's first quality profile; and Radarr's first root folder unless told otherwise.

run_cluster_backupA

Asks each configured Servarr app (Radarr, Sonarr, Prowlarr) to create its built-in database backup, waits for each to finish, and confirms a new backup file appeared, reporting the file's name, size and time. The backups stay in each app's own backup folder; nothing is copied.

manage_stalled_downloadsA

Lists qBittorrent downloads that are stalled or slower than a threshold (AUDIT), and deletes chosen ones with their downloaded files (PURGE_STALLED). PURGE_STALLED only deletes the torrents whose hashes you pass, taken from an AUDIT the user has seen and agreed to; it never deletes anything else, and Radarr and Sonarr are not told.

get_cluster_infrastructure_healthA

Collects real-time CPU utilization, RAM usage, and active Docker container counts across all configured Ubuntu hosts.

trust_new_host_keyA

Forgets the remembered SSH key of a monitored host so the next check trusts the key it presents now. Only for a host the user rebuilt or reinstalled: an unexpected key change can mean another machine is impersonating it. Confirm with the user first.

get_cluster_hardware_analyticsA

Fetches real-time CPU load and memory allocation for every configured cluster host over SSH, as a Markdown table.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 26 tools

Disambiguation4/5

Most tools are clearly separated by their descriptions, especially across Plex discovery, Sonarr episode diagnostics, Radarr movie status, and job control. However, get_cluster_infrastructure_health and get_cluster_hardware_analytics overlap heavily, and the background job tools require careful reading to distinguish retrieval, update, and step execution.

Naming Consistency5/5

All tool names use snake_case and overwhelmingly follow predictable verb_noun or verb_noun_phrase patterns such as check_*, get_*, find_*, diagnose_*, and search_*. Minor outliers like get_on_deck and search_and_select_movies remain readable and do not break the overall convention.

Tool Count3/5

At 26 tools, the surface is heavy and sits just above the rubric's 25+ 'too many' threshold. The broad server scope across Plex, Radarr, Sonarr, Prowlarr, qBittorrent, cluster infrastructure, and background jobs justifies many tools, but some consolidation—especially around cluster metrics and job control—would improve scoping.

Completeness3/5

The server covers diagnostics, status checks, search, backups, and movie-addition workflows well, but there are notable lifecycle gaps. There is no tool to add or monitor TV series, no general update/delete capability for Radarr/Sonarr/Plex items, and no media removal beyond stalled torrents.

Maintenance

ActivityMaintained
ResponsivenessNo issues