# Genius MCP

> Genius provides access to a massive database of song lyrics and crowdsourced musical knowledge through your AI client. You can search for songs and artists, retrieve deep annotations about track meanings, or look up music data from any external web page directly in your chat interface.

## Overview
- **Category:** knowledge-management
- **Price:** Free
- **Tags:** lyrics, music-data, annotations, content-discovery, media-metadata

## Description

Need to fact-check a lyric for an article, or just dig into the hidden context of a classic song? This MCP connects you to Genius's extensive library of lyrics and musical insights. Instead of jumping between search engines, artist pages, and Wikipedia entries, you ask your agent directly. You can find specific annotations about what a line means, pull up full artist discographies using `get_artist` and related tools, or even manage community contributions by creating or updating an annotation. Because Vinkius hosts this connection as part of its catalog, all these capabilities are available to any compatible client you use. It's like having the entire music encyclopedia wired straight into your workflow.

## Tools

### create_annotation
Adds a new explanatory note to any public web page.

### delete_annotation
Removes an existing annotation from the site.

### downvote_annotation
Reduces a community's vote count for an annotation.

### get_account
Retrieves your personal Genius account details and profile information.

### get_annotation
Fetches the full text and context for a specific annotation ID.

### get_artist_songs
Lists every song associated with a specific artist profile.

### get_artist
Pulls all known data points about a single artist, like their bio or genre.

### get_referents
Finds all sections of content that contain annotations or references.

### get_song
Retrieves the complete details, including lyrics and metadata, for a single song title.

### lookup_web_page
Scans an external URL to find related music content or data.

### search
Searches the entire Genius database for songs, artists, and lyrics based on keywords.

### unvote_annotation
Removes a vote you cast on an annotation.

### update_annotation
Modifies the text or details of an existing community annotation.

### upvote_annotation
Increases a community's vote count for an annotation, signaling its usefulness.

## Prompt Examples

**Prompt:** 
```
Search for the song 'Bohemian Rhapsody' and give me its ID.
```

**Response:** 
```
I found 'Bohemian Rhapsody' by Queen. The Song ID is 63214. Would you like me to fetch the full details or annotations for this track?
```

**Prompt:** 
```
Get all songs by the artist with ID 16775.
```

**Response:** 
```
Fetching songs for Artist ID 16775 (Kendrick Lamar)... I've found tracks like 'HUMBLE.', 'DNA.', and 'Alright'. Would you like to see the full list or details for a specific song?
```

**Prompt:** 
```
What does the annotation with ID 1034 say?
```

**Response:** 
```
Annotation 1034 explains the historical context of the opening verse, noting that the artist is referencing a specific event from 1969. It has 45 upvotes.
```

## Capabilities

### Find songs and artists
Use `search` or `get_song` to find specific tracks, albums, or artist information.

### Understand lyric context
Retrieve deep annotations using `get_annotation` and `get_referents` to understand the historical or literary meaning behind song passages.

### Build artist profiles
Fetch full details about an artist, including their entire catalog, with `get_artist`.

### Manage annotations and votes
Create new content using `create_annotation`, or participate in the discussion by upvoting or downvoting existing insights.

### Analyze external web pages
Send a URL to `lookup_web_page` and extract relevant music metadata or lyrics from that page.

## Use Cases

### Analyzing a lyric for an academic paper
A musicologist needs to know the historical reference point of a verse. They ask their agent, and it executes `get_annotation` on a specific song ID, returning detailed context about the year and event referenced in the lyrics.

### Writing an artist bio for a major publication
A copywriter needs to ensure they list all of Kendrick Lamar's key albums. They use `get_artist` first, then chain it with `get_artist_songs` to get a clean, comprehensive discography listing.

### Fact-checking lyrics found in an article
A student finds a random song lyric on a niche blog. They send the URL using `lookup_web_page`, and the agent returns Genius data—proving the track's existence, artist name, and official metadata.

## Benefits

- Never miss a fact-check. When you use `get_annotation`, your agent doesn't just give you the lyric; it provides the historical or cultural explanation attached to that specific line, making verification instant.
- Build out a full artist history fast. Instead of visiting multiple pages, running `get_artist` gives you all core profile data, and using `get_artist_songs` lists their entire catalog in one go.
- Extract data from anywhere. If you find an article mentioning a song, send the URL to `lookup_web_page`. This pulls music metadata directly into your chat without needing manual scraping.
- Participate in community knowledge building. You can use `create_annotation` or `update_annotation` right within your workflow to contribute verified facts when needed.
- Manage your findings easily. Use the voting tools—`upvote_annotation` and `downvote_annotation`—to help filter which annotations are most reliable, keeping your knowledge base clean.

## How It Works

The bottom line is that your AI client treats Genius's vast music database like a simple function call.

1. Subscribe to the MCP in Vinkius and give your AI client the required Genius access token.
2. Tell your agent what you need—for example, 'Find annotations for the chorus of 'Bohemian Rhapsody.''
3. The agent calls the necessary tools (like `get_annotation`) and sends back structured data containing lyrics, context, and community insights.

## Frequently Asked Questions

**How do I find all songs by a specific artist using the get_artist tool?**
You use `get_artist` first to pull general profile info, and then you must run `get_artist_songs` to retrieve the full list of titles associated with that ID.

**Can I find music data from a website not hosted on Genius?**
Yes. You send the URL to `lookup_web_page`. The tool scans external pages and attempts to pull related song metadata, bringing it into your workflow.

**What if I want to contribute my own knowledge about a song? Do I need create_annotation?**
Yes, you use `create_annotation` for that. It lets you add new explanatory notes to public web pages within the system.

**Do I have to know an artist's ID to get their data?**
While some tools prefer IDs, the agent can usually help you find the correct ID first using the `search` tool, which then feeds into `get_artist`.

**What information does the `get_account` tool provide about my user profile?**
The `get_account` tool retrieves your current user account details. This usually includes basic profile metadata associated with your Genius connection. It's useful for verifying which identity is making requests through your AI client.

**What permissions are required to use the `delete_annotation` command?**
You must have the appropriate 'manage_annotation' scope enabled in your API connection. This specific permission allows you to remove annotations created on web pages. You won't be able to delete it without that management access.

**How do I find all sections of a page where notes have been added?**
Use the `get_referents` tool. This function returns specific content sections, not just the annotation itself. It helps you pinpoint exactly where on a web page the crowdsourced musical knowledge is attached.

**Should I use `search` or `lookup_web_page` when looking up song data?**
Use `search` to query across all structured content hosted on Genius. If you have a specific URL and want the data *from* that page, then you should run `lookup_web_page`. They serve different search scopes.

**Can I search for a song if I only know a few words of the lyrics?**
Yes! Use the `search` tool with the lyrics you remember. The agent will return the most relevant song matches from the Genius database.

**How do I see the meaning behind a specific line in a song?**
You can use `get_referents` with a `song_id` to see all annotated sections, or `get_annotation` with a specific ID to read the detailed community explanation.

**Is it possible to vote on annotations through the AI?**
Absolutely. You can use `upvote_annotation`, `downvote_annotation`, or `unvote_annotation` by providing the Annotation ID, provided your token has the necessary scopes.