An MCP server that searches and fetches song lyrics — plain or time-synced — from the open LRCLIB catalog.
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.
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.
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.
search-lyrics with whatever you know (title, artist,
or a free-text query).
get-lyrics with that track's id to get
the full plain and synced lyrics.
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.
Questions or issues? Email guilherme@cacare.co.