mcp-lrclib
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LRCLIB_LOG_LEVEL | No | silent, error, info or debug. Logs go to stderr. | error |
| LRCLIB_TIMEOUT_MS | No | Per-request timeout. | 15000 |
| LRCLIB_USER_AGENT | No | User-Agent sent to LRCLIB. Please keep that shape if you override it. | mcp-lrclib v<version> (<repo url>) |
| LRCLIB_MAX_RETRIES | No | Retries on rate limiting and transient errors. | 3 |
| LRCLIB_CACHE_TTL_MS | No | In-memory cache lifetime (15 minutes). | 900000 |
| LRCLIB_MIN_INTERVAL_MS | No | Minimum gap between requests. Values below 200 ms are ignored. | 500 |
| LRCLIB_CACHE_MAX_ENTRIES | No | In-memory cache size. | 200 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/smeet666/mcp-lrclib'
If you have feedback or need assistance with the MCP directory API, please join our Discord server