Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MPD_HOSTNoMPD host (used if FLACLI_MPD is not set).
MPD_PORTNoMPD port (used if FLACLI_MPD is not set).
FLACLI_MPDNoOverride for MPD connection (socket path, host:port, or 'off').
FLACLI_DATANoOverride for the data directory (also set via `flacli config`).
FLACLI_CONTACTNoContact email sent in the MusicBrainz User-Agent (also set via `flacli config set contact`).
FLACLI_AUTO_TIDYNoOverride for the auto-tidy setting.
FLACLI_MUSIC_DIRNoOverride for the music directory where files are filed (also set via `flacli config set music_dir`).
FLACLI_WIKI_TARGETSNoOverride for the wiki targets (players that receive wiki/avatar data).
NICOTINE_MCP_SOCKETNoUnix socket path for the Nicotine+ MCP bridge (also set via `flacli config`).
FLACLI_TIDAL_CLIENT_IDNoTidal client ID for the TIDAL service (also set via `flacli config set tidal_client_id`).

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
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
doctorA

Health check: is Nicotine+ reachable, does the music dir exist, what is configured. Call this first when something fails; the result says how to fix it.

get_musicA

Fetch named songs and albums in one call. Items: "Artist - Title" for a song, "Artist - Album (album)" for a whole album. Resolves them on MusicBrainz, skips what the library already has, and starts a background job that searches Soulseek and queues every match at or above min_confidence; the request itself is the go-ahead, no extra confirmation. Report what was understood, then call status(playlist_id) in a minute or two.

sync_playlistA

Import a playlist (file path: Spotify export, CSV, M3U, JSPF, XSPF; or a TIDAL / Deezer / YouTube Music share URL; or an existing playlist id), resolve it on MusicBrainz, diff it against the library, and match the missing tracks on Soulseek in the background. Nothing is downloaded unless yes=True, which the user must have asked for. Follow with status(playlist_id) until the job is finished, then queue_downloads.

statusA

All playlists, or one playlist: counts by state, the running or last job, download progress. Finished downloads are filed into the library (tags normalised, Artist/Album/NN - Title) as a side effect. The 'next' field says what to do next.

review_candidatesC

Tracks that need a decision with their best candidates: confidence, quality, why they scored, user queue. doubtful_only hides everything at or above 0.85. status="not_found" lists what Soulseek did not have.

approve_tracksA

Approve candidates: give track_ids (candidate picks which one, 0 = best), or min_confidence to approve every track in the playlist at or above it. Approving queues nothing; queue_downloads does.

skip_tracksB

Leave these tracks out of matching and the M3U.

queue_downloadsB

Without yes: the totals (tracks, size, users) of what would be downloaded; show them to the user. With yes=True: queue the transfers in Nicotine+. min_confidence first approves every candidate at or above it.

write_m3uB

Write the playlist as M3U8 in its original order from the local files; lists the tracks still missing.

tidy_libraryA

Library clean-up: normalise tags, drop lossy duplicates of FLACs, file everything as Artist/Album/NN - Title. apply=False is a dry run that writes a report; apply=True changes files and must only follow the user's yes to the listed deletions.

cancel_jobB

Stop the running matching job of a playlist.

wiki_todoB

Artists and albums in the library that have no bio / wiki text yet, with what a writer needs (tracks, year, MusicBrainz ids). Start here, then wiki_fill; write the rest yourself with wiki_sources + wiki_write.

wiki_fillA

Give every entry without text its English Wikipedia lead paragraph when MusicBrainz links one (attributed, CC BY-SA), limit entries per call. The rest come back in to_write with MusicBrainz facts and links: write those yourself, from the facts only, and store each with wiki_write. Call again while remaining > 0.

wiki_sourcesB

Facts and links for one artist (album=None) or album: MusicBrainz type, dates, area, labels, tags, annotation, outbound links (Wikidata, Discogs, Bandcamp, homepage), and the Wikipedia lead when there is an article.

wiki_writeC

Store the text for an artist (album=None) or an album: written to a sidecar file beside the music and pushed into the player's cache. Plain text, no markup; one paragraph for an album, two for an artist; only what the sources support. attribution is shown under the text: name the sources and, if you wrote it, yourself (e.g. "Written by Claude from MusicBrainz and Discogs, 2026-09-17"). force replaces existing text.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 15 tools

Disambiguation4/5

Two clear clusters exist (download/playlist workflow and wiki authoring), and most tools like approve_tracks vs queue_downloads vs cancel_job are cleanly separated. The wiki_* set (todo/fill/sources/write) has subtle boundary overlaps—both wiki_fill and wiki_sources return Wikipedia lead text—but descriptions disambiguate them adequately. Overall distinct purposes with only minor friction.

Naming Consistency4/5

Mostly a consistent snake_case verb_noun pattern (get_music, sync_playlist, review_candidates, queue_downloads, write_m3u, tidy_library, cancel_job) plus a wiki_* prefix group. Minor deviations are bare nouns 'doctor' and 'status', which break the verb style but remain readable.

Tool Count4/5

15 tools is within a reasonable range and each earns its place across the download pipeline and the wiki authoring flow. It sits at the top of the comfortable band given the server covers two distinct feature areas, so slightly heavy but justified.

Completeness4/5

The domain (library management, Soulseek matching/download, wiki metadata) is well covered end-to-end: health check, fetch, sync, status, review/approve/skip, queue, cancel, M3U export, and tidy. Minor gaps like no explicit library browse/search or playlist deletion are workable around, but not full lifecycle CRUD.

Maintenance

ActivityMaintained
ResponsivenessUnresponsive