separate_stemsLABSCO SUMMARY
A sentence goes in, files come out on your disk.
The tools wait for the job and download the stems into a folder you chose, so the result is something you can open in a DAW rather than a link to chase. Audio bytes travel between your machine and StemSplit directly — they are never carried through the conversation.
What it is
StemSplit's own MCP server, run through npx. It takes a local file, a direct audio URL, a YouTube link or a SoundCloud track, sends it to the StemSplit API — HTDemucs for separation, DeepFilterNet for noise removal — polls the job, and writes the audio to a directory you name. Only paths and JSON cross MCP; the audio itself never enters the model's context.
What you get
- Vocals, instrumental, both, four stems or six — the six-stem split adds piano and guitar and runs at BEST quality
- YouTube and SoundCloud links handled server-side, returning vocals plus instrumental at BEST quality in MP3
- Background hum, HVAC noise, hiss, wind, echo and room tone stripped from a voice recording, up to 60 minutes long
- Separation and denoise in a single job — pass denoiseVocals: true and the vocals stem comes back already cleaned
- Output as MP3, WAV or FLAC, written under ~/Downloads/stemsplit/<jobId>/ unless you pass outputDir
- Job status and history for every kind of job, plus the remaining credit balance
- A completed job re-downloadable later: download_stems re-fetches it and mints fresh 1-hour presigned URLs
- Six slash-command prompts for the usual jobs — karaoke, isolate_dialogue, sampler_pack, youtube_instrumental, soundcloud_instrumental and clean_voice
Requirements
Node.js 20 or newer, a StemSplit account, and a key created in settings, passed as STEMSPLIT_API_KEY — it must start with sk_live_. Runs over stdio from npm as stemsplit-mcp. Two optional variables move the endpoint and the output directory: STEMSPLIT_API_BASE_URL and STEMSPLIT_DEFAULT_OUTPUT_DIR. Credits are charged by length, one credit per second of audio.
Setup effort
One command plus a key — npx -y stemsplit-mcp, then supply credentials
USE CASES
Making a karaoke version of a track you have
Point it at the file, take the instrumental path it hands back, and check the job later if you want the vocals too.
Pulling an instrumental out of a YouTube or SoundCloud link
Paste the URL — the fetch happens server-side, and vocals plus instrumental arrive as MP3 files on disk.
Building a sampler pack from a break
Ask for SIX_STEMS at BEST quality into a folder next to the project, and every stem path comes back ready to drop into a DAW.
Cleaning a noisy interview before it is edited
Send the recording through DeepFilterNet; hum, HVAC noise and room tone go, and the cleaned file is written beside the original's job folder.
Preparing speech for transcription
Extract only the vocals with denoiseVocals turned on, so the file that reaches an ASR model has neither the music bed nor the room in it.
Fetching stems again months later
Find the old job in the history and re-download it — fresh links are minted at the point of the call, so the original ones expiring does not matter.
14 tools
Listed in project docs. Your client may show a different list.
separate_youtubeseparate_soundcloudget_joblist_jobsget_youtube_joblist_youtube_jobsget_soundcloud_joblist_soundcloud_jobsdownload_stemsclean_voiceget_denoise_joblist_denoise_jobsget_balanceBEFORE YOU INSTALL
What to know first
Tools you get
14 tools named in the project's documentation.
Requires
- npx on PATH
- STEMSPLIT_API_KEY in your environment
Where it runs
All 4 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
npx -y stemsplit-mcpMCP Clients
Claude Desktop, Cursor, Cline, Windsurf
{
"mcpServers": {
"stemsplit": {
"command": "npx",
"args": [
"-y",
"stemsplit-mcp"
],
"env": {
"STEMSPLIT_API_KEY": "<YOUR_STEMSPLIT_API_KEY>"
}
}
}
}