Skip to main content

lyric-fetch-mcp

A small MCP (Model Context Protocol) server that fetches song lyrics and artist/album song lists using the Genius API via lyricsgenius and exposes them as FastMCP tools.

Overview ✅

  • Purpose: Provide simple, reusable tools for retrieving song lyrics and lists of songs by artist/album for LLMs or other tooling that can call MCP tools.
  • Tools exposed: get_song_lyrics(song_title, artist_name), get_artist_songs(artist_name, max_songs=5), get_album_songs(album_title, artist_name)
  • Server framework: Uses fastmcp to register the tools and run the MCP server.

Installation (after publishing to uv) 🔧

Once you publish this package to a registry that uv can reach (e.g., PyPI or a private index), users can install and run it locally with uv:

  • Install the published package:

    • uv add lyric-fetch-mcp
  • Run the installed tool directly (ephemeral environment):

    • GENIUS_ACCESS_TOKEN="<your_token>" uvx lyric-fetch-mcp
  • Or add it as a dependency to your uv project and run:

    • uv add lyric-fetch-mcp
    • uv run -- lyric-fetch-mcp

Note: uvx runs a tool in an ephemeral environment created by uv (similar to pipx).

Running locally (developer)

  • One-off run with an env var:

    • GENIUS_ACCESS_TOKEN="your_token_here" python -m lyric_fetch_mcp.server
  • Install locally for development and run the script:

    • python -m pip install -e .
    • lyric-fetch-mcp (after install)

Environment

  • Requires a valid GENIUS_ACCESS_TOKEN environment variable.
  • For production/CI, store the token in your CI/host secret manager (GitHub Secrets, Docker secrets, etc.).

CLI examples

  • Fetch lyrics quickly from the shell (one-line):

    • GENIUS_ACCESS_TOKEN="your_token" python -c 'from lyric_fetch_mcp.server import get_song_lyrics; print(get_song_lyrics("Sofia","Clairo"))'

Contributing & Publishing

  • The project uses uv_build as the PEP 517 backend — build with uv build and publish with uv publish.
  • Please follow the repository's contribution guidelines and add tests for any new behavior.

License

  • MIT — see LICENSE for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lyric_fetch_mcp-0.1.0.tar.gz (2.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lyric_fetch_mcp-0.1.0-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file lyric_fetch_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: lyric_fetch_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 2.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for lyric_fetch_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0f914a0d10deea6d358f4bc99339bb20945626873f9659428d333524da7cb584
MD5 db36104d8fb077579d05df60b7972342
BLAKE2b-256 2ea207b90cf27d5ca4bbc3fede6a0e9dcca9aec9e04bc89cee1aac4dd851ee6a

See more details on using hashes here.

File details

Details for the file lyric_fetch_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: lyric_fetch_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for lyric_fetch_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d949a77a13094c2c2ea4dba13a62477336a25953d4b29971b37d49772bb83f74
MD5 4bc7e05275542a622c2237f075b4e992
BLAKE2b-256 72ba0d54ee1306351809a888ba91bd30a4ef83806a4111fda7b3f5930902679f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page