# Musixmatch MCP

> Musixmatch is an MCP Server that connects your AI client to millions of music lyrics, artist profiles, and track metadata. Your agent can search for songs by title or specific lyric phrases, fetch full song texts, find related albums, and check top chart trends instantly. It’s the data layer for any app dealing with music content.

## Overview
- **Category:** audio-music
- **Price:** Free
- **Tags:** lyrics, music-data, track-metadata, artist-profiles, song-search

## Description

**Musixmatch is your direct line to millions of song lyrics and music metadata.** Your agent connects to this server, giving it instant access to a massive library of artist profiles, track data, and full-text lyrics. You don't gotta write complex database queries; you just tell your AI client what you need, and the system handles pulling all that structured info for you.

**Finding Tracks and Artists**
When you need to locate music content, you start with searching. If you know a keyword—maybe it’s from the title or the artist's name—you can run `search_tracks` across the whole database. That tool pulls back results for tracks that match those keywords. Need to narrow it down? You can use `search_artists` first, running a search by name or even by genre to get basic profile information on potential artists.

If you're handed a few lines of lyrics and have no idea what song it is, don't sweat it. Run the `match_track_lyrics` tool; it compares those user-provided snippets against its database and identifies the exact matching track and artist for you. For more background on an artist, the system gives you `get_artist_details`, which pulls comprehensive data like their biography and genre tags. To map out a whole career, you'll use `get_artist_albums`; this tool lists every single album that specific artist has released over time.

**Digging into Lyrics and Details**
Once you know the track ID, getting the lyrics is simple. The server lets your agent pull the entire song text using `get_track_lyrics`. If you only need a quick look—like for previewing or validation—you can run `get_track_snippet` to grab just a short, representative portion of the song's words without pulling all the full text. For track-specific data beyond the lyrics, you use `get_track_details`, which provides metadata like the song’s duration and genre tags.

**Checking What's Hot Right Now**
If your app needs to know what people are listening to *right now*, you run `get_top_tracks`. You just specify a country or region, and this tool pulls the current top chart list of songs. It’s the data layer for any app that deals with music content—it lets your agent search by keywords using `search_tracks` and `search_artists`, pull full lyrics using `get_track_lyrics`, identify tracks from snippets via `match_track_lyrics`, map out discographies using `get_artist_albums`, or check current trends with `get_top_tracks`. This server gives your AI client the complete picture of music, making it useful for anything from lyric games to digital radio apps.

## Tools

### get_artist_albums
Retrieves a list of all albums released by a specific artist.

### get_artist_details
Fetches comprehensive metadata, including biography and genre tags, for an artist.

### get_top_tracks
Retrieves the current top chart list of songs for a specified country or region.

### get_track_details
Gets detailed metadata, like duration and genre tags, for a specific song.

### get_track_lyrics
Fetches the complete, full-text lyrics for any given music track ID.

### get_track_snippet
Retrieves a short, representative portion of the song's lyrics without fetching the whole text.

### match_track_lyrics
Compares user-provided lyrics to find and identify the matching track and artist.

### search_artists
Searches for artists by name or genre, returning basic profile information.

### search_tracks
Searches the entire database for music tracks using keywords from title or artist names.

## Prompt Examples

**Prompt:** 
```
Search for the song lyrics of 'Bohemian Rhapsody' by Queen.
```

**Response:** 
```
I've retrieved the lyrics for 'Bohemian Rhapsody'. It's a masterpiece that spans several musical styles. Would you like me to display the full text or just a specific section?
```

**Prompt:** 
```
What albums has 'Coldplay' released?
```

**Response:** 
```
Searching for Coldplay's discography... I've found a comprehensive list of their albums, including 'Parachutes', 'A Rush of Blood to the Head', and 'Music of the Spheres'. Shall I list them all for you?
```

**Prompt:** 
```
Show me the top 10 songs in the US right now.
```

**Response:** 
```
Retrieving the current US top chart... Here are the top 10 tracks, featuring artists like Taylor Swift, Drake, and SZA. Would you like more details on any of these songs?
```

## Capabilities

### Search for Music Tracks
You search by title, artist, or specific lyrics using dedicated tools like `search_tracks`.

### Retrieve Full Lyrics and Metadata
The agent pulls the complete text of a song's lyrics and all associated data points for that track.

### Identify Songs from Snippets
You feed the tool a short lyric snippet, and it matches it back to the correct artist and track title using `match_track_lyrics`.

### Map Artist Discographies
The agent lists all albums an artist has released over time by calling `get_artist_albums`.

### Analyze Current Music Trends
You check the current top charts for any region using `get_top_tracks`.

## Use Cases

### Writing a Band Biography
The journalist needs to write about an artist's career arc. They call `search_artists` first, then use `get_artist_albums` repeatedly to list every album chronologically. Finally, they pull key details with `get_artist_details` for the final piece.

### Building a Lyric Database Tool
A developer needs to populate song lyrics into their app. They use `search_tracks` to find IDs and then loop through those results, calling `get_track_lyrics` for each ID to build the full dataset.

### Solving a Mystery Song
A user only remembers a line: 'The rain fell softly on my face.' The agent runs `match_track_lyrics`, which immediately identifies the song and artist, saving hours of searching through Google.

### Analyzing Genre Trends
A data analyst wants to know what's popular. They call `get_top_tracks` for five different countries (US, UK, DE, JP). This structured output allows them to compare genre popularity across regions instantly.

## Benefits

- It cuts out manual research. Instead of checking multiple music sites for lyrics and metadata, your agent calls `get_track_lyrics` once and gets the full text.
- You build deep profiles easily. Calling `get_artist_albums` followed by `get_artist_details` lets you map an artist's entire body of work without leaving the chat window.
- Identify songs on the fly. If someone hums a tune or you only catch a few lines, use `match_track_lyrics`. It handles fuzzy matching for immediate results.
- Stay current with charts. The `get_top_tracks` tool provides structured data on what's trending right now in any country, which is perfect for timely content.
- It’s structured and reliable. All the output—artist names, track IDs, album lists—is clean JSON that your backend code can consume without needing parsing.

## How It Works

The bottom line is: your AI client translates natural language requests into precise tool calls that fetch clean, actionable music data.

1. Subscribe to the server and plug in your Musixmatch API Key.
2. Your AI client calls a tool (e.g., `search_artists`) with parameters like an artist name or album ID.
3. The server executes the request against the global music database and returns structured JSON data containing lyrics, metadata, or track lists.

## Frequently Asked Questions

**How do I find the lyrics for a song using get_track_lyrics?**
You must first provide the unique track ID to `get_track_lyrics`. If you only have the name, run `search_tracks` or `match_track_lyrics` first to obtain the required ID.

**Can I use search_artists to find an album list?**
No. `search_artists` gives you basic profile info only. You need to call `get_artist_albums` specifically, which is designed solely for listing the artist's discography.

**What if I only remember a few lines of lyrics? Does match_track_lyrics work?**
Yes. `match_track_lyrics` handles this fuzzy matching. It compares your input snippet against millions of records to identify the song and artist, which is super helpful when you don't know the title.

**Do I need get_top_tracks for every country?**
No. You pass the desired country code (e.g., US or UK) directly into `get_top_tracks`. It handles the localization of chart data automatically.

**What credentials do I need to use the `get_artist_details` tool?**
You must provide a valid API key. This key is required for authentication when connecting your AI client to the server. Make sure your key has active permissions before calling any artist tools.

**What specific metadata does `get_track_details` return about a song?**
It returns detailed information including genre, release date, and track duration. This data lets you verify the scope of tracks beyond just their name or lyrics.

**Are there rate limits when I use `get_top_tracks` for large projects?**
Yes, standard API rate limits apply to all calls. Check the Musixmatch developer documentation for current quotas and usage guidelines before running bulk checks.

**Can I chain a search from `search_tracks` into another data retrieval tool?**
Absolutely. The unique track ID generated by `search_tracks` serves as the input parameter for tools like `get_track_lyrics`. This lets your agent build complex workflows.

**Can I search for a song using only a few words from the lyrics?**
Yes! Use the `search_tracks` tool and provide the words in the `q_lyrics` parameter. Your agent will find all tracks that contain those specific lyrics.

**How do I get the full discography for a specific artist?**
First, find the artist's unique ID using `search_artists`. Then, use the `get_artist_albums` tool with that ID to retrieve the list of all their recorded albums.

**Is it possible to see which songs are currently trending in my country?**
Absolutely. Use the `get_top_tracks` tool and provide your country code (e.g., 'us', 'br', 'fr'). Your agent will return the current top tracks chart for that location.