lyrics-mcp · Documentation

An MCP server that searches and fetches song lyrics — plain or time-synced — from the open LRCLIB catalog.

Overview

lyrics-mcp exposes two read-only tools that let an AI assistant look up songs and retrieve their lyrics. It is a thin, privacy-friendly wrapper around the public LRCLIB API: it stores no data, requires no API key, and only forwards your search terms to LRCLIB to return results.

Connecting

The server speaks the Model Context Protocol over HTTP. Point your MCP client at the server's /mcp endpoint:

{
  "mcpServers": {
    "lyrics": {
      "url": "https://your-deployment-url/mcp"
    }
  }
}

Replace your-deployment-url with the host where this server is deployed. No authentication is required.

Tools

search-lyrics read-only

Search for songs and their lyrics by title, artist, and album. Returns a ranked list of matching tracks. Use this first when the exact song is ambiguous, then call get-lyrics with the chosen track id.

Parameter Type Description
track_name string · optional Song title to search for.
artist_name string · optional Artist or band name.
album_name string · optional Album title.
query string · optional Free-text search, used when the structured fields are not enough.

At least one field is required. Returns up to 20 tracks, each with its id, title, artist, album, duration, and whether time-synced lyrics are available.

get-lyrics read-only

Fetch the full lyrics for a specific song. Pass either an LRCLIB track id (from search-lyrics), or an exact track_name + artist_name. Returns both plain and time-synced (LRC) lyrics when available.

Parameter Type Description
id integer · optional LRCLIB track id, as returned by search-lyrics.
track_name string · optional Exact song title (used when no id is given).
artist_name string · optional Exact artist name (used when no id is given).
album_name string · optional Album title, to disambiguate.
duration number · optional Track duration in seconds, to disambiguate.

Provide either an id, or both track_name and artist_name. Instrumental tracks return a flag instead of lyrics.

Typical flow

  1. Call search-lyrics with whatever you know (title, artist, or a free-text query).
  2. Pick the right track from the ranked results.
  3. Call get-lyrics with that track's id to get the full plain and synced lyrics.

Data source & attribution

All lyrics and track metadata are provided by LRCLIB, a free and open lyrics database. lyrics-mcp does not host, store, or own any lyrics content; it simply relays results from LRCLIB at request time.

Support

Questions or issues? Email guilherme@cacare.co.