Genius

live MediaMusic

Song / artist / annotation metadata from Genius. Lyric text is not exposed — use the returned URL.

5 tools
0ms auth
free tier 50 calls/day
🔑 Authentication

Platform key handled by Pipeworx. Or BYO a Genius Client Access Token.

Config with credentials
{
  "mcpServers": {
    "pipeworx-genius": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://gateway.pipeworx.io/genius/mcp?_apiKey=your_client_access_token"
      ]
    }
  }
}

Tools

search_songs required: query

Search Genius for songs by title / artist / lyric phrase.

Parameters
Name Type Description
query req string Search term
page opt number 1-based page (default 1)
per_page opt number 1-50 (default 20)
Try it
get_song required: song_id

Song metadata + lyric page URL (text is not in the API).

Parameters
Name Type Description
song_id req number Genius song ID
Try it
get_artist required: artist_id

Artist bio + identifiers.

Parameters
Name Type Description
artist_id req number Genius artist ID
Try it
list_artist_songs required: artist_id

Songs by an artist, sortable by popularity / release date / title.

Parameters
Name Type Description
artist_id req number Genius artist ID
sort opt string title | popularity | release_date_with_null_last
per_page opt number 1-50 (default 20)
page opt number 1-based page
Try it
get_annotation required: annotation_id

Single annotation (community note) by ID.

Parameters
Name Type Description
annotation_id req number Genius annotation ID
text_format opt string plain | html | dom (default plain)
Try it

Test with curl

The gateway speaks JSON-RPC 2.0 over HTTP POST. You can test any pack directly from the terminal.

List available tools
bash
curl -X POST https://gateway.pipeworx.io/genius/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Call a tool
bash
curl -X POST https://gateway.pipeworx.io/genius/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"search_songs","arguments":{"query": "hello"}}}'

Use with the SDK

Install @pipeworx/sdk to call tools from any TypeScript/Node project.

TypeScript
import { Pipeworx } from '@pipeworx/sdk';
const px = new Pipeworx();
const result = await px.call("search_songs", {"query":"example"});
ask_pipeworx
// Or ask in plain English:
const answer = await px.ask("song / artist / annotation metadata from genius");