StemSplit Vocal Remover & Stem Separator
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| STEMSPLIT_API_KEY | Yes | API key, must start with sk_live_ | |
| STEMSPLIT_API_BASE_URL | No | Override for self-hosted or staging | https://stemsplit.io/api/v1 |
| STEMSPLIT_DEFAULT_OUTPUT_DIR | No | Base directory where stems are saved | ~/Downloads/stemsplit |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| separate_stemsA | Submit an audio file or direct audio URL to StemSplit for stem separation. By default (wait=true), this polls until completion and downloads all output stems to disk, returning local file paths the LLM can hand off to other tools. For YouTube URLs, use separate_youtube instead. |
| separate_youtubeA | Submit a YouTube URL to StemSplit. The server fetches the video, separates it into vocals and instrumental (MP3, BEST quality), and returns local file paths once complete. Use this for any youtube.com or youtu.be URL. |
| separate_soundcloudA | Submit a SoundCloud track URL to StemSplit. The server fetches the track, separates it into vocals and instrumental (MP3, BEST quality), and returns local file paths once complete. Use this for any soundcloud.com URL. |
| get_jobA | Fetch the latest state of a stem job, including fresh 1-hour presigned download URLs when COMPLETED. Use for jobs created via separate_stems. |
| list_jobsA | List the authenticated user's recent stem jobs, with optional status filter and pagination. Output URLs are NOT included here; use get_job for a specific job. |
| get_youtube_jobA | Fetch the latest state of a YouTube job, including fresh 1-hour presigned download URLs when COMPLETED. |
| list_youtube_jobsB | List the authenticated user's recent YouTube jobs, with optional status filter and pagination. |
| get_soundcloud_jobA | Fetch the latest state of a SoundCloud job, including fresh 1-hour presigned download URLs when COMPLETED. |
| list_soundcloud_jobsB | List the authenticated user's recent SoundCloud jobs, with optional status filter and pagination. |
| get_balanceA | Return the authenticated user's remaining StemSplit credit balance in seconds, minutes, and a human-readable string. |
| download_stemsA | Download the output stems of a COMPLETED job to a local directory. Presigned URLs are re-fetched fresh on every call so the 1-hour expiry is never a problem. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| karaoke | Take a source audio file or direct URL and produce a karaoke (instrumental-only) version. |
| isolate_dialogue | Extract just the vocals or dialogue from an audio source, removing music and background noise where the model can. |
| sampler_pack | Split an audio file into all six stems (vocals, drums, bass, other, piano, guitar) for sampling and remixing. |
| youtube_instrumental | Submit a YouTube URL and return a local path to the instrumental (no vocals). |
| soundcloud_instrumental | Submit a SoundCloud URL and return a local path to the instrumental (no vocals). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| balance | Live credit balance for the configured StemSplit API key. |
| recent-jobs | The 20 most recent stem jobs for the configured API key. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/StemSplit/stemsplit-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server