# Genius MCP

> Genius MCP Server connects your AI client to the world's largest lyrics database. Search for songs, pull full lyrics, and access community annotations for deep context. You can get album details, artist profiles (including IQ scores), and track lists—all from a natural conversation. It's your direct line to music metadata and lyrical meaning.

## Overview
- **Category:** artificial-intelligence
- **Price:** Free
- **Tags:** lyrics, music-metadata, annotations, song-search, artist-info, natural-language

## Description

This Genius MCP Server hooks your AI client into the world's biggest lyrics database. You'll pull deep music metadata—everything from basic song facts to community annotations explaining wordplay and references—just by talking to it. **Search for songs** by title, lyrics, or artist name using `search_songs` to pull song titles, artist names, pageview counts, and URLs.

Need the full scoop on a track? `get_song` pulls detailed song info, giving you the full lyrics (both plain text and HTML), album data, and the release date. You can also find community explanations of lyrics using `get_song_annotations`, which pulls specific annotations detailing the community's take on meaning, wordplay, and references. If you want to check out an artist, `get_artist` provides their profile info, including their name, IQ score, image, and description. For a list of all their work, `get_artist_songs` gives you a paginated list of all songs by that artist. When you're interested in an album, `get_album` returns the album's name, artist, cover art, release date, and the complete track list. You can also pull specific details for a lyric annotation, including the full explanation text, author info, and vote counts, using `get_annotation`.

Your agent handles it all. You just talk to it.

## Tools

### get_album
Gets an album's name, artist, cover art, release date, and track list.

### get_annotation
Gets the full explanation text, author info, and vote counts for a specific lyric annotation.

### get_artist
Gets an artist's profile info, including their name, IQ score, image, and description.

### get_artist_songs
Gets a paginated list of all songs by a specific artist.

### get_song
Gets detailed info for a specific song, including full lyrics and metadata.

### get_song_annotations
Gets community explanations (annotations) for a specific song's lyrics.

### search_songs
Searches for songs on Genius by title, lyrics, or artist name.

## Prompt Examples

**Prompt:** 
```
Search for Bohemian Rhapsody.
```

**Response:** 
```
Found: Bohemian Rhapsody — Queen. 15M+ pageviews. Release: 1975. Album: A Night at the Opera. 🔗 genius.com/Queen-bohemian-rhapsody-lyrics
```

**Prompt:** 
```
Get the lyrics for Bohemian Rhapsody.
```

**Response:** 
```
Full lyrics returned including all verses: 'Is this the real life? Is this just fantasy...' through 'Anyway the wind blows'. Includes artist, album, producers and release date.
```

**Prompt:** 
```
Show me annotations for 'Scaramouche' in Bohemian Rhapsody.
```

**Response:** 
```
Found annotation for 'Scaramouche, Scaramouche, will you do the Fandango': Explains the commedia dell'arte character reference and the Fandango dance. 500+ upvotes.
```

## Capabilities

### Search for songs by criteria
Find song titles, artists, pageview counts, and URLs using the `search_songs` tool.

### Get full song lyrics and metadata
Retrieve detailed song information, including full lyrics (plain text and HTML), album data, and release date using `get_song`.

### Find community explanations of lyrics
Pull specific annotations—the community's take on meaning, wordplay, and references—using the `get_song_annotations` tool.

### Get artist profiles and song lists
Retrieve an artist's profile info, IQ score, and a paginated list of all their songs using `get_artist` and `get_artist_songs`.

### Get album track lists
Return album name, artist, cover art, release date, and the complete track list using `get_album`.

## Use Cases

### Analyzing a single lyric reference
A musicologist finds a line they don't understand. Instead of guessing, they ask their agent to run `get_song_annotations` using the song ID. The agent returns the annotation, explaining the commedia dell'arte reference and providing the context needed for their paper.

### Researching an artist's early work
A researcher needs to track an artist's early output. They run `get_artist` to confirm the profile, then use `get_artist_songs` to pull all songs, filtering the results by decade, and then running `get_album` on the resulting album IDs for full context.

### Writing a deep-dive article on a genre
A content creator needs song data for an article. They start with `search_songs` by genre keywords, get a list of 10 songs, and then run `get_song` on each one. Finally, they use `get_album` to pull the full context of the records those songs came from.

### Tracking song changes over time
A developer wants to build a database of songs. They use `search_songs` to find a target song, get its ID, and then run `get_song` to get the full lyrics and release date. They can then use `get_album` to ensure the metadata is consistent across all records.

## Benefits

- Find the full context of a song. Instead of just getting lyrics, use `get_song` to pull the album, producer, and release date, giving you a complete data record.
- Deep dive into meaning. Use `get_song_annotations` to read community explanations. This is critical if you need to understand the cultural reference or wordplay behind a lyric.
- Map out an artist's career. Combine `get_artist` with `get_artist_songs` to pull a structured list of every song by that artist, allowing you to track their output over time.
- Get structured album data. Use `get_album` to pull a complete track list and associated metadata for an entire record, eliminating manual searching for album details.
- Never miss a detail. The `search_songs` tool gives you a starting point by searching title, lyrics, or artist name, letting you quickly find the exact song ID needed for deeper calls.

## How It Works

The bottom line is, your AI client handles the API calls; you just ask it what music data you need.

1. Subscribe to the server and provide your Genius Access Token.
2. Ask your AI client to perform a search (e.g., 'Find songs by Queen').
3. The client uses the search results to call specific tools like `get_song` or `get_annotation` to build a full context report.

## Frequently Asked Questions

**How do I use the `search_songs` tool to find lyrics?**
You don't use the tool directly; you ask your agent to search for the song. The agent uses `search_songs` internally to find the song ID first. Once it has the ID, it calls `get_song` to return the full lyrics.

**Does `get_song` give me more than just the lyrics?**
Yes. `get_song` returns the full song metadata, including the artist, album, release date, and producer info, not just the plain text and HTML lyrics.

**What is the difference between `get_artist` and `get_artist_songs`?**
The `get_artist` tool gives you the artist's profile (IQ score, image, description). The `get_artist_songs` tool gives you a paginated list of all the songs they've released.

**Can I find annotations for a song using `get_song_annotations`?**
Yes. This tool pulls community-written explanations for specific lyrical fragments, which is useful for academic analysis or understanding references.

**When should I use `get_album` versus searching for a song?**
Use `get_album` when you already have the album ID. This tool returns the full track list, artist name, cover art, and release date for that specific album. Otherwise, start by using `search_songs` to find the song or album ID first.

**How do I get the explanation text for a specific annotation using `get_annotation`?**
You must provide the annotation ID to `get_annotation`. This returns the full explanation body, which includes both plain text and HTML, along with author information and vote counts. You cannot get the explanation without the specific ID.

**If I search for a song using `search_songs`, how do I find all the available annotations?**
After finding the song ID via `search_songs`, use `get_song_annotations`. This tool retrieves all community-written explanations and annotation fragments for that specific song, showing the text and who wrote it.

**Is there a way to find all songs by an artist, like using `get_artist_songs`?**
Yes, `get_artist_songs` fetches all song titles and associated Genius URLs for a specific artist ID. Since this tool is paginated, you must use the `page` parameter to navigate and get results beyond the first batch.

**How do I get a Genius access token?**
Register at [**genius.com/api-clients**](https://genius.com/api-clients) and create an API client. You'll get an access token immediately. It's free.

**Can I get full lyrics for songs?**
Yes! The get_song endpoint returns full lyrics in plain text and HTML formats. Annotations provide explanations of specific lyric fragments.

**What are annotations?**
Annotations are community-written explanations of specific lyric fragments. They explain references, wordplay, cultural context, biographical details and the meaning behind the lyrics. Each annotation has vote counts showing community approval.