Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Music Forge

FreeNot checked

MCP server for downloading and processing audio from SoundCloud and other sources, with tools for URL probing, download enqueueing, and job status tracking.

GitHubEmbed

About

MCP server for downloading and processing audio from SoundCloud and other sources, with tools for URL probing, download enqueueing, and job status tracking.

README

English | Русский


A scalable MCP plugin/service for downloading and processing audio: SoundCloud (starting point), then YouTube/Yandex Music/Spotify; transcoding, tagging and cover art embedding, HTTP API, MCP tools, audio workers.

Quickstart

Variant A: Docker Compose (recommended)

cp .env.example .env
make upb       # build and start the stack

Endpoints:

Management:

make logs      # logs
make ps        # container status
make up        # just up
make down      # stop and remove

Variant B: Local (uv)

make install   # create .venv, install deps, copy .env
source .venv/bin/activate

make lint      # ruff + black + mypy
make test      # mypy + pytest

# run API
uvicorn api.main:app --reload

# MCP (stdio)
python -m mcp_music_forge.mcp_app

API Examples

# health check
curl -s http://localhost:8033/health | jq
# {"status": "ok"}

# enqueue download (SoundCloud URL with allowed download per ToU)
curl -s -X POST 'http://localhost:8033/download?url=https://soundcloud.com/artist/track' | jq
# {"job_id": "abc123", "status": "queued"}

# check job status
curl -s http://localhost:8033/jobs/<job_id> | jq

MCP Tools

  • probe_url: provider detection and downloadability check.
  • enqueue_download: create/duplicate a job, put it in the queue.
  • get_job_status: status, artifacts, file links as MCP resources.
  • Resources: forge://jobs/<job_id>/{original|final}/<filename> (file bytes).

Project Overview

  • MCP Server (mcp_music_forge/): job management, resource provider, and MCP tools.
  • HTTP API (api/): POST /download, GET /jobs/{id}, /health, admin interface.
  • Providers (providers/): adapters for sources (starting with SoundCloud).
  • Transcoder (transcoder/): a wrapper around ffmpeg.
  • Storage (storage/): local FS (can be replaced with S3, etc.).
  • Queue (core/services/queue.py): ARQ + Redis; a wrapper in workers/.

Documentation

Legal Notes

  • SoundCloud provider respects ToU: we only download if the track is downloadable (downloadable/download_url).
  • Cookie file support is available, but use it strictly within the service's rules.

from github.com/jojoprison/mcp-music-forge

Install Music Forge in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install mcp-music-forge

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add mcp-music-forge -- uvx --from git+https://github.com/jojoprison/mcp-music-forge mcp-music-forge

FAQ

Is Music Forge MCP free?

Yes, Music Forge MCP is free — one-click install via Unyly at no cost.

Does Music Forge need an API key?

No, Music Forge runs without API keys or environment variables.

Is Music Forge hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Music Forge in Claude Desktop, Claude Code or Cursor?

Open Music Forge on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Music Forge with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All media MCPs