Stem separation from an AI agent, over MCP
Published October 2026
Doseedo's stem separation is one MCP tool. Connect the server and an agent — Claude, ChatGPT, Cursor, Gemini CLI, Codex — splits a mix into vocals, drums, bass, guitar, piano and other, or into a wider orchestral or auto-detected instrument set, with optional per-stem MIDI, a drum split into kick, snare, hats, toms and cymbals, a guitar split into players, and — if you ask — a native Logic or Ableton session built from the stems. The agent uploads the mix, waits, and hands back download links; because the links are reusable, the bass stem can go straight to the transcriber, the drums to a session, the vocal to a cover.
The tool
doseedo_separate_stems takes an audio_key (from doseedo_get_upload_url — WAV, AIFF, FLAC, MP3, M4A or Ogg) or an audio_url: any public URL, or a Doseedo result link such as a generated take or a bounce. The options that matter:
models—6stem(default: vocals, drums, bass, guitar, piano, other), ororchestra/detect/autofor wider instrument sets; withorchestra,instrumentsnames the targets ("saxophone,trumpet,trombone").include_midi— transcribe each stem to MIDI as well (default on);stems_onlyturns off everything derived and is the fastest, cheapest run.drum_split— the drum stem into kick, snare, hi-hat, toms, ride, crash and percussion sub-stems.guitar_split— the guitar stem dealt into two to four players, orautoto let a probe decide.export— also build alogicorabletonsession from the stems; orsession_idto register the stems into an existing session as child tracks of the mix.
The price is flat and the quote tool states it as a rule. Real reply, captured 2026-10-15, for a three-and-a-half-minute mix with per-stem MIDI:
{
"job": "separate_stems",
"route": "/api/separate-stems",
"estimate": { "generation": 20 },
"basis": "flat 20 credits for 6stem / auto",
"affordable": true
}
Orchestral and detected sets price differently — 10 × (1 + ceil(instruments / 8)), capped at 80 — and the server's own stems recipe puts the run at about two minutes. The result arrives as pre-signed links that work with a plain curl for 24 hours and can be handed straight to the next tool; the agent waits in 50-second holds with doseedo_wait_task in between.
What to ask
> Split ./mix.wav into stems, stems only.
> Separate this song and give me the drums as individual
kick, snare and hat files.
> Separate the bounce, transcribe the bass stem, and show me
the notes against the beat grid.
> Separate the mix and build an Ableton set from the stems,
with MIDI for the piano and bass.
> In my "Bridge Demo" session, separate the reference track
on track 1 into stems as its child tracks.
Separation is also the first stage of two bigger tools the agent can call directly: doseedo_audio_to_session (a mix into a complete DAW session — stems on named tracks, tempo map, markers, MIDI, chord guide) and doseedo_cover_song (a song re-rendered stem by stem with instruments swapped or a genre changed).
What it is, and what it is not
Separation is a job the server runs on the audio, so the mix uploads — to a presigned URL, and only for the run. Uploads for processing accept lossy and lossless formats on every plan. What comes back is sample-accurate stems as WAV, the per-stem MIDI when asked, and the sub-stems of a drum or guitar split, each a download link valid 24 hours; doseedo_check_task re-issues fresh links after that. It is metered from the account's credit pool, priced in advance by doseedo_quote; nothing about the MCP changes the price.
The web page does the same job with a browser and a drag-drop; the MCP version is for the moment the stems are the middle of something — a transcription, a session, a cover, a batch of forty files — that an agent then carries on with.
Separate one from your agent
Connect the server, point it at a mix, and ask for stems — then ask it what to do with them.
The Doseedo MCP server →FAQ
Is there an MCP server for stem separation?
Yes. The Doseedo MCP server exposes doseedo_separate_stems: a mix into vocals, drums, bass, guitar, piano and other, or a wider orchestral or detected set, with optional per-stem MIDI, a drum split, a guitar split, and a Logic or Ableton session built from the result. It works from Claude, ChatGPT, Cursor, Gemini CLI, Codex and any MCP client.
Which stems does it produce?
By default six — vocals, drums, bass, guitar, piano, other. The orchestra and detect models extract a wider instrument set (strings, brass, reeds, named instruments), the drum split adds kick, snare, hi-hat, toms, ride, crash and percussion, and the guitar split deals the guitar into separate players.
Does it give me MIDI as well?
Yes, by default: each stem is transcribed to MIDI alongside the audio. stems_only turns that off for the fastest, cheapest run.
Can it put the stems straight into my DAW?
Yes — export builds a native Logic or Ableton session from the stems, and session_id registers them into an existing Doseedo session as child tracks. audio_to_session goes further: tempo map, markers, chord guide and per-stem MIDI in one build.
How long does it take and what does it cost?
A few minutes for a full song, less with stems_only; the agent waits in 50-second holds. It draws on the account's credit pool like the web tool; doseedo_quote prices the run first.
The Doseedo MCP server · one URL, every client
- Logic Prolive edits in the open project
- Ableton Livebuild, read, convert .als
- FL Studioread, convert .flp
- Pro Toolsmove .ptx between DAWs
- REAPERread, edit, convert .rpp
- Any AI agentwhat works today
- Claude & Claude Codephone, desktop, terminal
- ChatGPTas a custom MCP server
- Cursormcp.json, one entry
- Gemini CLIgemini mcp add
- OpenAI Codexcodex mcp add
- VS Code Copilotmcp.json, type http
- All 33 toolsthe reference
- Convert projectsten DAW formats, 75 directions
- Separate stemsvocals, drums, bass, more
- Audio to MIDItranscription, chords, key
- Generate musicsongs, parts, covers
- Bounce offlinethrough real plugins
- Swap a drum packaudio stays local