Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LRCLIB_LOG_LEVELNosilent, error, info or debug. Logs go to stderr.error
LRCLIB_TIMEOUT_MSNoPer-request timeout.15000
LRCLIB_USER_AGENTNoUser-Agent sent to LRCLIB. Please keep that shape if you override it.mcp-lrclib v<version> (<repo url>)
LRCLIB_MAX_RETRIESNoRetries on rate limiting and transient errors.3
LRCLIB_CACHE_TTL_MSNoIn-memory cache lifetime (15 minutes).900000
LRCLIB_MIN_INTERVAL_MSNoMinimum gap between requests. Values below 200 ms are ignored.500
LRCLIB_CACHE_MAX_ENTRIESNoIn-memory cache size.200

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
search_tracksA

Search LRCLIB for tracks by title, artist or album, and get the id needed to fetch lyrics with get_lyrics. Give either 'query' as free text, or 'track_name' and 'artist_name' separately for a narrower search. Results carry metadata only: title, artist, album, duration, and whether plain and time-synced lyrics exist. Use 'duration_seconds' and 'album_name' in the results to tell releases and re-recordings of the same song apart, and 'has_synced_lyrics' to know whether karaoke-style timed lyrics are available before fetching them. LRCLIB indexes tracks by their metadata, so it cannot search for a word appearing inside the lyrics.

get_lyricsA

Fetch the lyrics of one track from LRCLIB, given the id returned by search_tracks, or an exact artist and title. Set 'format' to "synced" for karaoke-style lyrics with a timestamp on every line, "plain" for the text alone, or "both". Check 'has_synced_lyrics' in the search results first: not every track has timed lyrics. Lyrics can be long, so the text is truncated by default: check 'truncated' and call again with 'offset' set to 'next_offset' to continue reading. Instrumental tracks come back with status "instrumental" and no text, which is a valid answer, so do not retry them. Always cite 'attribution' when showing lyrics to a user.

get_trackA

Look up one LRCLIB track by its id and return its metadata without the lyrics: title, artist, album, duration, and whether plain and time-synced lyrics exist. Use this to confirm you have the right release or version before calling get_lyrics, or to check whether timed lyrics exist for a track id you already hold.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.6/5.0

Scored across 3 tools

Disambiguation4/5

The three tools have distinct primary purposes: search for tracks, fetch lyrics, and look up metadata by id. There is some overlap because search_tracks and get_track both return metadata, and get_lyrics may also include track metadata, but the descriptions clearly distinguish multi-result search from single-track lookup and lyric retrieval.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: search_tracks, get_lyrics, get_track. The convention is predictable and readable throughout.

Tool Count5/5

Three tools are well-scoped for a lyrics lookup server: search, metadata confirmation, and lyric retrieval. Each tool earns its place, and there are no redundant or filler tools.

Completeness4/5

The surface covers the core read-only workflow: find a track, confirm its metadata, and fetch lyrics with pagination and format options. Minor gaps exist, such as no explicit album or artist browse operation, but these can be worked around through search.

Maintenance

ActivityActive
ResponsivenessLimited data