Skip to main content

Add your description here

Project description

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.

Project 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.

Supported by

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