# Musixmatch Alternative MCP

> Musixmatch Alternative is an MCP server that gives your AI agent deep access to massive global music data. You can search tracks by title, artist, or even specific lyrics snippet. It retrieves full lyrics, time-coded subtitles (LRC format), and current top charts for any country worldwide. Need to track down a song's metadata or translate the words? This server handles it all via structured tools.

## Overview
- **Category:** audio-music
- **Price:** Free
- **Tags:** lyrics, music-api, song-search, music-charts, subtitles

## Description

**Musixmatch Alternative** gives your AI agent deep access to massive global music data. You can search tracks by title, artist, or even a specific snippet of lyrics. It pulls full lyrics, time-coded subtitles, and current top charts for any country in the world. Need song metadata? Wanna translate the words? This server handles every piece of structured music info you'll need.

**Finding What You Want: Searching & Discovery**

You don't gotta know the ID to start digging. If you just remember a line or two, run `search_tracks` and it finds songs using title, artist name, or even a lyric phrase snippet. For maximum accuracy, if you have a song title, both `match_lyrics` and `match_subtitle` take that title and return the full lyrics data or synchronized subtitle data in one go. Need to know everything about a single track? Use `get_track` with its ID for basic metadata, or run `match_track` if you only have the name. If you've got an artist's name, use `search_artists` to pull up their profile details.

**Deep Dive into Discographies: Artists and Albums**

Want to track down a whole body of work? Start with `get_artist` to pull all the metadata for an artist. That gives you the rundown on who they are, then you can run `get_artist_albums` to see every album they've ever dropped. Once you pick an album, use `get_album_tracks` and it sends back a complete list of every song contained within that specific record. For any given track, `get_track` pulls basic metadata, but if you need the full word-by-word timing, run `get_track_richsync`. You can also find out what genres are used in the database by checking `get_music_genres`.

**Lyrics and Subtitles: The Words and the Timing**

If you gotta read lyrics, `get_track_lyrics` pulls the whole plain text for any song. But if timing matters—and it usually does—you'll wanna use `get_track_subtitle`, which gets synchronized subtitles in LRC format. If you only need a quick taste of what the song is about, `get_track_snippet` gives you an excerpt. For detailed synchronization analysis, `get_track_subtitle` provides that time-coded subtitle data.

**Global Context and Trends: Charts and Language**

Need to know what's hot right now? You can pull current top artists from major international charts by running `get_chart_artists` for a specific country. To see the most popular tracks, use `get_chart_tracks`. If you need to translate anything—it's easy. Use `get_lyrics_translation` if you grab full lyrics and need them in another language. Similarly, if you pull synchronized subtitles, run `get_subtitle_translation` to get that time-coded content translated.

**Advanced Utility: Publishing & Data Management**

Beyond just reading the data, this server lets you manage it. If you're dealing with music rights or publishing details, you can use `post_work` to submit new data on a musical work. You'll also use `post_work_validity` to set an official end date for intellectual property records. It’s everything from basic track metadata to complex global trends and multilingual content. Your agent handles it all.

## Tools

### get_chart_artists
Gets a list of the top-ranking artists for a specific country's music charts.

### get_chart_tracks
Retrieves a list of the most popular tracks in a given country.

### get_album
Retrieves detailed metadata for a specific music album.

### get_album_tracks
Returns the complete list of songs contained within an album.

### get_artist_albums
Lists all the albums released by a given artist.

### get_artist
Pulls metadata details for a specific artist.

### get_lyrics_translation
Translates an entire set of song lyrics from one language to another.

### get_music_genres
Provides the official list of music genres used in the database.

### get_subtitle_translation
Translates synchronized, time-coded subtitles (LRC format) into a new language.

### get_track_lyrics
Gets the full, plain text lyrics for any given song.

### get_track_richsync
Retrieves highly detailed synchronized lyrics that show words changing in time (word-by-word).

### get_track_snippet
Gets a short, quick excerpt of the song's lyrics.

### get_track_subtitle
Fetches synchronized subtitles for a track in LRC format.

### get_track
Fetches basic metadata for a single track using its ID.

### match_lyrics
Matches a song title and retrieves its complete lyrics data in one tool call.

### match_subtitle
Matches a song title and retrieves its synchronized subtitle data.

### match_track
Finds all core metadata for a track given its ID or name.

### post_work
Submits or updates publishing data details related to a musical work's rights.

### post_work_validity
Sets the official validity end date for music intellectual property records.

### search_artists
Searches the database to find an artist by name or other criteria.

### search_tracks
Searches for songs using title, artist, or a specific phrase within the lyrics.

## Prompt Examples

**Prompt:** 
```
Search for tracks with the lyrics 'is this the real life' and tell me the artist.
```

**Response:** 
```
I found the track! It's 'Bohemian Rhapsody' by the legendary band Queen. Would you like me to fetch the full lyrics for you?
```

**Prompt:** 
```
Show me the top 5 tracks currently trending in the United Kingdom.
```

**Response:** 
```
Fetching the UK charts... The top 5 tracks are: 1. 'Flowers' by Miley Cyrus, 2. 'Kill Bill' by SZA... [etc]. Would you like to see the lyrics for any of these?
```

**Prompt:** 
```
Get the synchronized subtitles for the track 'Imagine' by John Lennon.
```

**Response:** 
```
I've retrieved the synchronized subtitles for 'Imagine'. They are in LRC format, starting with: [00:14.63] Imagine there's no heaven... Would you like the full file?
```

## Capabilities

### Search Songs by Snippet
Find a song in the database using just a few remembered lyrics words.

### Fetch Time-Stamped Subtitles
Get synchronized, word-by-word subtitles (LRC format) for precise timing analysis.

### Analyze Artist Discography
List an artist's full album catalog and then retrieve the track list for any specific album.

### Cross-Reference Global Trends
Pull current top artists or tracks from major international music charts based on a specified country.

### Translate Lyrics and Subs
Take existing lyrics or synchronized subtitles and get them translated into another language.

## Use Cases

### Identifying a Song from Memory
A user remembers only the line, 'is this the real life.' They ask their AI agent. The agent runs `search_tracks` with that phrase and immediately identifies the song as Queen's 'Bohemian Rhapsody,' solving the mystery instantly.

### Verifying a Music Article
A journalist needs to confirm if Artist X was popular in Japan last quarter. They ask for the top charts. The agent calls `get_chart_artists` and `get_chart_tracks` for Japan, providing hard data points for the article.

### Localization for a Trailer
A video editor needs subtitles for a song about to be used in a foreign market. The agent fetches the original lyrics with `get_track_subtitle` and then runs `get_subtitle_translation`, providing ready-to-use, localized LRC files.

### Mapping an Artist's Output
A data analyst wants to know every track on a specific album by a major artist. They first call `get_artist_albums` and then use the resulting album ID with `get_album_tracks` to get a complete inventory.

## Benefits

- **Deep Search Capability:** Don't just search by title. Use `search_tracks` to find a song using only two or three remembered words from the lyrics, making discovery instant.
- **Professional Subtitles:** The `get_track_subtitle` tool delivers synchronized subtitles in LRC format—perfect for video editors and accessibility features that need time stamps.
- **Full Discography Mapping:** By chaining calls like `get_artist_albums` then `get_album_tracks`, you map out an artist's entire career output, track by track.
- **Instant Global Context:** Need to know what's hot in Nigeria vs. Germany? Use `get_chart_artists` and `get_chart_tracks` to pull real-time regional popularity data for comparison.
- **Multi-Lingual Support:** If your audience is global, use `get_lyrics_translation` or `get_subtitle_translation` to instantly localize the lyrics without leaving the agent interface.

## How It Works

The bottom line is: You pass a simple query to your agent, and the server handles all the complex API calls needed to pull structured music data back.

1. First, subscribe to the server and provide your Musixmatch API key. This links your AI client (like Cursor or Claude) directly to the music data.
2. Next, instruct your agent on what you need—for example: 'Get the top 10 tracks in Brazil.' The agent then calls `get_chart_tracks` with 'Brazil'.
3. Finally, the server returns structured JSON containing the requested metadata (e.g., track names, artists, chart positions), which your AI client uses to generate a natural language answer.

## Frequently Asked Questions

**How do I search for lyrics using `search_tracks`?**
You pass the phrase directly into the agent's prompt. For example: 'Search tracks containing the words 'cold wind''. The server handles the database query and returns matching songs.

**Can I translate subtitles using `get_subtitle_translation`?**
Yes, it translates synchronized lyrics (LRC format) from one language to another. This is useful for creating subtitled content for non-native speakers.

**What's the difference between `get_track_lyrics` and `get_track_subtitle`?**
`get_track_lyrics` provides plain text lyrics—just the words. `get_track_subtitle` provides synchronized subtitles, which includes time codes (LRC format), crucial for video syncing.

**How do I find out an artist's whole catalog?**
You run `get_artist_albums` with the artist name to get all their albums. Then, you use those album IDs in a subsequent call to `get_album_tracks` for every single record.

**Does `match_track` just give basic info?**
`match_track` returns comprehensive metadata for a track ID. It's the best tool if you have an ID and need to verify all associated data points at once.

**How does the `get_track_richsync` tool provide word-by-word timing?**
It provides highly granular, time-coded lyrics for every single word. This is essential when you need to sync text precisely with an audio player or build educational apps that highlight specific words as they are spoken.

**What is the process when I use the `post_work` tool?**
You use this tool to submit or update official publishing data for a musical work. It handles metadata related to rights and publication status, which goes beyond simple lyric retrieval.

**If my agent makes many calls using `get_track`, how should I handle rate limits?**
The system enforces standard API rate limits for high-volume access. You must implement an exponential backoff strategy in your client code to gracefully manage and retry requests that receive a 429 error.

**Can I search for a song if I only remember a few words from the lyrics?**
Yes! You can use the `search_tracks` tool and provide the lyrics snippet in the `q_lyrics` parameter. The AI will return the most relevant song matches.

**How do I get synchronized lyrics for a karaoke application?**
Use the `get_track_subtitle` tool. It provides time-coded lyrics in formats like LRC, which are perfect for displaying lyrics in sync with the music.

**Is it possible to see which artists are currently trending in a specific country?**
Absolutely. Use the `get_chart_artists` tool and specify the `country` code (e.g., 'US', 'BR', 'FR') to get a list of the top-performing artists in that region.