Genius MCP Server
About
An MCP server to interact with the genius.com API and collect song information, annotations, artist data, etc.
Details
- Author
- federicogarciav
- Categories
- Web Scraping, API, Other
Jump to
Setup
Install Genius MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/federicogarciav/genius-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
An MCP server that brings the power ofGeniusinto your AI assistant.
Query songs, artists, lyrics annotations, album artwork annotations, song relationships, credits, and editorial knowledge through a clean set of tools and prompts — powered by both the official Genius API and thelyricsgeniusPython library.
- What It Does
- Tools
- Prompts
- Getting Started
- 1. Get a Genius API Token
- 2. Configure Environment Variables
- 3. Run with Python
- 4. Run with Docker
The Genius MCP Server exposes the Genius.com knowledge base to any MCP-compatible AI client (Claude Desktop, Claude Code, Cursor, etc.). It lets the AI:
- Searchfor songs and artists by name
- Fetch full song metadata— title, album, release date, lyrics state, and Genius editorial descriptions
- Fetch artist profiles— bio, follower count, verification status
- Browse an artist's discography— sorted by popularity or release date, or as a full album list with tracklists
- Read annotations— community and artist-verified explanations of specific lyric fragments, each tagged with a trust level so the AI knows how much weight to give them
- Read album artwork annotations— community explanations of visual elements, symbolism, and artistic choices written directly on album cover art images
- Explore song relationships— discover what a song samples, interpolates, covers, or remixes, and what later songs sampled it in turn
- Look up song credits— writers, producers, featured artists, and custom performance roles (mixing engineer, recording studio, label)
- Run pre-built analysis promptsthat gather all relevant data in one shot and ask the AI for a deep analysis of a song or artist
Some tools call theofficial Genius API(api.genius.com) using your access token. Others use thelyricsgeniusPython library, which accesses Genius's undocumented public API — these endpoints are not part of the official API contract and may change without notice.
Prompts are pre-built multi-step workflows that gather data from Genius and feed it to the AI in a structured context.
Args:song_title(required),artist_name(optional)
Searches for the song, fetches its full metadata and editorial description, retrieves all annotations (sorted by trust level), and asks the AI for a deep analysis of the song's meaning, themes, and cultural context.
Fetches the artist's full bio, their top 3 most popular songs with metadata and artist-verified annotations (where available), and asks the AI for an overview of the artist's themes, style, and significance.
Copy the example env file and fill in your token:
# Required — your Genius API access token GENIUS_ACCESS_TOKEN=your_token_here # Transport mode: # true → run as a Streamable HTTP server on port 8080 # false → run in stdio mode (for Claude Desktop) STREAMABLE_HTTP=true
The server will start onhttp://127.0.0.1:8080(Streamable HTTP mode) or in stdio mode depending on yourSTREAMABLE_HTTPsetting.
The server runs asgenius-mcp-serveron port 8080. The.envfile is mounted into the container — make sure it exists and contains your token before starting.
stdio mode(e.g. for Claude Desktop via Docker):
SetSTREAMABLE_HTTP=falsein your.env, then run:
docker run --rm -i --env-file .env $(docker build -q .)
claude mcp add genius --transport http http://127.0.0.1:8080/mcp
WithSTREAMABLE_HTTP=falsein your.env, add this to yourclaude_desktop_config.json:
{ "mcpServers": { "genius": { "command": "python", "args": ["/absolute/path/to/genius-mcp/main.py"], "env": { "GENIUS_ACCESS_TOKEN": "your_token_here", "STREAMABLE_HTTP": "false" } } } }
Every annotation returned by the server includes atrust_levelfield. This lets the AI reason about source reliability:
Theget_song_annotationstool accepts afilterargument to retrieve only annotations at a specific trust level.
genius-mcp/ ├── main.py # Entry point — configures transport and starts the server ├── app.py # FastMCP app instance ├── mcp_components/ │ ├── genius_api.py # Async HTTP client for the Genius API │ ├── mcp_tools.py # MCP tool definitions │ └── mcp_prompts.py # MCP prompt definitions ├── tests/ │ ├── test_mcp_server_initialization.py │ └── test_mcp_server_tools.py ├── Dockerfile ├── docker-compose.yml ├── requirements.txt └── .env.example
1GB Free Trial, World's Leading Proxy Service Platform, Efficient Data Collection
Scrape websites with Oxylabs Web API, supporting dynamic rendering and parsing for structured data extraction.
Access Swedish real estate data from Booli.se through a GraphQL API.
A crawler compliance risk assessment system via a simple API.
An MCP server for making HTTP requests, enabling LLMs to fetch and process web content.
KonbiniAPI gives AI agents direct access to social media data — profiles, posts, videos, comments, and search results.
Fetches LinkedIn profile information using the Fresh LinkedIn Profile Data API.
One MCP server for 160+ live web-data APIs (search, social, e-commerce, real estate, jobs, finance) — clean JSON, free tier.
AI-powered web scraping using the ScrapeGraph AI API. Requires an API key.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




