Bridges multiple lyrics providers (LRCLIB, Genius, Musixmatch, Melon) into a single toolchain accessible via MCP, HTTP, or CLI.
Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find.
Install from
M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.
process.env. You'll be asked to provide them before it can run.AIRTABLE_PERSONAL_ACCESS_TOKEN— Required for push_catalog_to_airtable. Generate at [airtable.com/create/tokens](https://airtable.com/create/tokens) with data.records:write scope.BROWSERCF_ACCOUNT_ID— Cloudflare account ID (Cloudflare KV backend).CF_API_TOKEN— Cloudflare API token with KV:Edit permission (Cloudflare KV backend).CF_KV_NAMESPACE_ID— Cloudflare KV namespace ID (Cloudflare KV backend).GENIUS_CLIENT_ID— Set + GENIUS_CLIENT_SECRET instead — the server calls theGENIUS_CLIENT_SECRET— your_secret \GENIUS_TOKEN_CACHEGENIUS_TOKEN_KV_KEYGENIUS_TOKEN_KV_TTL_SECONDSHEADLESSHOST— the platform-assigned PORT. No manual or PORT configuration is needed.LOG_LEVEL— info Verbosity: error \ warn \ info \ debug.MR_MAGIC_ALLOWED_HOSTS— For custom domains, add them to (comma-separated) inMR_MAGIC_CLI_CONFIG_PATHMR_MAGIC_DOWNLOAD_BASE_URL— _(none)_ Public base URL for download links, e.g. https://lyrics.example.com.MR_MAGIC_ENV_PATH— unless you point to one via . Either pass credentials through the clientMR_MAGIC_EXPORT_BACKEND— local Storage backend: local \ inline \ redis.MR_MAGIC_EXPORT_DIR— exports/ Absolute path for local exports. Required when backend is local.MR_MAGIC_EXPORT_TTL_SECONDS— 3600 TTL for local and redis backends (ignored for inline).MR_MAGIC_HTTP_TIMEOUT_MS— 10000 Global outbound HTTP timeout in milliseconds.MR_MAGIC_INLINE_PAYLOAD_MAX_CHARS— 1500 Character threshold at which build_catalog_payload auto-promotes to reference transport when omitInlineLyrics is true.MR_MAGIC_LOG_TOOL_ARGS_CHUNKS— 0 Set to 1 to emit chunk-by-chunk MCP tool argument previews for truncation debugging.MR_MAGIC_MCP_ENDPOINTMR_MAGIC_MCP_HTTP_DIAGNOSTICS— 0 Set to 1 to log enriched request metadata at the Streamable HTTP & SSE transport boundary.MR_MAGIC_QUIET_STDIO— 0 Set to 1 to suppress non-error stdout logs (forces LOG_LEVEL=error). Recommended under stdio MCP clients.MR_MAGIC_ROOT— _(project root)_ Override the project root used for .env and .cache path resolution.MR_MAGIC_SDK_REPRO_HTTP_DEBUG— 0 Set to 1 for verbose HTTP traces in the SDK repro harness script.MR_MAGIC_SESSIONLESS— You do not need to set =1 manually on Render — it isMR_MAGIC_TOOL_ARG_CHUNK_SIZE— 400 Chunk size (chars) used when chunk logging is enabled.MUSIXMATCH_DIRECT_TOKEN— Copy the entire printed JSON object (the =... line).MUSIXMATCH_TOKEN_CACHE— Path to the on-disk cache file. Default: .cache/musixmatch-token.json.MUSIXMATCH_TOKEN_KV_KEY— KV key name for the token store. Default: mr-magic:musixmatch-token.MUSIXMATCH_TOKEN_KV_TTL_SECONDS— Token TTL in the KV store (seconds). Default: 2592000 (30 days).PLAYWRIGHT_SESSION_DIRPORT— 3444 / 3333 Override server port. On Render this is set automatically (default 10000).RENDER— When =true is detected, the server binds to 0.0.0.0 automatically and readsUPSTASH_REDIS_REST_TOKEN— your_upstash_token \UPSTASH_REDIS_REST_URL— your Upstash endpoint[](https://m8ven.ai/mcp/mrnajiboy-mr-magic-mcp-server-10kok9)