MCP Music Forge: track download and processing

MCP Music Forge

A Redis-backed queue MCP server that downloads tracks from SoundCloud, YouTube, Yandex Music and Spotify, transcodes them and tags them with cover art

  • 5 ★ on the repository
  • Last commit
  • MIT
MCP server

Extended access

Why this level

  • Downloads content from external music platforms, subject to their terms of use
  • Stores a subscription Yandex Music account token, and access to it means access to the personal account
All reasons and checks
Russian stack

jojoprison/mcp-music-forge

Install

Services

Manual install

cp .env.example .env && make upb

Runs the whole stack via Docker Compose, with MCP available over HTTP at /mcp.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Downloads content from external music platforms, subject to their terms of use
  • Stores a subscription Yandex Music account token, and access to it means access to the personal account

This is third-party code. Review the repository files before installing.

What it does

The server takes a track link through the probe_url tool, detects the provider and checks whether it can be downloaded, queues the job on Redis via enqueue_download, and returns status and files as MCP resources via get_job_status. It has adapters for SoundCloud (only when the platform marks a track as downloadable), YouTube and Yandex Music, an ffmpeg-based transcoder, and tagging with cover art. Yandex Music requires an account token with a Plus subscription, otherwise its API returns only a 30-second preview and the job is rejected; reaching api.music.yandex.net from outside Russia (Singapore and Thailand in the authors' tests) needs a Russian-address proxy. Besides MCP, the same core also exposes an HTTP API and a Telegram bot.

Who it is for. For people who want to pull their own music from Yandex Music, SoundCloud or YouTube locally through an agent instead of downloading it by hand.

Good fit when

  • You want to download and transcode a track with tags and cover art in one request
  • You have a Yandex Music Plus subscription and need the full track, not a 30-second preview
  • You want a job queue with redelivery, for example into Telegram

Not a fit when

  • You have no Yandex Music Plus subscription and need full tracks: without a token the API returns only a preview
  • You have no server with a Russian IP or proxy: Yandex's official API blocks requests from abroad

Example request

Download this track from Yandex Music and send me the finished mp3 with cover art

MCP

Transport
stdio, http
Authentication
key is optional

Environment variables

YANDEX_MUSIC_TOKEN secret
A Yandex Music account token with a Plus subscription for downloading full tracks
YANDEX_MUSIC_API_PROXY
A Russian-address proxy for reaching api.music.yandex.net from outside Russia
REDIS_URL required
The Redis address for the job queue

Limitations

Downloading music from these platforms is governed by their terms of use; the project explicitly says it respects SoundCloud's ToU and only fetches tracks marked as downloadable, but legality on other platforms is the user's own responsibility. It needs Redis, ffmpeg and a Python environment via uv or Docker Compose, with no ready cloud hosting. YouTube needs cookie files and possibly a third-party PO token service; Yandex Music needs an account token with a Plus subscription and a Russian-IP proxy for API access from abroad.

How to disable. Stop the stack with make down (Docker Compose) or terminate the python -m mcp_music_forge.mcp_app process and remove the server from your MCP client config.

FAQ

Why does a Yandex Music track come out short?

Without an account token with a Plus subscription, Yandex's API returns only a 30-second preview, and a full-track job is rejected.

Do I need a proxy?

Yes, if the server does not run from Russia: api.music.yandex.net returns a 451 error from other countries.

Discussion

No questions or reviews yet.

Russian stack

An unofficial Yandex Music MCP server: likes, genre analysis, search and playlist management over HTTP or stdio

MCP serverExtended access2Repository stars

Yandex Music playlist creation MCP server

Yandex Music MCP Server (unofficial)

Russian stack

A minimal MCP server for creating Yandex Music playlists: search tracks and add them to a playlist

MCP serverExtended access1Repository stars
Russian stack

A single-file, zero-install Yandex Music MCP server via uv: likes, playlists, search and taste analysis

MCP serverExtended access
Russian stack

A browser-free Yandex Music MCP server: the agent queues a playlist, a local daemon plays it via mpv with Now Playing in Control Center

MCP serverExtended access1Repository stars
Russian stack

An MCP server for a local Rust-based Yandex Music player and sync daemon on Linux: playback control, taste profile, mood picks

MCP serverBroad access

A Spotify MCP server: the agent searches music, controls playback, queue and volume, and builds and edits playlists and the library

MCP serverBroad access506Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
MCP Music Forge: track download and processing (this card)nokey is optional5
SpotifyScrapernonot required325a Python library and MCP server that give an agent public Spotify data
Audio Studio MCPyesnot required657A local MCP server generates music and sound effects, builds loops, adjusts loudness and exports audio for games or video.

README in short

The README describes the service as a scalable MCP plugin for downloading and processing audio from SoundCloud, YouTube, Yandex Music and Spotify: transcoding, tagging, cover art, an HTTP API, MCP tools and queue workers. It shows two run modes, Docker Compose and local via uv, three MCP tools (probe_url, enqueue_download, get_job_status) and the project's layered structure: server, providers, transcoder, storage, queue. A separate Legal Notes section stresses that the SoundCloud provider only downloads tracks marked downloadable.

README badge

Report a problem