Skip to main content
Glama

Separate stems (Spleeter 2stems)

separate_stems

Split a public audio URL into vocals + accompaniment stems via Spleeter 2stems (async create + result poll). Pass audio_url (http(s), <= 2048 chars) to start, or job_id to poll. Waits up to wait_seconds (default 30, max 55). Returns vocals_url, accompaniment_url, and optional zip_url when done. Cost: 3 credits per call, charged by mcp-credit-gateway before forwarding. Compliance / SSRF: only http(s) URLs; Use only on material you own or are explicitly licensed/authorized to generate or remix. Do not generate or redistribute copyrighted music, voice likenesses, or trademarked audio without permission. Output URLs have a limited TTL and must not be abused for bulk scraping or redistribution. Calls are rate-limited/metered by mcp-credit-gateway and require a valid sk_live_ key. (仅处理自有或已获授权素材;禁止滥用生成/二创他人受版权保护的音乐或声音;输出有 TTL;调用限频。)

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "separate_stems"
  }
}

Input Schema

NameRequiredDescriptionDefault
job_idNoExisting Spleeter job id from a previous call. Polling never creates a new upstream job.
audio_urlNoPublic http(s) URL of the source audio (<= 2048 chars). Required to start a new job; omit when polling with `job_id` only. Use only tracks you own or are licensed to separate.
wait_secondsNoHow long to wait for a result, 0–55 seconds (default 30). On timeout the call returns a job_id to poll.
idempotency_keyNoOptional caller correlation key, echoed in the result. Billing is handled by mcp-credit-gateway.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations it discloses cost (3 credits per call, charged before forwarding), authentication (valid sk_live_ key), rate limiting/metering, output URL TTL, SSRF restriction to http(s), and the async lifecycle. These are concrete operational traits that the annotation set (readOnlyHint=false, openWorldHint=true, destructiveHint=false, idempotentHint=false) does not express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core operation and create/poll contract are front-loaded, which is good, but the compliance/SSRF block is long and then repeated near-verbatim in Chinese, duplicating content without adding information. Roughly a third of the text is boilerplate that could be compressed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an async, no-output-schema tool, the description supplies everything an agent needs: the asynchronous create/poll flow, the returned field names (`vocals_url`, `accompaniment_url`, optional `zip_url`), timeout behavior, cost, auth, and TTL caveats.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description still adds meaning by framing `audio_url` as the trigger that starts a new job versus `job_id` as a poll-only handle, and by tying `wait_seconds` (default 30, max 55) to the observable consequence of a timeout.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence names a specific verb and resource ('Split a public audio URL into vocals + accompaniment stems') plus the underlying model (Spleeter 2stems), and the rest of the sentence distinguishes its two modes (async create vs. result poll). An agent can immediately tell this apart from siblings such as transcribe_audio or generate_subtitles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit mode-selection guidance ('Pass `audio_url` to start, or `job_id` to poll') and states the timeout fallback ('On timeout the call returns a job_id to poll'), which is real when-to-use information. It does not name any sibling alternative or say when another tool would be preferable, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.